diff --git a/evolve/main.js b/evolve/main.js index 462baf3174..027942fc57 100644 --- a/evolve/main.js +++ b/evolve/main.js @@ -1,4 +1,4 @@ -(()=>{var Se=window.localStorage,e={seed:1,warseed:1,resource:{},evolution:{},tech:{},city:{},space:{},interstellar:{},portal:{},eden:{},tauceti:{},civic:{},race:{},genes:{},blood:{},stats:{start:Date.now(),days:0,tdays:0},event:{t:200,l:!1},m_event:{t:499,l:!1}},tt={},m={c:{},p:{}},Ot={},k={},U={},xt={},ke={},qa={},Pr=0,hu=0,fu=0,pi={t:0};function Jn(r){Pr=r}function Yn(r){hu=r}function Xn(r){fu=r}var kr={},Da={},ir={view:"all"},Ba=["all","progress","queue","building_queue","research_queue","combat","spy","events","major_events","minor_events","achievements","hell"];Math.rand=function(r,a){return Math.floor(Math.random()*(a-r))+r};e.seed=2;e.warseed=2;function G(r,a,i){a=a||1,r=r||0,e[i?"warseed":"seed"]=(e[i?"warseed":"seed"]*9301+49297)%233280;let s=e[i?"warseed":"seed"]/233280;return r+s*(a-r)}{let r=Se.getItem("evolved")||!1;if(r){let a=JSON.parse(LZString.decompressFromUTF16(r));a?e=a:vo()}else vo()}e.version||(e.version="0.2.0");be(e.version)<2060&&Object.keys(e.resource).forEach(function(r){e.resource[r].crates&&(e.resource[r].crates=Math.ceil(e.resource[r].crates/5)),e.resource[r].containers&&(e.resource[r].containers=Math.ceil(e.resource[r].containers/5))});if(be(e.version)<2062&&e.civic.taxes!==void 0)switch(Number(e.civic.taxes.tax_rate)){case 0:e.civic.taxes.tax_rate=0;break;case 1:e.civic.taxes.tax_rate=10;break;case 2:e.civic.taxes.tax_rate=20;break;case 3:e.civic.taxes.tax_rate=30;break;case 4:e.civic.taxes.tax_rate=40;break;case 5:e.civic.taxes.tax_rate=50;break}be(e.version)===2062&&e.civic.taxes!==void 0&&e.civic.taxes.tax_rate==2&&(e.civic.taxes.tax_rate=20);be(e.version)<2065&&e.race!==void 0&&e.race.species==="sporgar"&&(delete e.race.crafty,delete e.race.hydrophilic,e.race.infectious=1,e.race.parasite=1,!e.tech.military&&e.tech.primitive&&e.tech.primitive>=3&&(e.civic.garrison.display=!0,e.settings.showCivic=!0,e.city.garrison={count:0}));be(e.version)<3002&&e.space&&(e.tech.space&&e.tech.space>=4&&(e.space.living_quarters||(e.space.living_quarters={count:0,on:0}),e.space.garage||(e.space.garage={count:0}),e.space.red_mine||(e.space.red_mine={count:0,on:0}),e.space.fabrication||(e.space.fabrication={count:0,on:0}),e.space.laboratory||(e.space.laboratory={count:0,on:0})),e.tech.space&&e.tech.space>=3&&(e.space.iridium_mine||(e.space.iridium_mine={count:0,on:0}),e.space.helium_mine||(e.space.helium_mine={count:0,on:0})),e.tech.hell&&(e.space.geothermal||(e.space.geothermal={count:0,on:0})));be(e.version)<3004&&e.settings&&e.settings.space&&e.settings.space.belt&&(e.space.space_station={count:0,on:0,support:0,s_max:0});be(e.version)<4001&&e.city&&e.city.factory&&!e.city.factory.Nano&&(e.city.factory.Nano=0);be(e.version)<4003&&e.stats.achieve&&Object.keys(e.stats.achieve).forEach(function(r){e.stats.achieve[r]=1});be(e.version)<4010&&e.stats.achieve&&e.stats.achieve.doomed&&(e.stats.portals=1);be(e.version)<4028&&e.stats.achieve&&e.stats.achieve.genus_demonic&&(e.stats.achieve.biome_hellscape=e.stats.achieve.genus_demonic);if(be(e.version)<4029&&e.race.mutation&&e.race.mutation>0){e.resource.Genes={name:"Genes",display:!0,value:0,amount:0,crates:0,diff:0,delta:0,max:-2,rate:0};for(let r=0;r=3&&(e.tech.wind_plant=1,e.tech.hunting=2);let r=["Human","Humano","Elf","Elfo","Orc","Cath","Wolven","Centaur","Centauro","Kobold","Goblin","Gnome","Ogre","Ogro","Cyclops","Ciclope","Troll","Tortoisan","Gecko","Slitheryn","Arraak","Pterodacti","Dracnid","Ent","Cacti","Sporgar","Shroomi","Mantis","Scorpid","Antid","Sharkin","Octigoran","Balorg","Imp"];for(let a=0;a0){let r=1;e.race.no_trade&&r++,e.race.no_craft&&r++,e.race.no_crispr&&r++,e.race.weak_mastery&&r++,e.stats.achieve.cross={l:r,a:r}}be(e.version)<7e3&&(e.civic.govern||(e.civic.govern={type:"oligarchy",rev:0,fr:0}));if(be(e.version)<7004&&e.queue&&e.queue.queue)for(let r=0;r"u"&&(e.civic.foreign.gov0.anx=!1),typeof e.civic.foreign.gov1.anx>"u"&&(e.civic.foreign.gov1.anx=!1),typeof e.civic.foreign.gov2.anx>"u"&&(e.civic.foreign.gov2.anx=!1),typeof e.civic.foreign.gov0.buy>"u"&&(e.civic.foreign.gov0.buy=!1),typeof e.civic.foreign.gov1.buy>"u"&&(e.civic.foreign.gov1.buy=!1),typeof e.civic.foreign.gov2.buy>"u"&&(e.civic.foreign.gov2.buy=!1));be(e.version)<8e3&&e.settings&&e.settings.hasOwnProperty("tLabels")&&delete e.settings.tLabels;be(e.version)<8003&&e.stats.harmony&&e.stats.harmony>0&&(e.stats.harmony=parseFloat(e.stats.harmony.toFixed(2)),e.race.Harmony.count=parseFloat(e.race.Harmony.count.toFixed(2)));be(e.version)<8017&&e.city.garrison&&(e.city.garrison.on=e.city.garrison.count);be(e.version)<9e3&&e.settings&&e.settings.showCity&&(e.settings.showCiv=e.settings.showCity);be(e.version)<9005&&e.race.hasOwnProperty("terrifying")&&e.tech.hasOwnProperty("gambling")&&!e.space.hasOwnProperty("spc_casino")&&(e.space.spc_casino={count:0,on:0});be(e.version)<9009&&e.genes.hasOwnProperty("ancients")&&e.genes.ancients>=3&&(e.genes.ancients===4?e.genes.ancients=5:e.race.Plasmid.count+=300);be(e.version)<9010&&(["species","gods","old_gods"].forEach(r=>{e.race[r]==="orge"&&(e.race[r]="ogre")}),e.stats.hasOwnProperty("achieve")&&e.stats.achieve.hasOwnProperty("extinct_orge")&&(e.stats.achieve.extinct_ogre=e.stats.achieve.extinct_orge,delete e.stats.achieve.extinct_orge),e.resource.hasOwnProperty("orge")&&(e.resource.ogre=e.resource.orge,delete e.resource.orge),e.city&&e.city.factory&&!e.city.factory.Furs&&(e.city.factory.Furs=0));be(e.version)<9014&&(["seraph","unicorn","custom"].forEach(r=>{e.race.species===r&&(r==="custom"&&e.hasOwnProperty("custom")&&e.custom.race0.genus==="angelic"||r!=="custom")&&(e.race.holy=1)}),e.hasOwnProperty("arpa")&&e.arpa.hasOwnProperty("sequence")&&(e.arpa.sequence.labs=0));be(e.version)<1e5&&(delete e.city.lumber,delete e.city.stone,e.stats.dark=0,e.race.Dark&&(e.stats.dark=e.race.Dark.count),e.city.hasOwnProperty("smelter")&&(e.city.smelter.hasOwnProperty("Star")||(e.city.smelter.Star=0),e.city.smelter.hasOwnProperty("StarCap")||(e.city.smelter.StarCap=0),e.city.smelter.hasOwnProperty("Inferno")||(e.city.smelter.Inferno=0)),e.hasOwnProperty("warseed")||(e.warseed=e.seed+1,Math.war=e.hasOwnProperty("warseed")?e.warseed:e.seed),e.portal.hasOwnProperty("bireme")&&(e.portal.bireme.crew=0,e.portal.bireme.mil=0),e.portal.hasOwnProperty("transport")&&(e.portal.transport.crew=0,e.portal.transport.mil=0,e.portal.transport.cargo||(e.portal.transport.cargo={used:0,max:0,Crystal:0,Lumber:0,Stone:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Deuterium:0,Neutronium:0,Adamantite:0,Infernite:0,Elerium:0,Nano_Tube:0,Graphene:0,Stanene:0,Bolognium:0,Vitreloy:0,Orichalcum:0,Plywood:0,Brick:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0})),e.hasOwnProperty("settings")&&e.settings.portal&&e.settings.portal.spire&&!e.portal.hasOwnProperty("purifier")&&(e.settings.portal.spire=!1),e.portal.hasOwnProperty("mechbay")&&!Array.isArray(e.portal.mechbay.mechs)&&(e.portal.mechbay.mechs=[]),e.portal.transport&&e.portal.transport.count>=1&&!e.tech.hell_spire&&(e.tech.hell_spire=1,e.settings.portal.spire=!0,e.settings.showCargo=!0,e.portal.purifier={count:0,on:0,support:0,s_max:0,supply:0,sup_max:100,diff:0},e.portal.port={count:0,on:0}),e.tech.hasOwnProperty("waygate")&&!e.portal.hasOwnProperty("waygate")&&delete e.tech.waygate,e.hasOwnProperty("blood")||(e.blood={}));be(e.version)<100013&&e.hasOwnProperty("settings")&&e.settings.hasOwnProperty("showPowerGrid")&&e.hasOwnProperty("race")&&e.race.infiltrator&&e.hasOwnProperty("tech")&&e.tech.hasOwnProperty("high_tech")&&e.tech.high_tech>=2&&(e.settings.showPowerGrid=!0);if(be(e.version)<100014&&(e.race.Dark&&(e.stats.dark=e.race.Dark.count),e.race.casting&&e.race.evil&&(e.race.casting.total-=e.race.casting.lumberjack,e.race.casting.lumberjack=0),e.queue&&e.queue.queue))for(let r=0;r=2,events:!0,major_events:!0,minor_events:!0,achievements:e.stats.achieve&&Object.keys(e.stats.achieve).length>0||e.stats.feat&&Object.keys(e.stats.feat).length>0,hell:e.settings.showPortal||e.stats.blackhole||e.stats.ascend||e.stats.descend}),e.race.hasOwnProperty("inflation")&&["supercollider","stock_exchange","launch_facility","monuments","railway","roid_eject","nexus","syphon"].forEach(function(r){e.tech.hasOwnProperty(r)&&(e.race.inflation+=e.tech[r]*10)}));be(e.version)<101012&&e.civic.garrison&&(e.civic.garrison.rate=0);if(be(e.version)<101014&&(e.hasOwnProperty("settings")&&e.settings.hasOwnProperty("msgFilters")&&Object.keys(e.settings.msgFilters).forEach(function(r){e.settings.msgFilters[r]={unlocked:!!e.settings.msgFilters[r],vis:!!e.settings.msgFilters[r],max:60,save:3}}),e.hasOwnProperty("lastMsg")&&e.lastMsg)){let r={};Ba.forEach(function(a){r[a]=[]}),e.lastMsg.forEach(function(a){a.t?a.t.forEach(function(i){r[i].push({m:a.m,c:a.c})}):r.all.push({m:a.m,c:a.c})}),e.lastMsg=r}be(e.version)<=101014&&!e.revision&&e.race.cataclysm&&e.race.universe&&e.race.universe==="magic"&&e.tech.magic&&e.tech.magic>=2&&(e.space.pylon={count:0});be(e.version)<101015&&e.hasOwnProperty("special")&&e.special.hasOwnProperty("trick")&&(e.special.trick[2020]=JSON.parse(JSON.stringify(e.special.trick)),delete e.special.trick.trick1,delete e.special.trick.trick2,delete e.special.trick.trick3,delete e.special.trick.trick4,delete e.special.trick.trick5,delete e.special.trick.trick6,delete e.special.trick.trick7,delete e.special.trick.trick8,delete e.special.trick.trick9,delete e.special.trick.trick10,delete e.special.trick.trick11,delete e.special.trick.trick12);be(e.version)<102e3&&(e.hasOwnProperty("portal")&&e.portal.hasOwnProperty("fortress")&&!e.portal.fortress.hasOwnProperty("nocrew")&&(e.portal.fortress.nocrew=!1),e.city.hasOwnProperty("smelter")&&!e.city.smelter.hasOwnProperty("Iridium")&&(e.city.smelter.Iridium=0),e.hasOwnProperty("portal")&&e.portal.hasOwnProperty("mechbay")&&!e.portal.mechbay.hasOwnProperty("active")&&(e.portal.mechbay.active=0,e.portal.mechbay.scouts=0));be(e.version)<102001&&(e.race.blood_thirst&&e.race.blood_thirst>3&&(e.race.blood_thirst=1),e.race.rainbow&&e.race.rainbow>3&&(e.race.rainbow=1));be(e.version)<102005&&!e.stats.cores&&e.race.hasOwnProperty("AICore")&&(e.stats.cores=e.race.AICore.count);be(e.version)<102006&&e.race.artifical&&(e.race.calm&&(e.resource.hasOwnProperty("Zen")&&(e.resource.Zen.display=!0),e.city.meditation={count:0}),e.race.cannibalize&&(e.city.s_alter={count:0,rage:0,mind:0,regen:0,mine:0,harvest:0}),e.race.magnificent&&(e.city.shrine={count:0,morale:0,metal:0,know:0,tax:0}));be(e.version)<102007&&e.stats.hasOwnProperty("achieve")&&delete e.stats.achieve.extinct_sludge;be(e.version)<102012&&(e.city.hasOwnProperty("ptrait")&&(e.city.ptrait=e.city.ptrait==="none"?[]:[e.city.ptrait]),e.tech.hell_ruins&&e.tech.hell_ruins>=3&&(e.tech.hell_vault=1));if(be(e.version)<102015){if(e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("tasks"))for(let r in e.race.governor.tasks)e.race.governor.tasks[r]==="asssemble"&&(e.race.governor.tasks[r]="assemble");e.settings&&e.settings.hasOwnProperty("restoreCheck")&&delete e.settings.restoreCheck}be(e.version)<102017&&(e.portal.hasOwnProperty("fortress")&&(e.portal.observe={settings:{expanded:!1,average:!1,hyperSlow:!1,display:"game_days",dropKills:!0,dropGems:!0},stats:{total:{start:{year:e.city.calendar.year,day:e.city.calendar.day},days:0,wounded:0,died:0,revived:0,surveyors:0,sieges:0,kills:{drones:0,patrols:0,sieges:0,guns:0,soul_forge:0,turrets:0},gems:{patrols:0,guns:0,soul_forge:0,crafted:0,turrets:0}},period:{start:{year:e.city.calendar.year,day:e.city.calendar.day},days:0,wounded:0,died:0,revived:0,surveyors:0,sieges:0,kills:{drones:0,patrols:0,sieges:0,guns:0,soul_forge:0,turrets:0},gems:{patrols:0,guns:0,soul_forge:0,crafted:0,turrets:0}}},graphID:0,graphs:{}}),e.tech.hasOwnProperty("genetics")&&e.tech.genetics>1&&e.hasOwnProperty("arpa")&&(e.arpa.hasOwnProperty("sequence")||(e.arpa.sequence={max:5e4,progress:0,time:5e4,on:!1}),e.arpa.sequence.boost||(e.arpa.sequence.boost=!1),e.arpa.sequence.auto||(e.arpa.sequence.auto=!1),e.arpa.sequence.labs||(e.arpa.sequence.labs=0)));if(be(e.version)<102021&&e.hasOwnProperty("custom")&&!e.custom.hasOwnProperty("race0")){let r=e.race.hasOwnProperty("species")?e.race.species:"protoplasm";e.galaxy.hasOwnProperty("alien1")&&e.galaxy.alien1.id==="custom"&&(e.galaxy.alien1.id=r==="human"?"elven":"human"),e.galaxy.hasOwnProperty("alien2")&&e.galaxy.alien2.id==="custom"&&(e.galaxy.alien2.id=r==="orc"||e.galaxy.alien1.id==="orc"?"cath":"orc")}be(e.version)<103e3&&(e.hasOwnProperty("tauceti")||(e.tauceti={}),e.race.species==="protoplasm"&&(e.evolution.hasOwnProperty("sexual_reproduction")&&(e.tech.evo=e.evolution.sexual_reproduction.count>0?2:1,delete e.evolution.sexual_reproduction),[["phagocytosis",{evo:3,evo_animal:1}],["chloroplasts",{evo:3,evo_plant:1}],["chitin",{evo:3,evo_fungi:1}],["exterminate",{evo:7,evo_synthetic:2}],["multicellular",{evo:4}],["spores",{evo:5}],["poikilohydric",{evo:5}],["bilateral_symmetry",{evo:5,evo_insectoid:1,evo_mammals:1,evo_eggshell:1,evo_aquatic:1,evo_fey:1,evo_sand:1,evo_heat:1,evo_polar:1}],["bryophyte",{evo:7}],["athropods",{evo:7,evo_insectoid:2}],["mammals",{evo:6,evo_humanoid:1,evo_giant:1,evo_small:1,evo_animalism:1,evo_demonic:1,evo_angelic:1}],["humanoid",{evo:7,evo_humanoid:2}],["gigantism",{evo:7,evo_giant:2}],["dwarfism",{evo:7,evo_small:2}],["animalism",{evo:7,evo_animalism:2}],["carnivore",{evo_animalism:3,evo_carnivore:2}],["herbivore",{evo_animalism:3,evo_herbivore:2}],["omnivore",{evo_animalism:3,evo_omnivore:2}],["celestial",{evo:7,evo_angelic:2}],["demonic",{evo:7,evo_demonic:2}],["aquatic",{evo:7,evo_aquatic:2}],["fey",{evo:7,evo_fey:2}],["heat",{evo:7,evo_heat:2}],["polar",{evo:7,evo_polar:2}],["sand",{evo:7,evo_sand:2}],["eggshell",{evo:6,evo_eggshell:2}],["endothermic",{evo:7,evo_avian:2}],["ectothermic",{evo:7,evo_reptilian:2}],["bunker",{evo_challenge:1}]].forEach(function(r){if(e.evolution.hasOwnProperty(r[0])&&e.evolution[r[0]].count>0)for(let[a,i]of Object.entries(r[1]))e.tech[a]=i;delete e.evolution[r[0]]}),e.evolution.mloaded=1,e.evolution.gmloaded=1));be(e.version)<103001&&(e.hasOwnProperty("prestige")||(e.prestige={}),e.race.Plasmid&&e.race.Plasmid.hasOwnProperty("anti")&&(e.prestige.AntiPlasmid={count:e.race.Plasmid.anti}),["Plasmid","Phage","AICore","Dark","Harmony"].forEach(function(r){e.race.hasOwnProperty(r)&&(e.prestige[r]={count:e.race[r].count},delete e.race[r])}),["Artifact","Blood_Stone"].forEach(function(r){e.resource.hasOwnProperty(r)&&(e.prestige[r]={count:e.resource[r].amount},delete e.resource[r])}),!e.stats.hasOwnProperty("synth")&&e.race.hasOwnProperty("srace")&&(e.stats.synth={},e.stats.synth[e.race.srace]=!0),e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("config")&&e.race.governor.config.hasOwnProperty("trash")&&["Infernite","Elerium","Copper","Iron"].forEach(function(r){e.race.governor.config.trash.hasOwnProperty(r)&&typeof e.race.governor.config.trash[r]=="number"&&(e.race.governor.config.trash[r]={v:e.race.governor.config.trash[r],s:!0})}));be(e.version)<103002&&e.portal.hasOwnProperty("observe")&&e.portal.observe.hasOwnProperty("stats")&&(e.portal.observe.stats.period.gems.surveyors=0,e.portal.observe.stats.total.gems.surveyors=0);be(e.version)<103011&&e.city.hasOwnProperty("slave_pen")&&e.city.slave_pen.hasOwnProperty("slaves")&&(e.resource.Slave.amount=e.city.slave_pen.slaves,delete e.city.slave_pen.slaves);be(e.version)<103014&&(e.race.cataclysm&&!e.race.start_cataclysm&&(e.civic.craftsman.display=!0),e.race.lone_survivor&&(e.tauceti.tau_factory&&e.tauceti.tau_factory.count>0||e.tauceti.womling_station&&e.tauceti.womling_station.count>0)&&(e.civic.craftsman.display=!0));be(e.version)<=103015&&e.portal.hasOwnProperty("harbour")&&(e.portal.harbor=e.portal.harbour,delete e.portal.harbour);be(e.version)<=103017&&e.race.broody&&(e.race.gloomy=e.race.broody,delete e.race.broody);be(e.version)<=104e3&&e.city.hasOwnProperty("shrine")&&!e.city.shrine.hasOwnProperty("cycle")&&(e.city.shrine.cycle=0);e.version="1.4.0";delete e.revision;delete e.beta;e.hasOwnProperty("prestige")||(e.prestige={});["Plasmid","AntiPlasmid","Phage","Dark","Harmony","AICore","Artifact","Blood_Stone","Supercoiled"].forEach(function(r){e.prestige.hasOwnProperty(r)||(e.prestige[r]={count:0})});e.hasOwnProperty("power")||(e.power=[]);e.hasOwnProperty("support")||(e.support={});["moon","red","belt","alpha","nebula","gateway","alien2","lake","spire","titan","enceladus","eris","tau_home","tau_red","tau_roid","asphodel"].forEach(function(r){e.support.hasOwnProperty(r)||(e.support[r]=[])});e.civic.cement_worker&&e.civic.cement_worker.impact===.25&&(e.civic.cement_worker.impact=.4);e.settings||(e.settings={showEvolve:!0,showAchieve:!1,animated:!0,disableReset:!1,font:"standard",q_merge:"merge_nearby",cLabels:!0,theme:"gruvboxDark",locale:"en-US",icon:"star"});e.settings.space||(e.settings.space={});e.settings.space.hasOwnProperty("home")||(e.settings.space.home=!0);yo(!1);e.settings.icon||(e.settings.icon="star");e.settings.showResources||(e.settings.showResources=e.settings.showMarket);e.settings.showStorage||(e.city.warehouse||e.city.storage_yard?e.settings.showStorage=!0:e.settings.showStorage=!1);e.settings.hasOwnProperty("touch")||(e.settings.touch=!1);e.settings.hasOwnProperty("lowPowerBalance")||(e.settings.lowPowerBalance=!1);e.queue||(e.queue={display:!1,queue:[]});e.r_queue||(e.r_queue={display:!1,queue:[]});e.queue.rename||(e.queue.rename=!1);e.queue.max||(e.queue.max=0);e.r_queue.max||(e.r_queue.max=0);e.queue.pause||(e.queue.pause=!1);e.r_queue.pause||(e.r_queue.pause=!1);e.lastMsg||(e.lastMsg={});e.settings.msgFilters||(e.settings.msgFilters={});["all","progress","events","major_events","minor_events"].forEach(function(r){e.settings.msgFilters[r]||(e.settings.msgFilters[r]={unlocked:!0,vis:!0,max:60,save:3})});Ba.forEach(function(r){e.lastMsg[r]||(e.lastMsg[r]=[]),e.settings.msgFilters[r]||(e.settings.msgFilters[r]={unlocked:!1,vis:!1,max:60,save:3})});e.settings.msgQueueHeight||(e.settings.msgQueueHeight=$("#msgQueue").outerHeight(),e.settings.buildQueueHeight=$("#buildQueue").outerHeight());e.space||(e.space={});e.starDock||(e.starDock={});e.interstellar||(e.interstellar={});e.galaxy||(e.galaxy={});e.eden||(e.eden={});e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Bolognium&&(e.interstellar.mass_ejector.Bolognium=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Vitreloy&&(e.interstellar.mass_ejector.Vitreloy=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Orichalcum&&(e.interstellar.mass_ejector.Orichalcum=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Nanoweave&&(e.interstellar.mass_ejector.Nanoweave=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Scarletite&&(e.interstellar.mass_ejector.Scarletite=0);e.hasOwnProperty("pillars")||(e.pillars={});e.settings.space.alpha||(e.settings.space.alpha=!1,e.settings.space.proxima=!1,e.settings.space.nebula=!1,e.settings.space.neutron=!1,e.settings.space.blackhole=!1);e.settings.showAchieve||(e.settings.showAchieve=!1);e.settings.locale||(e.settings.locale="en-US");typeof e.settings.pause>"u"&&(e.settings.pause=!1);typeof e.settings.mKeys>"u"&&(e.settings.mKeys=!0);typeof e.settings.keyMap>"u"&&(e.settings.keyMap={x10:"Control",x25:"Shift",x100:"Alt",q:"q"});typeof e.settings.keyMap.showCiv>"u"&&(e.settings.keyMap.showCiv="1",e.settings.keyMap.showCivic="2",e.settings.keyMap.showResearch="3",e.settings.keyMap.showResources="4",e.settings.keyMap.showGenetics="5",e.settings.keyMap.showAchieve="6",e.settings.keyMap.settings="7");delete e.settings.keyMap.d;typeof e.settings.qAny>"u"&&(e.settings.qAny=!1);typeof e.settings.sPackOn>"u"&&(e.settings.sPackOn=!0);typeof e.settings.qAny_res>"u"&&(e.settings.qAny_res=!1);typeof e.settings.sPackMsg>"u"&&(e.settings.sPackMsg=!1);typeof e.settings.expose>"u"&&(e.settings.expose=!1);typeof e.settings.alwaysPower>"u"&&(e.settings.alwaysPower=!1);typeof e.settings.tabLoad>"u"&&(e.settings.tabLoad=!1);typeof e.settings.boring>"u"&&(e.settings.boring=!1);e.settings.hasOwnProperty("mtorder")||(e.settings.mtorder=[]);function ec(){["reset","plasmid","antiplasmid","universes","phage","starved","tstarved","died","tdied","sac","tsac","know","tknow","portals","dkills","attacks","cfood","tfood","cstone","tstone","clumber","tlumber","mad","bioseed","cataclysm","blackhole","ascend","descend","apotheosis","terraform","aiappoc","matrix","retire","eden","geck","dark","harmony","blood","cores","artifact","supercoiled","cattle","tcattle","murders","tmurders","psykill","tpsykill","pdebt","uDead"].forEach(function(r){e.stats.hasOwnProperty(r)||(e.stats[r]=0)}),e.stats.achieve||(e.stats.achieve={}),e.stats.feat||(e.stats.feat={}),e.stats.hasOwnProperty("womling")||(e.stats.womling={god:{l:0},lord:{l:0},friend:{l:0}}),e.stats.spire||(e.stats.spire={}),e.stats.synth||(e.stats.synth={}),e.stats.hasOwnProperty("banana")||(e.stats.banana={b1:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b2:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b3:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b4:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b5:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1}}),e.stats.hasOwnProperty("endless_hunger")||(e.stats.endless_hunger={b1:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b2:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b3:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b4:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b5:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1}}),e.stats.hasOwnProperty("death_tour")||(e.stats.death_tour={ct:{l:0,h:0,a:0,e:0,m:0,mg:0},bh:{l:0,h:0,a:0,e:0,m:0,mg:0},di:{l:0,h:0,a:0,e:0,m:0,mg:0},ai:{l:0,h:0,a:0,e:0,m:0,mg:0},vc:{l:0,h:0,a:0,e:0,m:0,mg:0},md:{l:0,h:0,a:0,e:0,m:0,mg:0}}),e.stats.death_tour&&!e.stats.death_tour.hasOwnProperty("md")&&(e.stats.death_tour.md={l:0,h:0,a:0,e:0,m:0,mg:0})}ec();e.race.seeded||(e.race.seeded=!1);e.race.deterioration||(e.race.deterioration=0);e.race.gene_fortify||(e.race.gene_fortify=0);e.race.old_gods||(e.race.old_gods="none");e.race.universe||(e.race.universe="standard");e.genes.minor||(e.genes.minor={});e.race.minor||(e.race.minor={});e.hasOwnProperty("govern")||(e.govern={governor:{},candidate:[],policy:{}});e.settings.hasOwnProperty("showMil")||(e.settings.showMil=!0);e.settings.hasOwnProperty("showPowerGrid")||(e.settings.showPowerGrid=!!(e.hasOwnProperty("tech")&&e.tech.hasOwnProperty("high_tech")&&e.tech.high_tech>=2));e.settings.affix||(e.settings.affix="si");e.special||(e.special={});e.special.gift||(e.special.gift={});e.special.hasOwnProperty("egg")||(e.special.egg={});e.special.hasOwnProperty("trick")||(e.special.trick={trick1:!1,trick2:!1,trick3:!1,trick4:!1,trick5:!1,trick6:!1,trick7:!1,trick8:!1,trick9:!1,trick10:!1,trick11:!1,trick12:!1});e.civic.govern||(e.civic.govern={type:"oligarchy",rev:2e3,fr:0});e.civic.govern.fr=0;e.hasOwnProperty("custom")||(e.custom={});e.custom.hasOwnProperty("planet")&&e.custom.planet.hasOwnProperty("biome")&&delete e.custom.planet;e.city.hasOwnProperty("smelter")&&!e.city.smelter.hasOwnProperty("cap")&&(e.city.smelter.cap=0);e.civic.homeless||(e.civic.homeless=0);e.civic.foreign||(e.civic.foreign={gov0:{unrest:0,hstl:100,mil:100,eco:75,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov1:{unrest:0,hstl:0,mil:150,eco:100,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov2:{unrest:0,hstl:50,mil:250,eco:150,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1}});typeof e.civic.foreign.gov0.trn>"u"&&(e.civic.foreign.gov0.trn=0,e.civic.foreign.gov1.trn=0,e.civic.foreign.gov2.trn=0,e.civic.foreign.gov0.sab=0,e.civic.foreign.gov1.sab=0,e.civic.foreign.gov2.sab=0,e.civic.foreign.gov0.act="none",e.civic.foreign.gov1.act="none",e.civic.foreign.gov2.act="none");typeof e.civic.foreign.gov0.name<"u"&&e.civic.foreign.gov0.name.s1==="evo_organism_title"&&(e.civic.foreign.gov0.name.s1="Northern");typeof e.civic.foreign.gov1.name<"u"&&e.civic.foreign.gov1.name.s1==="evo_organism_title"&&(e.civic.foreign.gov1.name.s1="Southern");typeof e.civic.foreign.gov2.name<"u"&&e.civic.foreign.gov2.name.s1==="evo_organism_title"&&(e.civic.foreign.gov2.name.s1="Divine");if(!e.race.evil&&e.race.immoral&&e.race!==void 0&&e.race.species!=="wendigo")delete e.race.immoral;else if(e.race!==void 0&&e.race.species==="wendigo"){let r=new Date;e.settings.hasOwnProperty("boring")&&!e.settings.boring&&r.getMonth()===11&&r.getDate()>=17&&(e.race.immoral=3)}if(e.hasOwnProperty("special")&&e.special.hasOwnProperty("gift")){let r=new Date(e.stats.start),a=new Date;Object.keys(e.special.gift).forEach(function(i){let s=Number(i.substring(1,5));(s=1?e.civic.d_job="farmer":e.civic.d_job="unemployed");e.settings.animated=!0;e.settings.disableReset=!1;e.arpa&&e.arpa.launch_facility&&e.arpa.launch_facility.rank>0&&!e.tech.space&&(e.tech.space=1);function vo(){e.race={species:"protoplasm",gods:"none",old_gods:"none",seeded:!1},e.seed=Math.rand(0,1e4),e.warseed=Math.rand(0,1e4),e.new=!0}var xr={x10:!1,x25:!1,x100:!1,q:!1};function me(){let r=1;return e.settings.mKeys&&(xr.x10&&(r*=10),xr.x25&&(r*=25),xr.x100&&(r*=100)),r}function be(r){let a=r.split(".",3);return a[0]*=1e5,a[1]*=1e3,Number(a[0])+Number(a[1])+Number(a[2])}function Vi(){if($(window).width()>=1400&&$("#msgQueue:not(.right)")){let r=$("#buildQueue").detach();r.addClass("right"),r.removeClass("has-text-info");let a=$("#msgQueue").detach();a.addClass("right"),a.removeClass("has-text-info"),a.css("resize","none"),$("#queueColumn").addClass("is-one-quarter"),$("#queueColumn").append(r),$("#queueColumn").append(a),$("#mainColumn").removeClass("is-three-quarters"),$("#mainColumn").addClass("is-half")}else if($(window).width()<1400&&$("#msgQueue").hasClass("right")){let r=$("#buildQueue").detach();r.removeClass("right"),r.addClass("has-text-info");let a=$("#msgQueue").detach();a.removeClass("right"),a.addClass("has-text-info"),a.css("resize","vertical"),$("#queueColumn").removeClass("is-one-quarter"),$("#sideQueue").append(r),$("#sideQueue").append(a),$("#mainColumn").removeClass("is-half"),$("#mainColumn").addClass("is-three-quarters")}}var mu={si:["K","M","G","T","P","E","Z","Y"],sln:["K","M","B","t","q","Q","s","S"]},gu=new Intl.NumberFormat(void 0,{maximumFractionDigits:2,maximumSignificantDigits:3,roundingMode:"trunc",roundingPriority:"lessPrecision"}),vu=new Intl.NumberFormat(void 0,{maximumFractionDigits:2,maximumSignificantDigits:4,roundingMode:"trunc",roundingPriority:"lessPrecision"}),yu=1+16*Number.EPSILON;function $e(r,a=1,i=!1,s=!1){let n=Math.abs(r),c=Math.floor(Math.log10(n));if(n*=yu,r=r<0?-n:r>0?n:r,s)return r.toLocaleString(void 0,{maximumFractionDigits:a,roundingMode:"trunc"});if(c<4||i){let l=Math.max(c+1,a+1,5);return r.toLocaleString(void 0,{maximumSignificantDigits:l,maximumFractionDigits:a,roundingMode:"trunc",roundingPriority:"lessPrecision"})}else{let l=c%3,o=c===4,d=e.settings.affix!=="eng"&&c>=27;e.settings.affix!=="sci"&&!d&&(c-=l);let y;return e.settings.affix==="sci"||e.settings.affix==="eng"||d?y="e"+c:y=mu[e.settings.affix][c/3-1],r/=10**c,o?gu.format(r)+y:vu.format(r)+y}}$(window).resize(function(){Vi()});function qs(r,a){var i=document.createElement("div"),s="speak-"+Date.now();i.setAttribute("id",s),i.setAttribute("aria-live",a||"polite"),i.classList.add("sr-only"),document.body.appendChild(i),window.setTimeout(function(){document.getElementById(s).innerHTML=r},100),window.setTimeout(function(){document.body.removeChild(document.getElementById(s))},1e3)}window.soft_reset=function(a){try{a=a&&a==="replicator"?"replicator":"soft",gtag("event","reset",{end:a})}catch{}a||Rr();let i=e.race.hasOwnProperty("srace")?e.race.srace:!1,s=e.race.hasOwnProperty("geck")?e.race.geck:0;e.race.hasOwnProperty("gecked")&&(s+=e.race.gecked,e.stats.geck-=e.race.gecked);let n={species:"protoplasm",universe:e.race.universe,seeded:e.race.seeded,probes:e.race.probes,seed:e.race.seed,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1,rejuvenated:e.race.hasOwnProperty("rejuvenated")?e.race.rejuvenated:!1};s>0&&(n.geck=s),i&&(n.srace=i),e.race.bigbang&&(n.bigbang=!0),e.race.gods&&(n.gods=e.race.gods),e.race.old_gods&&(n.old_gods=e.race.old_gods),e.race.rapid_mutation&&e.race.rapid_mutation>0&&(n.rapid_mutation=e.race.rapid_mutation),e.race.ancient_ruins&&e.race.ancient_ruins>0&&(n.ancient_ruins=e.race.ancient_ruins),e.race.bigbang&&(n.universe="bigbang"),e.race.hasOwnProperty("corruption")&&(n.corruption=e.race.corruption),e.race=n;let c=e.city.calendar.orbit,l=e.city.biome,o=e.city.ptrait,d=e.city.geology;e.city={calendar:{day:0,year:0,weather:2,temp:1,moon:0,wind:0,orbit:c},biome:l,ptrait:o,geology:d},e.tech.theology&&e.tech.theology>=1?e.tech={theology:1}:e.tech={},tc(),e.new=!0,e.seed=Math.rand(0,1e4),e.warseed=Math.rand(0,1e4),e.stats.current=Date.now(),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()};var Ce={w:!1,s:!1,mt:250},Ya={};function Rr(){Ba.forEach(function(r){r!=="achievements"&&(e.lastMsg[r]=[])})}function yo(r){let a={base:["showCiv","showCity","showIndustry","showPowerGrid","showMechLab","showShipYard","showResearch","showCivic","showMil","showResources","showMarket","showStorage","showGenetics","showSpace","showDeep","showGalactic","showPortal","showEden","showOuter","showTau","showEjector","showCargo","showAlchemy","showGovernor","arpa","showPsychic","showWish"],space:["moon","red","hell","sun","gas","gas_moon","belt","dwarf","alpha","proxima","nebula","neutron","blackhole","sirius","stargate","gateway","gorddon","alien1","alien2","chthonian","titan","enceladus","triton","eris","kuiper"],portal:["fortress","badlands","pit","ruins","gate","lake","spire"],eden:["asphodel","elysium","isle","palace"],tau:["home","red","roid","gas","gas2","star"]};Object.keys(a).forEach(function(i){i==="base"?a[i].forEach(function(s){(!e.settings.hasOwnProperty(s)||r)&&(e.settings[s]=!1)}):(e.settings.hasOwnProperty(i)||(e.settings[i]={}),a[i].forEach(function(s){(!e.settings[i].hasOwnProperty(s)||r)&&(e.settings[i][s]=!1)}))}),["civTabs","govTabs","govTabs2","hellTabs","resTabs","spaceTabs","marketTabs","statsTabs"].forEach(function(i){(!e.settings.hasOwnProperty(i)||r)&&(e.settings[i]=0)})}function tc(){Ce.w&&Ce.w.terminate(),e.queue={display:!1,queue:[]},e.r_queue={display:!1,queue:[]},e.space={},e.interstellar={},e.galaxy={},e.portal={},e.eden={},e.starDock={},e.tauceti={},e.civic={new:0},e.civic.foreign={gov0:{unrest:0,hstl:Math.floor(G(80,100)),mil:Math.floor(G(75,125)),eco:Math.floor(G(60,90)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov1:{unrest:0,hstl:Math.floor(G(0,20)),mil:Math.floor(G(125,175)),eco:Math.floor(G(80,120)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov2:{unrest:0,hstl:Math.floor(G(40,60)),mil:Math.floor(G(200,300)),eco:Math.floor(G(130,170)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1}},e.genes.blood||(e.prestige.Blood_Stone.count=0),e.resource={},e.evolution={},e.event={t:100,l:!1},e.m_event={t:499,l:!1},e.stats.days=0,e.stats.know=0,e.stats.starved=0,e.stats.died=0,e.stats.attacks=0,e.stats.dkills=0,e.stats.cfood=0,e.stats.cstone=0,e.stats.clumber=0,e.stats.sac=0,e.stats.cattle=0,e.stats.murders=0,e.stats.uDead=0,e.settings.at=0,e.settings.showEvolve=!0,e.settings.space.home=!0,yo(!0),e.settings.disableReset=!1,e.settings.pause=!1,e.arpa={},delete e.race.hrt,e.genes.queue&&(e.tech.queue=1,e.queue.display=!0)}window.reset=function(){try{gtag("event","reset",{end:"hard"})}catch{}localStorage.removeItem("evolved"),e=null,Ce.w&&Ce.w.terminate(),window.location.reload()};var rc;bu(e.settings.locale);function t(r,a){let i=rc[r];if(!i)return e.settings.expose&&(console.error(`string ${r} not found`),console.log(rc)),r;if(a)if(a instanceof Array){for(let c=0;c{a=s}),r!="en-US"){let s;try{$.getJSON(`strings/strings.${r}.json`,c=>{s=c})}catch(c){console.error(c,c.stack)}let n=a.length;s&&Object.assign(a,s),a.length!=n&&e.settings.expose&&console.error(`string.${r}.json has extra keys.`)}let i=Se.getItem("string_pack")||!1;if(i&&e.settings.sPackOn){let s;try{s=JSON.parse(LZString.decompressFromUTF16(i))}catch(c){console.error(c,c.stack)}let n=a.length;s&&Object.assign(a,s),a.length!=n&&e.settings.expose&&console.error("string pack has extra keys.")}$.ajaxSetup({async:!0}),rc=a}var Ms={"en-US":"English (US)","es-ES":"Spanish (ESP)","pt-BR":"Portugu\xEAs (BR)","de-DE":"Deutsch","it-IT":"Italiano","ru-RU":"\u0420\u0443\u0441\u0441\u043A\u0438\u0439","cs-CZ":"\u010Ce\u0161tina","pl-PL":"Polski","zh-CN":"\u7B80\u4F53\u4E2D\u6587","zh-TW":"\u7E41\u9AD4\u4E2D\u6587","ko-KR":"\uD55C\uAD6D\uC5B4","im-PL":"Igpay-Atinlay"};function ge(r){return e.race.high_pop&&(r*=b.high_pop.vars()[1]/100),r}function st(r){if(e.race.gravity_well&&e.race.teamster&&e.race.teamster>0){let a=ac();a<1&&(a=1);let i=e.civic.teamster.workers>a?a:e.civic.teamster.workers;r*=i/a}return r}function D(r,a,i){switch(r){case"transmitter":return 2.5;case"oil_well":{let s=e.tech.oil>=4?.48:.4;e.tech.oil>=7?s*=2:e.tech.oil>=5&&(s*=e.tech.oil>=6?1.75:1.25),e.city.geology.Oil&&(s*=e.city.geology.Oil+1),e.city.biome==="desert"?s*=Pe.desert.vars()[1]:e.city.biome==="tundra"?s*=Pe.tundra.vars()[1]:e.city.biome==="taiga"&&(s*=Pe.taiga.vars()[2]);let n=ue("dirty_jobs",2);return n&&(s*=1+n/100),s}case"iridium_mine":switch(a){case"iridium":{let s=.035;e.city.geology.Iridium&&(s*=e.city.geology.Iridium+1);let n=s,c=Ps(3);return{b:n,g:c-1,f:n*c}}case"coal":return .55}case"helium_mine":{let s=.18,n=Ps(3);return{b:s,g:n-1,f:s*n}}case"red_mine":switch(a){case"copper":{let s=ge(.25),n=Ps(3);return{b:s,g:n-1,f:s*n}}case"titanium":{let s=ge(.02),n=Ps(3);return{b:s,g:n-1,f:s*n}}case"stone":return ge(.75);case"asbestos":return ge(1.25);case"aluminium":return ge(.066)}case"biodome":switch(a){case"food":return ge(.25);case"cat_food":return 2;case"lumber":return ge(1.5)}case"gas_mining":return e.tech.helium?.65:.5;case"outpost":{let s={b:.025,d:0,n:0};if(e.tech.drone){let n=e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=3?.12:.06;s.d=e.space.drone.count*n,s.n=s.b*(1+s.d)}else s.n=s.b;return a?s:s.n}case"oil_extractor":{let s=e.tech.oil>=4?.48:.4;return e.tech.oil>=7?s*=2:e.tech.oil>=5&&(s*=e.tech.oil>=6?1.75:1.25),s}case"elerium_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?.009:.0075:.005;case"iridium_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?.1:.08:.055;case"iron_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?4:3:2;case"g_factory":if(e.race.truepath){if(e.tech.isolation)return 1.8;{let n=.05*(k.ai_colonist?e.civic.titan_colonist.workers+N(k.ai_colonist):e.civic.titan_colonist.workers);return e.race.high_pop&&(n=ge(n)),n}}else return .6;case"harvester":switch(a){case"helium":return .85;case"deuterium":return .15}case"elerium_prospector":return .014;case"neutron_miner":return .055;case"bolognium_ship":return .008;case"excavator":return .2;case"vitreloy_plant":{let s=.18;return e.civic.govern.type==="corpocracy"&&(s*=e.tech.high_tech&&e.tech.high_tech>=16?1.4:1.3),e.civic.govern.type==="socialist"&&(s*=1.1),s}case"infernite_mine":return .5*Xr("gate",0,i).supress;case"water_freighter":return 1.25;case"titan_mine":switch(a){case"adamantite":return ge(.02)*(e.space.titan_mine?e.space.titan_mine.ratio:50)/100;case"aluminium":return ge(.12)*(100-(e.space.titan_mine?e.space.titan_mine.ratio:50))/100}case"lander":return e.space.crashed_ship.count===100?.005:0;case"orichalcum_mine":return .08;case"uranium_mine":return .025;case"neutronium_mine":return .04;case"elerium_mine":return .009;case"shock_trooper":return e.space.digsite.count===100?.0018:0;case"tank":return e.space.digsite.count===100?.0018:0;case"mining_pit":{let s=0;switch(a){case"materials":{s=e.tech.isolation?.12:.09;break}case"bolognium":{s=e.tech.isolation?.0288:.0216;break}case"stone":{s=e.tech.isolation?.8:.6;break}case"adamantite":{s=e.tech.isolation?.448:.336;break}case"copper":{s=.58;break}case"coal":{s=.13;break}case"iron":{s=.74;break}case"aluminium":{s=.88;break}case"chrysotile":{s=1.44;break}}e.race.tough&&(s*=1+b.tough.vars()[0]/100);let n=ve("ogre");return n>0&&(s*=1+b.tough.vars(1)[0]/100*n),e.tech.tau_pit_mining&&(s*=1.18),s}case"tau_farm":switch(a){case"food":return e.tech.isolation?15:9;case"lumber":return e.tech.isolation?12:5.5;case"water":return .35}case"womling_mine":{let s=1;switch(e.tech.womling_mining&&(s+=e.tech.womling_mining*.15),e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5&&(s*=1.1),e.tech.womling_gene&&(s*=1.25),a){case"unobtainium":return .0305*s;case"uranium":return .047*s;case"titanium":return .616*s;case"copper":return 1.191*s;case"iron":return 1.377*s;case"aluminium":return 1.544*s;case"neutronium":return .382*s;case"iridium":return .535*s}}case"refueling_station":return e.tech.isolation?18.5:9.35;case"ore_refinery":return e.tech.tau_ore_mining?40:25;case"whaling_station":return 12;case"mining_ship":{if(e.tauceti.patrol_ship){let s=1;return e.tauceti.patrol_ship.support>e.tauceti.patrol_ship.s_max&&(s=ct("curve",e.tauceti.patrol_ship.s_max/e.tauceti.patrol_ship.support,1.4)),(e.tech.tau_ore_mining&&e.tech.tau_ore_mining>=2?12:10)*s}return 0}case"mining_ship_ore":switch(a){case"iron":return e.tech.isolation?2.22:1.85;case"aluminium":return e.tech.isolation?2.22:1.85;case"iridium":return e.tech.isolation?.42:.35;case"neutronium":return e.tech.isolation?.42:.35;case"orichalcum":return e.tech.isolation?.3:.25;case"elerium":return e.tech.isolation?.024:.02}case"whaling_ship":{if(e.tauceti.patrol_ship){let s=1;return e.tauceti.patrol_ship.support>e.tauceti.patrol_ship.s_max&&(s=ct("curve",e.tauceti.patrol_ship.s_max/e.tauceti.patrol_ship.support,1.4)),8*s}return 0}case"whaling_ship_oil":return e.tech.isolation?.78:.42;case"alien_outpost":return .01;case"psychic_boost":{if(e.tech.psychic&&e.race.psychic&&e.race.psychicPowers&&e.race.psychicPowers.boost.r===a&&e.race.psychicPowers.hasOwnProperty("boostTime")){let s=0;if(e.race.psychicPowers.boostTime>0&&(s+=b.psychic.vars()[3]/100),e.tech.psychic>=4&&e.race.psychicPowers.channel){let n=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;s+=+(b.psychic.vars()[3]/5e4*n*e.race.psychicPowers.channel.boost).toFixed(3)}return 1+s}return 1}case"psychic_cash":{if(e.tech.psychic&&e.race.psychic&&e.race.psychicPowers&&e.race.psychicPowers.hasOwnProperty("cash")){let s=0;if(e.race.psychicPowers.cash>0&&(s+=b.psychic.vars()[3]/100),e.tech.psychic>=4&&e.race.psychicPowers.channel){let n=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;s+=+(b.psychic.vars()[3]/5e4*n*e.race.psychicPowers.channel.cash).toFixed(3)}return 1+s}return 1}case"asphodel_harvester":{let s=.075;return e.tech.hell_lake&&e.tech.hell_lake>=7&&e.tech.railway&&(s*=1+e.tech.railway/100),s}}}function Zi(r){e.race.toxic&&(r*=1+b.toxic.vars()[0]/100),e.race.artisan&&(r*=1+b.artisan.vars()[1]/100);let a=ve("shroomi");return a>0&&(r*=1+b.toxic.vars(1)[0]/100*a),e.civic.govern.type==="corpocracy"&&(r*=1+qe.corpocracy()[4]/100),e.civic.govern.type==="socialist"&&(r*=1+qe.socialist()[1]/100),e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=2&&(r*=1.1),e.race.elemental&&b.elemental.vars()[0]==="acid"&&(r*=1+ge(b.elemental.vars()[2]*e.resource[e.race.species].amount/100)),r}function Je(r){switch(r){case"Physics":ko();break;case"Genetics":ei();break;case"Monument":return xo();case"PhysicsTech":return yt;case"GeneTech":return bo;case"BloodTech":return wu;case"Crispr":qo();break;case"Blood":cc();break}}var yt={lhc:{title(){return Qe("fool",2022)?t("arpa_projects_railway_title"):t("arpa_projects_lhc_title")},desc(){return Qe("fool",2022)?t("arpa_projects_railway_desc"):t("arpa_projects_lhc_desc")},reqs:{high_tech:6},grant:"supercollider",effect(r){if(Qe("fool",2022)&&!r)return yt.railway.effect(!0);let a=e.tech.tp_particles||e.tech.particles&&e.tech.particles>=3?e.race.cataclysm?20:8:e.race.cataclysm?10:4;return e.tech.storage>=6?e.tech.particles&&e.tech.particles>=4?e.race.cataclysm?t("arpa_projects_lhc_cataclysm3",[a]):t("arpa_projects_lhc_effect3",[a,e.race.orbit_decayed?t("space_home_satellite_title"):_r()]):e.race.cataclysm?t("arpa_projects_lhc_cataclysm2",[a]):t("arpa_projects_lhc_effect2",[a,e.race.orbit_decayed?t("space_home_satellite_title"):_r()]):e.race.cataclysm?t("arpa_projects_lhc_cataclysm1",[a]):e.tech.isolation?t("arpa_projects_lhc_iso1",[a,t("tech_infectious_disease_lab_alt")]):t("arpa_projects_lhc_effect1",[a,e.race.orbit_decayed?t("space_home_satellite_title"):_r()])},cost:{Money(r,a){return Xe("lhc",r,25e5,1.05,a)},Knowledge(r,a){return Xe("lhc",r,5e5,1.05,a)},Copper(r,a){return Xe("lhc",r,125e3,1.05,a)},Cement(r,a){return Xe("lhc",r,25e4,1.05,a)},Aluminium(r,a){return Xe("lhc",r,35e4,1.05,a)},Titanium(r,a){return Xe("lhc",r,5e4,1.05,a)},Polymer(r,a){return Xe("lhc",r,12e3,1.05,a)}}},stock_exchange:{title:t("arpa_projects_stock_exchange_title"),desc:t("arpa_projects_stock_exchange_desc"),reqs:{banking:9},grant:"stock_exchange",effect(){return e.tech.banking>=10?e.race.cataclysm?e.tech.gambling&&e.tech.gambling>=4?t("arpa_projects_stock_exchange_cataclysm2",[t("space_red_spaceport_title"),10,Ze("casino"),5,1]):t("arpa_projects_stock_exchange_cataclysm1",[t("space_red_spaceport_title"),10]):e.tech.gambling&&e.tech.gambling>=4?t("arpa_projects_stock_exchange_effect3",[t("city_bank"),10,t("job_banker"),2,Ze("casino"),5,1]):t("arpa_projects_stock_exchange_effect2",[t("city_bank"),10,t("job_banker"),2]):t("arpa_projects_stock_exchange_effect1",[t("city_bank"),10])},cost:{Money(r,a){return Xe("stock_exchange",r,3e6,1.06,a)},Plywood(r,a){return Xe("stock_exchange",r,25e3,1.06,a)},Brick(r,a){return Xe("stock_exchange",r,2e4,1.06,a)},Wrought_Iron(r,a){return Xe("stock_exchange",r,1e4,1.06,a)}}},tp_depot:{title:t("galaxy_gateway_depot"),desc:t("arpa_projects_depot_desc"),reqs:{high_tech:6,storage:4},grant:"tp_depot",path:["truepath"],effect(){return t(e.tech.isolation?"arpa_projects_depot_effect_iso":"arpa_projects_depot_effect",[5,50])},cost:{Money(r,a){return Xe("tp_depot",r,18e5,1.08,a)},Stone(r,a){return Xe("tp_depot",r,75e4,1.08,a)},Iron(r,a){return Xe("tp_depot",r,25e4,1.08,a)},Alloy(r,a){return Xe("tp_depot",r,3e4,1.08,a)}}},launch_facility:{id:"arpalaunch_facility",title:t("arpa_projects_launch_facility_title"),desc:t("arpa_projects_launch_facility_desc"),reqs:{high_tech:7},condition(){return!(e.race.cataclysm||e.race.lone_survivor)},grant:"launch_facility",rank:1,queue_complete(){return e.tech.space>=1?0:1},effect(){return t("arpa_projects_launch_facility_effect1")},cost:{Money(r){return Xe("launch_facility",r,2e6,1.1)},Knowledge(r){return Xe("launch_facility",r,5e5,1.1)},Cement(r){return Xe("launch_facility",r,15e4,1.1)},Oil(r){return Xe("launch_facility",r,2e4,1.1)},Sheet_Metal(r){return Xe("launch_facility",r,15e3,1.1)},Alloy(r){return Xe("launch_facility",r,25e3,1.1)}}},monument:{title(r){if(r)return t("arpa_project_monument_title");switch(e.arpa.m_type){case"Obelisk":return t("arpa_project_monument_obelisk");case"Statue":return t("arpa_project_monument_statue");case"Sculpture":return t("arpa_project_monument_sculpture");case"Monolith":return t("arpa_project_monument_monolith");case"Pillar":return t("arpa_project_monument_pillar");case"Megalith":return t("arpa_project_monument_megalith")}},desc:t("arpa_projects_monument_desc"),reqs:{monument:1},grant:"monuments",effect(){let r=ue("gaslighter",2),a=r?2-r:2;return t("arpa_projects_monument_effect1",[a])},cost:{Stone(r,a){return Ji("Stone",r,a)},Aluminium(r,a){return Ji("Aluminium",r,a)},Cement(r,a){return Ji("Cement",r,a)},Steel(r,a){return Ji("Steel",r,a)},Lumber(r,a){return Ji("Lumber",r,a)},Crystal(r,a){return Ji("Crystal",r,a)}}},railway:{title(){return Qe("fool",2022)?t("arpa_projects_lhc_title"):t("arpa_projects_railway_title")},desc(){return Qe("fool",2022)?t("arpa_projects_lhc_desc"):t("arpa_projects_railway_desc")},reqs:{high_tech:6,trade:3},grant:"railway",effect(r){if(Qe("fool",2022)&&!r)return yt.lhc.effect(!0);let a=e.stats.achieve.banana&&e.stats.achieve.banana.l>=2?1:0,i=e.stats.achieve.banana&&e.stats.achieve.banana.l>=1?3:2,s="";return e.race.cataclysm||e.race.orbit_decayed?(a+=e.space.gps?Math.floor(e.space.gps.count/3):0,s=t("arpa_projects_railway_cataclysm1",[a,i,3,1])):(a+=e.city.storage_yard?Math.floor(e.city.storage_yard.count/6):0,s=t("arpa_projects_railway_effect1",[a,i,6,1])),e.tech.hell_lake&&e.tech.hell_lake>=7&&(s+=` ${t("arpa_projects_railway_highway",[1,e.resource.Asphodel_Powder.name,t("eden_asphodel_harvester_title"),1])}`),s},cost:{Money(r,a){return Xe("railway",r,25e5,1.08,a)},Lumber(r,a){return Xe("railway",r,75e4,1.08,a)},Iron(r,a){return Xe("railway",r,3e5,1.08,a)},Steel(r,a){return Xe("railway",r,45e4,1.08,a)}}},roid_eject:{title(){return t("arpa_projects_roid_eject_title",[ic()])},desc(){return t(e.tech.roid_eject<=10?"arpa_projects_roid_eject_desc":"arpa_projects_roid_eject_desc2",[ic()])},reqs:{blackhole:6,gateway:3},grant:"roid_eject",effect(){let r=0,a=0;return e.tech.roid_eject&&(r+=.225*e.tech.roid_eject*(1+e.tech.roid_eject/12),a=.225*(e.tech.roid_eject+1)*(1+(e.tech.roid_eject+1)/12)-r),`
${t("arpa_projects_roid_eject_effect1")}
${t("arpa_projects_roid_eject_effect2",[+r.toFixed(3),+a.toFixed(3),ic()])}
`},cost:{Money(r,a){return Xe("roid_eject",r,1875e4,1.075,a)},Deuterium(r,a){return Xe("roid_eject",r,375e3,1.075,a)},Bolognium(r,a){return Xe("roid_eject",r,15e3,1.075,a)}}},nexus:{title:t("arpa_projects_nexus_title"),desc:t("arpa_projects_nexus_desc"),reqs:{magic:5},grant:"nexus",effect(){return e.tech.roguemagic&&e.tech.roguemagic>=7?`
${t("arpa_projects_nexus_effect1",[5])}
${t("witch_hunter_nexus",[8])}
`:t("arpa_projects_nexus_effect1",[5])},cost:{Money(r,a){return Xe("nexus",r,5e6,1.12,a)},Crystal(r,a){return Xe("nexus",r,6e4,1.12,a)},Iridium(r,a){return Xe("nexus",r,35e3,1.12,a)}}},syphon:{title:t("arpa_syphon_title"),desc(){let r="";return e.tech.syphon&&e.tech.syphon>=0?r=`
${t("arpa_syphon_desc")}
${t("arpa_syphon_desc_warn2")}
`:r=`
${t("arpa_syphon_desc")}
${t("arpa_syphon_desc_warn1")}
`,e.race.witch_hunter&&(r+=`
${t("witch_hunter_suspicion")}
`),r},reqs:{veil:2},grant:"syphon",effect(){let r=+(.3333333333333333*bt("magic")).toFixed(3);if(e.tech.syphon&&e.tech.syphon>=60){let a=it("vacuum"),i=t("resource_Plasmid_plural_name");return`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect4")}
${t("arpa_syphon_effect_reward",[a.plasmid,a.phage,a.dark,i,80])}
`}else return e.tech.syphon&&e.tech.syphon>=40?`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect3")}
`:e.tech.syphon&&e.tech.syphon>=20?`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect2")}
`:`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect1")}
`},cost:{Money(r,a){return Xe("syphon",r,75e5,1.025,a)},Mana(r,a){return Xe("syphon",r,5e3,1.025,a)},Crystal(r,a){return Xe("syphon",r,1e5,1.025,a)},Infernite(r,a){return Xe("syphon",r,1e4,1.025,a)}}}};function ic(){return!e.tech.roid_eject||e.tech.roid_eject<=10?t("arpa_projects_roid_eject_asteroid"):e.tech.roid_eject<=25?t("arpa_projects_roid_eject_moon"):e.tech.roid_eject<=40?t("arpa_projects_roid_eject_dwarf"):e.tech.roid_eject<=60?t("arpa_projects_roid_eject_planet"):t("arpa_projects_roid_eject_remnant")}var bo={genetic_memory:{id:"genes-genetic_memory",title:t("arpa_genepool_genetic_memory_title"),desc:t("arpa_genepool_genetic_memory_desc"),reqs:{},grant:["creep",1],cost:{Plasmid(){return 25}},action(){return!!Te("genetic_memory")}},animus:{id:"genes-animus",title:t("arpa_genepool_animus_title"),desc:t("arpa_genepool_animus_desc"),reqs:{creep:1},grant:["creep",2],cost:{Plasmid(){return 75}},action(){return!!Te("animus")}},divine_remembrance:{id:"genes-divine_remembrance",title:t("arpa_genepool_divine_remembrance_title"),desc:t("arpa_genepool_divine_remembrance_desc"),reqs:{creep:2},grant:["creep",3],cost:{Plasmid(){return 225}},action(){return!!Te("divine_remembrance")}},divine_proportion:{id:"genes-divine_proportion",title:t("arpa_genepool_divine_proportion_title"),desc:t("arpa_genepool_divine_proportion_desc"),reqs:{creep:3},grant:["creep",4],cost:{Plasmid(){return 618}},action(){return!!Te("divine_proportion")}},genetic_repository:{id:"genes-genetic_repository",title:t("arpa_genepool_genetic_repository_title"),desc:t("arpa_genepool_genetic_repository_desc"),reqs:{creep:4},grant:["creep",5],cost:{Plasmid(){return 999}},action(){return!!Te("genetic_repository")}},spatial_reasoning:{id:"genes-spatial_reasoning",title:t("arpa_genepool_spatial_reasoning_title"),desc:t("arpa_genepool_spatial_reasoning_desc"),reqs:{},grant:["store",1],cost:{Plasmid(){return 50}},action(){return!!Te("spatial_reasoning")}},spatial_superiority:{id:"genes-spatial_superiority",title:t("arpa_genepool_spatial_superiority_title"),desc:t("arpa_genepool_spatial_superiority_desc"),reqs:{store:1},grant:["store",2],cost:{Plasmid(){return 125}},action(){return!!Te("spatial_superiority")}},spatial_supremacy:{id:"genes-spatial_supremacy",title:t("arpa_genepool_spatial_supremacy_title"),desc:t("arpa_genepool_spatial_supremacy_desc"),reqs:{store:2},grant:["store",3],cost:{Plasmid(){return 325}},action(){return!!Te("spatial_supremacy")}},dimensional_warping:{id:"genes-dimensional_warping",title:t("arpa_genepool_dimensional_warping_title"),desc:t("arpa_genepool_dimensional_warping_desc"),reqs:{store:3},grant:["store",4],cost:{Plasmid(){return 500}},action(){return!!Te("dimensional_warping")}},enhanced_muscle_fiber:{id:"genes-enhanced_muscle_fiber",title:t("arpa_genepool_enhanced_muscle_fiber_title"),desc:t("arpa_genepool_enhanced_muscle_fiber_desc"),reqs:{},grant:["enhance",1],cost:{Plasmid(){return 25}},action(){return!!Te("enhanced_muscle_fiber")}},morphogenesis:{id:"genes-morphogenesis",title:t("arpa_genepool_morphogenesis_title"),desc:t("arpa_genepool_morphogenesis_desc"),reqs:{},grant:["evolve",1],cost:{Plasmid(){return 10}},action(){return!!Te("morphogenesis")}},recombination:{id:"genes-recombination",title:t("arpa_genepool_recombination_title"),desc:t("arpa_genepool_recombination_desc"),reqs:{evolve:1},grant:["evolve",2],cost:{Plasmid(){return 35}},action(){return!!Te("recombination")}},homologous_recombination:{id:"genes-homologous_recombination",title:t("arpa_genepool_homologous_recombination_title"),desc:t("arpa_genepool_homologous_recombination_desc"),reqs:{evolve:2},grant:["evolve",3],cost:{Plasmid(){return 70}},action(){return!!Te("homologous_recombination")}},genetic_reshuffling:{id:"genes-genetic_reshuffling",title:t("arpa_genepool_genetic_reshuffling_title"),desc:t("arpa_genepool_genetic_reshuffling_desc"),reqs:{evolve:3},grant:["evolve",4],cost:{Plasmid(){return 175}},action(){return!!Te("genetic_reshuffling")}},recombinant_dna:{id:"genes-recombinant_dna",title:t("arpa_genepool_recombinant_dna_title"),desc:t("arpa_genepool_recombinant_dna_desc"),reqs:{evolve:4},grant:["evolve",5],cost:{Plasmid(){return 440}},action(){return!!Te("recombinant_dna")}},chimeric_dna:{id:"genes-chimeric_dna",title:t("arpa_genepool_chimeric_dna_title"),desc:t("arpa_genepool_chimeric_dna_desc"),reqs:{evolve:5},grant:["evolve",6],cost:{Plasmid(){return 1100}},action(){return!!Te("chimeric_dna")}},molecular_cloning:{id:"genes-molecular_cloning",title:t("arpa_genepool_molecular_cloning_title"),desc:t("arpa_genepool_molecular_cloning_desc"),reqs:{evolve:6},grant:["evolve",7],cost:{Plasmid(){return 2750}},action(){return!!Te("molecular_cloning")}},transgenes:{id:"genes-transgenes",title:t("arpa_genepool_transgenes_title"),desc:t("arpa_genepool_transgenes_desc"),reqs:{evolve:7},grant:["evolve",8],cost:{Plasmid(){return 6875}},action(){return!!Te("transgenes")}},synthesis:{id:"genes-synthesis",title:t("arpa_genepool_synthesis_title"),desc:t("arpa_genepool_synthesis_desc",[2,10]),reqs:{evolve:1},grant:["synthesis",1],cost:{Plasmid(){return 25}},action(){return!!Te("synthesis")}},karyokinesis:{id:"genes-karyokinesis",title:t("arpa_genepool_karyokinesis_title"),desc:t("arpa_genepool_synthesis_desc",[3,25]),reqs:{synthesis:1},grant:["synthesis",2],cost:{Plasmid(){return 40}},action(){return!!Te("karyokinesis")}},cytokinesis:{id:"genes-cytokinesis",title:t("arpa_genepool_cytokinesis_title"),desc:t("arpa_genepool_synthesis_desc",[4,50]),reqs:{synthesis:2},grant:["synthesis",3],cost:{Plasmid(){return 55}},action(){return!!Te("cytokinesis")}},mitosis:{id:"genes-mitosis",title:t("arpa_genepool_mitosis_title"),desc:t("arpa_genepool_mitosis_desc",[3]),reqs:{synthesis:3,evolve:2},grant:["plasma",1],cost:{Plasmid(){return 90}},action(){return!!Te("mitosis")}},metaphase:{id:"genes-metaphase",title:t("arpa_genepool_metaphase_title"),desc:t("arpa_genepool_mitosis_desc",[5]),reqs:{plasma:1},grant:["plasma",2],cost:{Plasmid(){return 165}},action(){return!!Te("metaphase")}},mutation:{id:"genes-mutation",title:t("arpa_genepool_mutation_title"),desc:t("arpa_genepool_mutation_desc"),reqs:{synthesis:3,creep:5},grant:["mutation",1],cost:{Plasmid(){return 1250}},action(){return Te("mutation")?(e.genes.mutation=1,ei(),!0):!1}},transformation:{id:"genes-transformation",title:t("arpa_genepool_transformation_title"),desc:t("arpa_genepool_transformation_desc"),reqs:{mutation:1},grant:["mutation",2],cost:{Plasmid(){return 1500}},action(){return Te("transformation")?(e.genes.mutation=2,ei(),!0):!1}},metamorphosis:{id:"genes-metamorphosis",title:t("arpa_genepool_metamorphosis_title"),desc:t("arpa_genepool_metamorphosis_desc"),reqs:{mutation:2},grant:["mutation",3],cost:{Plasmid(){return 1750}},action(){return Te("metamorphosis")?(e.genes.mutation=3,ei(),!0):!1}},replication:{id:"genes-replication",title:t("arpa_genepool_replication_title"),desc:t("arpa_genepool_replication_desc"),reqs:{evolve:1},grant:["birth",1],cost:{Plasmid(){return 65}},action(){return!!Te("replication")}},artificer:{id:"genes-artificer",title:t("arpa_genepool_artificer_title"),desc:t("arpa_genepool_artificer_desc"),reqs:{evolve:1},grant:["crafty",1],cost:{Plasmid(){return 45}},action(){return!!Te("artificer")}},detail_oriented:{id:"genes-detail_oriented",title:t("arpa_genepool_detail_oriented_title"),desc:t("arpa_genepool_crafting_desc",["50"]),reqs:{crafty:1},grant:["crafty",2],cost:{Plasmid(){return 90}},action(){return!!Te("detail_oriented")}},rigorous:{id:"genes-rigorous",title:t("arpa_genepool_rigorous_title"),desc:t("arpa_genepool_crafting_desc",["100"]),reqs:{crafty:2},grant:["crafty",3],cost:{Plasmid(){return 135}},action(){return!!Te("rigorous")}},geographer:{id:"genes-geographer",title:t("arpa_genepool_geographer_title"),desc:t("arpa_genepool_geographer_desc"),reqs:{store:1},grant:["queue",1],cost:{Plasmid(){return 75}},action(){return!!Te("geographer")}},architect:{id:"genes-architect",title:t("arpa_genepool_architect_title"),desc:t("arpa_genepool_architect_desc"),reqs:{queue:1},grant:["queue",2],cost:{Plasmid(){return 160}},action(){return!!Te("architect")},post(){Hr(),ga()}},precognition:{id:"genes-precognition",title:t("arpa_genepool_precognition_title"),desc:t("arpa_genepool_precognition_desc"),reqs:{queue:2},grant:["queue",3],condition(){return e.stats.aiappoc>0},cost:{Plasmid(){return 3500},Phage(){return 100},AICore(){return 1}},action(){return!!Te("precognition")}},governance:{id:"genes-governance",title:t("arpa_genepool_governance_title"),desc:t("arpa_genepool_governance_desc"),reqs:{queue:2},grant:["governor",1],cost:{Plasmid(){return 300},Phage(){return 25}},action(){return!!Te("governance")}},civil_service:{id:"genes-civil_service",title:t("arpa_genepool_civil_service_title"),desc:t("arpa_genepool_civil_service_desc"),reqs:{governor:1},grant:["governor",2],cost:{Plasmid(){return 1e3},Harmony(){return 1}},action(){return!!Te("civil_service")},post(){if(e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("tasks"))for(let r=0;r<6;r++)e.race.governor.tasks.hasOwnProperty(`t${r}`)||(e.race.governor.tasks[`t${r}`]="none");Mt()}},bureaucratic_efficiency:{id:"genes-bureaucratic_efficiency",title:t("arpa_genepool_bureaucratic_efficiency_title"),desc:t("arpa_genepool_bureaucratic_efficiency_desc"),reqs:{governor:2},grant:["governor",3],cost:{Plasmid(){return 2500},Artifact(){return 1}},action(){return!!Te("bureaucratic_efficiency")},post(){Mt()},flair(){return t("arpa_genepool_bureaucratic_efficiency_flair")}},hardened_genes:{id:"genes-hardened_genes",title:t("arpa_genepool_hardened_genes_title"),desc:t("arpa_genepool_hardened_genes_desc"),reqs:{},grant:["challenge",1],cost:{Plasmid(){return 5}},action(){return!!Te("hardened_genes")}},unlocked:{id:"genes-unlocked",title:t("arpa_genepool_unlocked_title"),desc:t("arpa_genepool_unlocked_desc"),reqs:{challenge:1},grant:["challenge",2],cost:{Plasmid(){return 50}},action(){return!!Te("unlocked")},post(){Gt(!0)}},universal:{id:"genes-universal",title:t("arpa_genepool_universal_title"),desc:t("arpa_genepool_universal_desc"),reqs:{challenge:2},grant:["challenge",3],condition(){return e.race.universe!=="standard"},cost:{Plasmid(){return 400}},action(){return!!Te("universal")},post(){Gt(!0)}},standard:{id:"genes-standard",title:t("arpa_genepool_standard_title"),desc:t("arpa_genepool_standard_desc"),reqs:{challenge:3},grant:["challenge",4],condition(){return e.race.universe!=="standard"},cost:{Plasmid(){return 2500}},action(){return!!Te("standard")},post(){Gt(!0)}},mastered:{id:"genes-mastered",title:t("arpa_genepool_mastered_title"),desc:t("arpa_genepool_mastered_desc"),reqs:{challenge:4},grant:["challenge",5],cost:{Plasmid(){return 4e3}},action(){return!!Te("mastered")}},negotiator:{id:"genes-negotiator",title:t("arpa_genepool_negotiator_title"),desc:t("arpa_genepool_negotiator_desc"),reqs:{challenge:2},grant:["trader",1],cost:{Plasmid(){return 750}},action(){return Te("negotiator")?(e.genes.trader=1,rn(),!0):!1}},haggler:{id:"genes-haggler",title:t("arpa_genepool_haggler_title"),desc:t("arpa_genepool_haggler_desc"),reqs:{trader:1},condition(){return!!e.stats.achieve.godslayer},grant:["trader",2],cost:{Supercoiled(){return 10}},action(){return Te("haggler")?(e.genes.trader=2,rn(),!0):!1}},ancients:{id:"genes-ancients",title:t("arpa_genepool_ancients_title"),desc:t("arpa_genepool_ancients_desc"),reqs:{evolve:2},condition(){return!!e.genes.old_gods},grant:["ancients",1],cost:{Plasmid(){return 120}},action(){return Te("ancients")?(e.genes.ancients=1,ce(),!0):!1}},faith:{id:"genes-faith",title:t("arpa_genepool_faith_title"),desc:t("arpa_genepool_faith_desc"),reqs:{ancients:1},grant:["ancients",2],cost:{Plasmid(){return 300}},action(){return Te("faith")?(e.civic.priest.display=!0,!0):!1}},devotion:{id:"genes-devotion",title:t("arpa_genepool_devotion_title"),desc:t("arpa_genepool_devotion_desc"),reqs:{ancients:2},grant:["ancients",3],cost:{Plasmid(){return 600}},action(){return!!Te("devotion")}},acolyte:{id:"genes-acolyte",title:t("arpa_genepool_acolyte_title"),desc:t("arpa_genepool_acolyte_desc"),reqs:{ancients:3},grant:["ancients",4],cost:{Plasmid(){return 1e3}},action(){return!!Te("acolyte")}},conviction:{id:"genes-conviction",title:t("arpa_genepool_conviction_title"),desc:t("arpa_genepool_conviction_desc"),reqs:{ancients:4},grant:["ancients",5],cost:{Plasmid(){return 1500}},action(){return!!Te("conviction")}},doctrine:{id:"genes-doctrine",title:t("arpa_genepool_doctrine_title"),desc:t("arpa_genepool_doctrine_desc"),reqs:{ancients:5},condition(){return!!e.stats.achieve.godslayer},grant:["ancients",6],cost:{Supercoiled(){return 50}},action(){return!!Te("doctrine")}},ideology:{id:"genes-ideology",title:t("arpa_genepool_ideology_title"),desc:t("arpa_genepool_ideology_desc"),reqs:{ancients:6},grant:["ancients",7],cost:{Supercoiled(){return 75}},action(){return!!Te("ideology")}},transcendence:{id:"genes-transcendence",title:t("arpa_genepool_transcendence_title"),desc:t("arpa_genepool_transcendence_desc"),reqs:{ancients:1,mutation:3},grant:["transcendence",1],cost:{Plasmid(){return 3e3}},action(){return Te("transcendence")?(e.genes.transcendence=1,ce(),!0):!1}},preeminence:{id:"genes-preeminence",title:t("arpa_genepool_preeminence_title"),desc:t("arpa_genepool_preeminence_desc"),reqs:{transcendence:1,challenge:5,ancients:7},grant:["transcendence",2],cost:{Supercoiled(){return 250},Harmony(){return 10}},action(){return!!Te("preeminence")}},bleeding_effect:{id:"genes-bleeding_effect",title:t("arpa_genepool_bleeding_effect_title"),desc:t("arpa_genepool_bleeding_effect_desc",[2.5]),reqs:{creep:2},grant:["bleed",1],condition(){return e.race.universe==="antimatter"},cost:{Plasmid(){return 100}},action(){return!!Te("bleeding_effect")}},synchronicity:{id:"genes-synchronicity",title:t("arpa_genepool_synchronicity_title"),desc:t("arpa_genepool_synchronicity_desc",[25]),reqs:{bleed:1},grant:["bleed",2],cost:{Plasmid(){return 500}},action(){return!!Te("synchronicity")}},astral_awareness:{id:"genes-astral_awareness",title:t("arpa_genepool_astral_awareness_title"),desc:t("arpa_genepool_astral_awareness_desc"),reqs:{bleed:2},grant:["bleed",3],cost:{Plasmid(){return 1e3}},action(){return!!Te("astral_awareness")}},blood_remembrance:{id:"genes-blood_remembrance",title:t("arpa_genepool_blood_remembrance_title"),desc:t("arpa_genepool_blood_remembrance_desc"),reqs:{},grant:["blood",1],condition(){return e.prestige.Blood_Stone.count>=1},cost:{Plasmid(){return 1e3},Phage(){return 10}},action(){return!!Te("blood_remembrance")}},blood_sacrifice:{id:"genes-blood_sacrifice",title:t("arpa_genepool_blood_sacrifice_title"),desc:t("arpa_genepool_blood_sacrifice_desc"),reqs:{blood:1},grant:["blood",2],cost:{Plasmid(){return 3e3},Phage(){return 100},Artifact(){return 1}},action(){return!!Te("blood_sacrifice")}},essence_absorber:{id:"genes-essence_absorber",title:t("arpa_genepool_essence_absorber_title"),desc:t("arpa_genepool_essence_absorber_desc"),reqs:{blood:2},grant:["blood",3],cost:{Plasmid(){return 7500},Phage(){return 250},Artifact(){return 1}},action(){return!!Te("essence_absorber")},post(){cc()}}},wu={purify:{id:"blood-purify",title:t("arpa_blood_purify_title"),desc:t("arpa_blood_purify_desc"),reqs:{},grant:["spire",1],cost:{Blood_Stone(){return 10}},action(){return!!Sr($(this)[0].cost)}},chum:{id:"blood-chum",title:t("arpa_blood_chum_title"),desc:t("arpa_blood_chum_desc"),reqs:{spire:1},grant:["spire",2],cost:{Blood_Stone(){return 25}},action(){return!!Sr($(this)[0].cost)}},lust:{id:"blood-lust",title:t("arpa_blood_lust_title"),desc:t("arpa_blood_lust_desc"),reqs:{},grant:["lust","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.lust||0))*15+15},Artifact(r){return((r||0)+(e.blood.lust||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},illuminate:{id:"blood-illuminate",title:t("arpa_blood_illuminate_title"),desc:t("arpa_blood_illuminate_desc"),reqs:{},grant:["illuminate","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.illuminate||0))*12+12},Artifact(r){return((r||0)+(e.blood.illuminate||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},greed:{id:"blood-greed",title:t("arpa_blood_greed_title"),desc:t("arpa_blood_greed_desc"),reqs:{},grant:["greed","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.greed||0))*16+16},Artifact(r){return((r||0)+(e.blood.greed||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},hoarder:{id:"blood-hoarder",title:t("arpa_blood_hoarder_title"),desc:t("arpa_blood_hoarder_desc"),reqs:{},grant:["hoarder","*"],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(r){return((r||0)+(e.blood.hoarder||0))*14+14},Artifact(r){return((r||0)+(e.blood.hoarder||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},artisan:{id:"blood-artisan",title:t("arpa_blood_artisan_title"),desc:t("arpa_blood_artisan_desc"),reqs:{},grant:["artisan","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.artisan||0))*8+8},Artifact(r){return((r||0)+(e.blood.artisan||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},attract:{id:"blood-attract",title:t("arpa_blood_attract_title"),desc:t("arpa_blood_attract_desc"),reqs:{},grant:["attract","*"],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(r){return((r||0)+(e.blood.attract||0))*4+4},Artifact(r){return((r||0)+(e.blood.attract||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},wrath:{id:"blood-wrath",title:t("arpa_blood_wrath_title"),desc:t("arpa_blood_wrath_desc"),reqs:{},grant:["wrath","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.wrath||0))*2+2},Artifact(){return 1}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},prepared:{id:"blood-prepared",title:t("arpa_blood_prepared_title"),desc:t("arpa_blood_prepared_desc"),reqs:{},grant:["prepared",1],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 50}},action(){return!!Sr($(this)[0].cost)},post(){Yi()}},compact:{id:"blood-compact",title:t("arpa_blood_compact_title"),desc:t("arpa_blood_compact_desc"),reqs:{prepared:1},grant:["prepared",2],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 75}},action(){return!!Sr($(this)[0].cost)}},infernal:{id:"blood-infernal",title:t("arpa_blood_infernal_title"),desc:t("arpa_blood_infernal_desc"),reqs:{prepared:2},grant:["prepared",3],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 125},Artifact(){return 1}},action(){return!!Sr($(this)[0].cost)}},unbound:{id:"blood-unbound",title:t("arpa_blood_unbound_title"),desc:t("arpa_blood_unbound_desc"),reqs:{},grant:["unbound",1],cost:{Blood_Stone(){return 50}},action(){return!!Sr($(this)[0].cost)}},unbound_resistance:{id:"blood-unbound_resistance",title:t("arpa_blood_unbound_resistance_title"),desc:t("arpa_blood_unbound_resistance_desc"),reqs:{unbound:1},grant:["unbound",2],cost:{Blood_Stone(){return 100}},action(){return!!Sr($(this)[0].cost)}},shadow_war:{id:"blood-shadow_war",title:t("arpa_blood_shadow_war_title"),desc:t("arpa_blood_shadow_war_desc"),reqs:{unbound:2},grant:["unbound",3],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 250},Artifact(){return 2}},action(){return!!Sr($(this)[0].cost)}},unbound_immunity:{id:"blood-unbound_immunity",title:t("arpa_blood_unbound_immunity_title"),desc:t("arpa_blood_unbound_immunity_desc"),reqs:{unbound:3},grant:["unbound",4],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 500}},action(){return!!Sr($(this)[0].cost)}},blood_aware:{id:"blood-blood_aware",title:t("arpa_blood_blood_aware_title"),desc:t("arpa_blood_blood_aware_desc"),reqs:{},grant:["aware",1],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 10}},action(){return!!Sr($(this)[0].cost)}}};function Te(r){let a=!0,i=bo[r].cost;return Object.keys(i).forEach(function(s){let n=s;s==="Plasmid"&&e.race.universe==="antimatter"&&(s="AntiPlasmid"),e.prestige[s].countNumber(e.resource[i].amount))return a=!1,!1}),a}function Os(r,a,i){return r=Cu(r,a,i),Kr({cost:r},a,i)}function Cu(r,a,i){let s=ve("human");if(i&&i.creative||!i&&e.race.creative||!i&&s>0){var n={};return Object.keys(r).forEach(function(c){n[c]=function(){let l=r[c](a,i);return(i&&i.creative||!i&&e.race.creative)&&(l*=1-b.creative.vars()[1]/100),s>0&&(l*=1-b.creative.vars(1)[1]/100*s),l}}),n}return r}function Xe(r,a,i,s,n){var c=e.arpa[r]?e.arpa[r].rank:0;return(n&&n.creative||!n&&e.race.creative)&&r!=="syphon"&&(s-=b.creative.vars()[0]),a&&(c+=a),Math.round(s**c*i)}function ko(){if(e.tech.high_tech&&e.tech.high_tech>=6){let r=$("#arpaPhysics");ne(r),Object.keys(yt).forEach(function(a){Au(r,a)})}}function sc(){let r=$("#geneticMinor")[0];if(r){let a=Sortable.get(r);a&&a.destroy()}}function Su(){let r=$("#geneticMinor")[0];r&&Sortable.create(r,{onEnd(a){let i=e.settings.mtorder;i.splice(a.newDraggableIndex,0,i.splice(a.oldDraggableIndex,1)[0]),e.settings.mtorder=i,ei()}})}function ei(){let r=$("#arpaGenetics");if(sc(),ne(r),!e.settings.arpa.genetics)return!1;if(e.tech.genetics>1){let a=$('
');r.append(a);let i=e.tech.genetics>2?t("arpa_gene_mutation"):t("arpa_sequence_genome");e.race.artifical&&(i=e.tech.genetics>2?t("arpa_code_modification"):t("arpa_decompile_source"));let s=$(`
${i} - ${t("arpa_to_complete")}
`);a.append(s);let n=$(`{{ progress }}%`);a.append(n);let c=e.tech.genetics>2?t("arpa_mutate"):t("arpa_sequence");e.race.artifical&&(c=e.tech.genetics>2?t("arpa_modify"):t("arpa_decompile"));let l=$(``);if(a.append(l),e.tech.genetics>=5){let o=$(``);a.append(o)}if(e.tech.genetics>=6){let o=$(``);a.append(o)}if(e.tech.genetics>=7){let o=$(``);a.append(o)}e.arpa.sequence.on&&$("#arpaSequence button.seq").addClass("has-text-success"),e.arpa.sequence.boost&&$("#arpaSequence button.boost").addClass("has-text-success"),e.arpa.sequence.auto&&$("#arpaSequence button.auto").addClass("has-text-success"),H({el:"#arpaSequence",data:e.arpa.sequence,methods:{toggle(){e.arpa.sequence.on?(e.arpa.sequence.on=!1,$("#arpaSequence button.seq").removeClass("has-text-success")):(e.arpa.sequence.on=!0,$("#arpaSequence button.seq").addClass("has-text-success"))},booster(){e.arpa.sequence.boost?(e.arpa.sequence.boost=!1,$("#arpaSequence button.boost").removeClass("has-text-success")):(e.arpa.sequence.boost=!0,$("#arpaSequence button.boost").addClass("has-text-success"))},boostLabel(o){return t(e.race.artifical?"arpa_boost_artifical_label":"arpa_boost_label")+(o?e.arpa.sequence.boost?t("city_on"):t("city_off"):"")},novo(){let o=me(),d=2e5;if(e.resource.Knowledge.amount>=d){let y=Math.floor(e.resource.Knowledge.amount/d),p=Math.min(o,y);e.resource.Knowledge.amount-=d*p,e.resource.Genes.amount+=p;let v=Wt(8,12,!1);v.length>0&&$("#arpaSequence > div:first").append(v)}},novoLabel(){return t(e.race.artifical?"arpa_novo_artifical_label":"arpa_novo_label",["200k"])},auto_seq(){e.arpa.sequence.auto?(e.arpa.sequence.auto=!1,$("#arpaSequence button.auto").removeClass("has-text-success")):(e.arpa.sequence.auto=!0,$("#arpaSequence button.auto").addClass("has-text-success"))},autoLabel(o){return t(e.race.artifical?"arpa_auto_compile_label":"arpa_auto_seq_label")+(o?e.arpa.sequence.boost?t("city_on"):t("city_off"):"")}},filters:{timer(o){if(e.arpa.sequence.on&&e.arpa.sequence.labs>0)return e.arpa.sequence.boost?pt(o/(e.arpa.sequence.labs*2)):pt(o/e.arpa.sequence.labs);{let d=Lt(14,12);return d.length>0?d:t("time_never")}}}}),_e("popArpaSeq",function(){return e.tech.genetics>2?e.race.artifical?t("arpa_modify_desc"):t("arpa_mutate_desc"):e.race.artifical?t("arpa_decompile_desc"):t("arpa_sequence_desc")},{elm:"#arpaSequence .seqlbl",classes:"has-background-light has-text-dark"})}if(e.tech.genetics>2){let a=$('
');$("#arpaGenetics").append(a);let i=$('
');a.append(i),e.tech.decay&&e.tech.decay>=2&&(e.settings.mtorder.includes("fortify")||e.settings.mtorder.push("fortify")),Object.keys(e.race).forEach(function(C){b[C]&&b[C].type==="minor"&&(e.settings.mtorder.includes(C)||e.settings.mtorder.push(C))}),e.genes.challenge&&e.genes.challenge>=5&&(e.settings.mtorder.includes("mastery")||e.settings.mtorder.push("mastery"));let s=!1,n=[];e.settings.mtorder.forEach(function(C){(b[C]&&b[C].type==="minor"||C==="mastery"||C==="fortify")&&(C!=="fortify"||e.tech.decay&&e.tech.decay>=2)&&(!["promiscuous","content","resilient","industrious","tactical","fibroblast"].includes(C)&&e.race.lone_survivor||!e.race.lone_survivor)&&(s=!0,ju(i,C),n.push(C))}),a.append(`
${t("arpa_race_genetic_traids",[ct("name")])}
`);let c=ma("name"),l=[],o=[],d=$('
');a.append(d);let y=Ee(e.race);Qe("fool",2023)&&(y.hooved=1),Object.keys(y).forEach(function(C){if(b[C]&&b[C].type!=="minor"&&b[C].type!=="special"&&C!=="evil"&&C!=="soul_eater"&&C!=="artifical"){let T=!1;if(e.race.ss_traits&&e.race.ss_traits.includes(C)||e.race.iTraits&&e.race.iTraits.hasOwnProperty(C)||["sludge","ultra_sludge"].includes(e.race.species)&&(C==="ooze"||e.race.modified)?T=!0:e.race.hasOwnProperty(C)||(T=!0),!T&&(b[C].type==="major"&&e.genes.mutation||b[C].type==="genus"&&e.genes.mutation&&e.genes.mutation>=2)){let M=$('
'),Z=$(`${t("arpa_remove_button")}`);l.push(C),M.append(Z),M.append($(`${c[C]?c[C]:b[C].name} (${t("arpa_genepool_rank",[y[C]])})`)),d.append(M)}else o.push(C),d.append(`
${c[C]?c[C]:b[C].name} (${t("arpa_genepool_rank",[y[C]])})
`)}});let p=[],v=[];if(e.genes.mutation&&e.genes.mutation>=3&&(e.race.species!=="sludge"&&e.race.species!=="ultra_sludge"||!e.race.modified)){a.append(`
${t("arpa_race_genetic_gain")}
`);let C=["dumb","smart"],T=E[e.race.species].type==="hybrid"?e.race.maintype:E[e.race.species].type,M=E[e.race.species].type==="hybrid"?E[e.race.species].hybrid:[E[e.race.species].type];Object.keys(E).forEach(function(X){X!=="junker"&&X!=="sludge"&&X!=="ultra_sludge"&&X!=="custom"&&(M.includes(E[X].type)||E[X].type==="hybrid"&&X===e.race.species)&&Object.keys(E[X].traits).forEach(function(h){if(!e.race[h]&&h!=="soul_eater"){let j=C.indexOf(h);if(j===-1)v.push(h),E[X].type!==T&&X!==e.race.species&&p.push(h);else{let L=!1;switch(j%2){case 0:e.race[C[j+1]]&&(L=!0);break;case 1:e.race[C[j-1]]&&(L=!0);break}L||(v.push(h),E[X].type!==T&&p.push(h))}}})});let Z=$('
');a.append(Z);for(let X=0;X'),L=$(`${t("arpa_gain_button")}`);j.append(L),j.append($(`${c[h]?c[h]:b[h].name}`)),Z.append(j)}}s&&a.prepend(`
${t("arpa_race_genetic_minor_traits",[ct("name")])}
`);let w=function(C){let T=b[C].val*5;return["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(T*=10),E[e.race.species].type==="hybrid"&&(T*=2),T<0&&(T*=-1),t("arpa_remove",[ma("name",C),T,e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name")])},F=function(C){let T=b[C].val*5;return["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(T*=10),E[e.race.species].type==="hybrid"&&(T*=2),T<0&&(T*=-1),t("arpa_gain",[ma("name",C),T,e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name")])},A=function(C){let T=Xa(e.race.minor[C]?e.race.minor[C]+4:4);return C==="mastery"&&(T*=5),t("arpa_gene_buy",[ma("name",C),$e(T),e.resource.Genes.name])},z=function(C){let T=Xa(e.genes.minor[C]?e.genes.minor[C]+4:4);return C==="mastery"&&(T*=2),t("arpa_phage_buy",[ma("name",C),$e(T),t("resource_Phage_name")])};H({el:"#geneticBreakdown",data:{genes:e.genes,race:e.race},methods:{gene(C){let T=0,M=me(),Z=!0,X=!1;for(;T=h?(e.resource.Genes.amount-=h,e.race.minor[C]?e.race.minor[C]++:e.race.minor[C]=1,e.race[C]?e.race[C]++:e.race[C]=1,X=!0):Z=!1,T++}X&&(C==="mastery"&&Gt(!0),ei(),C==="persuasive"&&rn())},phage(C){let T=0,M=me(),Z=!0,X=!1;for(;T=h?(e.prestige.Phage.count-=h,e.genes.minor[C]?e.genes.minor[C]++:e.genes.minor[C]=1,e.race[C]?e.race[C]++:e.race[C]=1,X=!0):Z=!1,T++}X&&(C==="mastery"&&Gt(!0),ei(),C==="persuasive"&&rn())},purge(C){if(["sludge","ultra_sludge"].includes(e.race.species)&&(e.race.modified||C==="ooze"))return;let T=b[C].val*5;["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(T*=10),E[e.race.species].type==="hybrid"&&(T*=2),T<0&&(T*=-1);let M=e.race.universe==="antimatter"?"AntiPlasmid":"Plasmid";if(e.prestige[M].count>=T){e.prestige[M].count-=T;let Z=e.race[C];delete e.race[C],e.race.modified?e.race.modified++:e.race.modified=1,Cs(C,Z),ei(),ce(),Ct();let X=0;Object.keys(e.race).forEach(function(h){b[h]&&(b[h].type=="major"||b[h].type=="genus")&&h!=="evil"&&X++}),X===0&&Ne("blank_slate")}},gain(C){if(["sludge","ultra_sludge"].includes(e.race.species)&&e.race.modified)return;let T=b[C].val*5;["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(T*=10),E[e.race.species].type==="hybrid"&&(T*=2),T<0&&(T*=-1);let M=e.race.universe==="antimatter"?"AntiPlasmid":"Plasmid";e.prestige[M].count>=T&&(e.prestige[M].count-=T,e.race[C]=1,e.race.modified?e.race.modified++:e.race.modified=1,ji(C),p.includes(C)&&Ve(C,{down:!0}),ei(),ce(),Ct())},geneCost(C){return A(C)},phageCost(C){return z(C)},traitEffect(C){return t(`trait_${C}_effect`)},removeCost(C){return w(C)},addCost(C){return F(C)},genePurchasable(C){let T=Xa(e.race.minor[C]?e.race.minor[C]+4:4);return C==="mastery"&&(T*=5),e.resource.Genes.amount>=T},phagePurchasable(C){let T=Xa(e.genes.minor[C]?e.genes.minor[C]+4:4);return C==="mastery"&&(T*=2),e.prestige.Phage.count>=T}}}),n.forEach(function(C){_e(`popGenetrait${C}`,function(){return A(C)},{elm:`#geneticBreakdown .t-${C} .gbuy`,classes:"has-background-light has-text-dark"}),e.prestige.Phage.count>0&&_e(`popGenetrait${C}`,function(){return z(C)},{elm:`#geneticBreakdown .t-${C} .pbuy`,classes:"has-background-light has-text-dark"}),_e(`popGenetrait${C}`,function(){return e.stats.feat.novice&&e.stats.achieve.apocalypse&&e.stats.achieve.apocalypse.l>0?`
${ma("desc",C)}
${t(`trait_${C}_effect`)}
`:ma("desc",C)},{elm:`#geneticBreakdown .t-${C} .name`,classes:"has-background-light has-text-dark"})}),l.forEach(function(C){_e(`popRemoveBkdwn${C}`,function(){return w(C)},{elm:`#geneticBreakdown .remove${C}`,classes:"has-background-light has-text-dark"});let T=`raceTrait${C}`,M=$("
");Si(M,C,{trank:e.race[C]}),_e(T,M,{wide:!0,classes:"w30"})}),o.forEach(function(C){let T=`raceTrait${C}`,M=$("
");Si(M,C,{trank:e.race[C]}),_e(T,M,{elm:`#geneticBreakdown .trait${C}`,wide:!0,classes:"w30"})}),v.forEach(function(C){_e(`popAddBkdwn${C}`,function(){return F(C)},{elm:`#geneticBreakdown .add${C}`,classes:"has-background-light has-text-dark"});let T=`raceTrait${C}`,M=$("
");Si(M,C,{trank:p.includes(C)?.5:1}),_e(T,M,{wide:!0,classes:"w30"})}),Su()}}function nc(){let r=e.race.cataclysm||e.race.orbit_decayed?U.exotic_lab:k.biolab;return e.tech.isolation&&(r=U.infectious_disease_lab*5),e.race.lone_survivor&&(r+=2),r>0&&e.city.ptrait.includes("toxic")&&(r+=We.toxic.vars()[0]),r>0&&e.race.elemental&&b.elemental.vars()[0]==="frost"&&(r*=1+ge(e.resource[e.race.species].amount*b.elemental.vars()[4]/100)),Math.round(r)}function ju(r,a){let i=$(`
`),s=$(`${e.resource.Genes.name} (${e.race.minor[a]||0})`);if(i.append(s),e.prestige.Phage.count>0){let c=$(`${t("resource_Phage_name")} (${e.genes.minor[a]||0})`);i.append(c)}let n=e.race[a]>1?`(${e.race[a]}) `:"";i.append(`${n}${ma("name",a)}`),r.append(i)}function qo(){(e.tech.genetics&&e.tech.genetics>3||e.sim)&&(ne($("#arpaCrispr")),$("#arpaCrispr").append(`
${t("arpa_crispr_desc")}
`),$("#arpaCrispr").append('
'),$u())}function cc(){e.tech.b_stone&&e.tech.b_stone>=2&&(ne($("#arpaBlood")),$("#arpaBlood").append(`
${t("arpa_blood_desc")}
`),$("#arpaBlood").append('
'),xu())}function Au(r,a){if(Mu(a)){if(e.arpa[a]||(e.arpa[a]={complete:0,rank:0}),yt[a].rank&&e.arpa[a].rank>=yt[a].rank)return;let i=$(`
`);r.append(i);let s=typeof yt[a].title=="string"?yt[a].title:yt[a].title(),n=$(`
${s}{{ rank | level }}
`);i.append(n);let c=$('
{{ complete }}%
');n.append(c);let l=$('
');i.append(l),l.append($(``)),l.append($(``)),l.append($(``)),l.append($(``)),l.append($(``)),H({el:`#arpa${a}`,data:e.arpa[a],methods:{queue(d){if(e.tech.queue){let p=me();for(let v=0;v0){if(e.settings.q_merge!=="merge_never"&&e.queue.queue.length>0&&e.queue.queue[e.queue.queue.length-1].id===w)e.queue.queue[e.queue.queue.length-1].q++;else{let z=typeof yt[d].title=="string"?yt[d].title:yt[d].title();e.queue.queue.push({id:w,action:"arpa",type:d,label:z,cna:!1,time:0,q:1,qs:1,t_max:0})}Ur()}else break}}},build(d,y){an(d,y,!0)},srDesc(){return qs(typeof yt[a].desc=="string"?yt[a].desc:yt[a].desc())},srLevel(){return qs(yt[a].effect())},arpaProjectSRCosts(d,y){let p=d==="100"?100-e.arpa[y].complete:d;var v=`Construct ${p}%. Costs:`,w=Os(yt[y].cost);return Object.keys(w).forEach(function(F){var A=+(w[F]()*(p/100)).toFixed(0);if(A>0){var z=F==="Money"?"$":e.resource[F].name+": ",C=e.resource[F].amount>=A?"":` ${t("insufficient")} ${e.resource[F].name}.`;v=v+` ${z} ${$e(A,2)}.${C}`}}),v}},filters:{remain(d){return 100-d},level(d){return t("arpa_level",[d])}}}),_e(`popArpa${a}`,function(){return yt[a].desc},{elm:`#arpa${a} .head .desc`,classes:"has-background-light has-text-dark"}),_e(`popArpa${a}`,function(){return yt[a].effect()},{elm:`#arpa${a} .head .rank`,classes:"has-background-light has-text-dark"});let o=[1,10,25,100];for(let d=0;d=100&&(e.arpa[r].rank++,e.arpa[r].complete=0,e.tech[yt[r].grant]=e.arpa[r].rank,n=!0,r==="monument"&&(e.arpa.m_type=xo(),$(`#arpa${r} .head .desc`).html(yt[r].title()),ia(!1,["arpamonument"])),r==="roid_eject"&&($(`#arpa${r} .head .desc`).html(yt[r].title()),ia(!1,["arparoid_eject"])),r==="launch_facility"&&(e.settings.showSpace=!0,e.tech.space=1,je("popArpalaunch_facility"),[1,10,25,100].forEach(function(l){je(`popArpalaunch_facility${l}`)}),s||sa(["arpalaunch_facility"]),ko(),At(),I(t("arpa_projects_launch_facility_msg"),"info",!1,["progress"])),e.race.inflation&&(e.race.inflation+=10),ce()));if(i){let c=[1,10,25,100],l=$("#popper"),o=l.data("id");for(let d=0;d"),n=Os(yt[a].cost);let c=hi(yt[a],i/100,!1,!0);return Object.keys(n).forEach(function(l){var o=+(n[l]()*(i/100)).toFixed(0);if(o>0){var d=l==="Money"?"$":e.resource[l].name+": ",y=e.resource[l].amount>=o?"has-text-dark":l===c.r?"has-text-danger":"has-text-alert";s.append($(`
${d}${$e(o,2)}
`))}}),s}function rn(){Object.keys(e.resource).forEach(function(r){H({el:`#market-${r}`},"update")}),H({el:"#galaxyTrade"},"update")}function cn(){if(!e.civic.mad.armed&&!e.race.cataclysm){e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"mad"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,l=it("mad");e.stats.mad++,ea(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,ie("apocalypse"),ie("squished",!0),ie(`extinct_${r}`),e.civic.govern.type==="anarchy"&&ie("anarchist"),e.city.biome==="hellscape"&&E[e.race.species].type!=="demonic"&&Ne("take_no_advice"),e.race.truepath&&ie("ashanddust"),Nr(),Xi("md");let o=e.race.hasOwnProperty("srace")?e.race.srace:!1,d=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,rapid_mutation:1,ancient_ruins:1,universe:e.race.universe,seeded:!1,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},d>0&&(e.race.corruption=d),o&&(e.race.srace=o),na({orbit:i,biome:s,ptrait:n,geology:c}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}}function Mo(){e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"bioseed"});let r=e.race.species,a=e.race.gods,i=E[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,l=it("bioseed");e.stats.bioseed++,ea(),e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,ie("seeder"),ie(`biome_${n}`),c.forEach(function(F){We.hasOwnProperty(F)&&ie(`atmo_${F}`)}),ie(`genus_${i}`),e.race.gravity_well&&ie("escape_velocity"),e.race.truepath&&ie("exodus"),c.includes("dense")&&e.race.universe==="heavy"&&ie("double_density"),e.race.junker&&e.race.species==="junker"&&Ne("organ_harvester"),e.city.biome==="hellscape"&&E[e.race.species].type!=="demonic"&&Ne("ill_advised"),typeof e.tech.world_control>"u"&&ie("cult_of_personality"),e.race.cataclysm&&ie("iron_will",!1,5),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross");let o=0,d=0;switch(Object.keys(e.city.geology).forEach(function(F){e.city.geology[F]>0?o++:e.city.geology[F]<0&&d++}),o>=4&&ie("miners_dream"),d>=3&&Ne("rocky_road"),e.race.steelen&&e.race.steelen>=1&&ie("steelen"),e.race.universe){case"micro":e.race.small||e.race.compact?ie("macro",!0):ie("marble",!0);break;default:break}Nr();let y=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0,v=e.starDock.probes.count+1,w=e.starDock.hasOwnProperty("geck")?e.starDock.geck.count:0;e.stats.achieve.explorer&&(v+=e.stats.achieve.explorer.l),e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!0,probes:v,geck:w,seed:Math.floor(G(1e4)),ascended:!1},p>0&&(e.race.corruption=p),y&&(e.race.srace=y),na({orbit:s,biome:n,ptrait:c,geology:!1}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Po(){if(e.city.ptrait.includes("unstable")&&e.tech.quaked){Ce.w&&Ce.w.terminate(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),kt("reset",{end:"cataclysm"}),Rr();let r=it("cataclysm");e.stats.cataclysm++,ea(),e.prestige.Phage.count+=r.phage,e.stats.phage+=r.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=r.plasmid,e.stats.antiplasmid+=r.plasmid):(e.prestige.Plasmid.count+=r.plasmid,e.stats.plasmid+=r.plasmid),e.stats.pdebt=r.pdebt,ie("squished",!0),ie(`extinct_${e.race.species}`),e.city.biome==="hellscape"&&E[e.race.species].type!=="demonic"&&Ne("take_no_advice"),Nr(),ie("shaken"),e.race.cataclysm&&ie("failed_history"),Xi("ct");let a=e.race.hasOwnProperty("srace")?e.race.srace:!1,i=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:e.race.species,gods:e.race.gods,old_gods:e.race.old_gods,universe:e.race.universe,seeded:!1,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},i>0&&(e.race.corruption=i),a&&(e.race.srace=a),na({orbit:e.city.calendar.orbit,biome:e.city.biome,ptrait:e.city.ptrait,geology:e.city.geology}),e.race.universe==="antimatter"?e.race.weak_mastery=1:e.race.no_plasmid=1;let s=["crispr","trade","craft"];for(let n=0;n1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:"bigbang",seeded:!0,bigbang:!0,probes:4,seed:Math.floor(G(1e4)),ascended:!1},o>0&&(e.race.corruption=o),l&&(e.race.srace=l),na({orbit:i,biome:s,ptrait:n,geology:!1}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Oo(){if(e.tech.syphon>=80&&e.race.universe==="magic"){e.tech.syphon=79,e.arpa.syphon.rank=79,e.arpa.syphon.complete=99,e.queue.queue=[],e.stats.current=Date.now(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"vacuum"}),ie(`extinct_${e.race.species}`),ie("pw_apocalypse"),e.space.hasOwnProperty("spaceport")&&e.space.spaceport.count===0&&ie("red_dead"),!e.race.modified&&e.race.species==="balorg"&&ie("pass"),e.race.junker&&e.race.species==="junker"&&Ne("the_misery"),e.race.decay&&ie("dissipated"),e.race.steelen&&Ne("steelem"),Xi("vc");let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=it("vacuum");Nr(),e.stats.blackhole++,ea(),e.prestige.Phage.count+=c.phage,e.stats.phage+=c.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=c.plasmid,e.stats.antiplasmid+=c.plasmid):(e.prestige.Plasmid.count+=c.plasmid,e.stats.plasmid+=c.plasmid),e.stats.pdebt=c.pdebt,e.prestige.Dark.count=+(e.prestige.Dark.count+c.dark).toFixed(3),e.stats.dark=+(e.stats.dark+c.dark).toFixed(3),e.stats.universes++;let l=e.race.hasOwnProperty("srace")?e.race.srace:!1,o=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:"bigbang",seeded:!0,bigbang:!0,probes:4,seed:Math.floor(G(1e4)),ascended:!1},o>0&&(e.race.corruption=o),l&&(e.race.srace=l),na({orbit:i,biome:s,ptrait:n,geology:!1}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}}function Co(){Rr(),kt("reset",{end:"ascend"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,l=it("ascend");e.stats.ascend++,ea(),e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.Harmony.count=parseFloat((e.prestige.Harmony.count+l.harmony).toFixed(2)),e.stats.harmony=parseFloat((e.stats.harmony+l.harmony).toFixed(2)),n.forEach(function(p){We.hasOwnProperty(p)&&ie(`atmo_${p}`)}),typeof e.tech.world_control>"u"&&ie("cult_of_personality");let o=0;Object.keys(e.city.geology).forEach(function(p){e.city.geology[p]>0&&o++}),o>=4&&ie("miners_dream"),(!e.galaxy.hasOwnProperty("dreadnought")||e.galaxy.dreadnought.count===0)&&ie("dreaded"),!e.race.modified&&(e.race.species==="synth"||e.race.species==="nano")&&e.race.emfield&&Ne("digital_ascension"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),Nr();let d=e.race.hasOwnProperty("srace")?e.race.srace:!1,y=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:!0},y>0&&(e.race.corruption=y),d&&(e.race.srace=d),Object.keys(c).forEach(function(p){c[p]+=.02}),na({orbit:i,biome:s,ptrait:n,geology:c}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Ss(){if(Ce.w&&Ce.w.terminate(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"descension"}),ie("squished",!0),ie(`extinct_${e.race.species}`),e.race.witch_hunter&&e.tech.forbidden>=5&&e.race.universe==="magic"?ie("nightmare"):ie("corrupted"),e.race.fasting&&e.tech.dish_reset){let y=lt();e.stats.endless_hunger.b5[y]=!0,y!=="m"&&y!=="l"&&(e.stats.endless_hunger.b5.l=!0),e.stats.starved===0&&Ne("immortal")}E[e.race.species].type==="angelic"&&Ne("twisted"),e.race.junker&&e.race.species==="junker"&&Ne("the_misery"),!e.race.modified&&e.race.junker&&e.race.species==="junker"&&Ne("garbage_pie"),e.race.cataclysm&&Ne("finish_line"),e.race.ooze&&e.race.species==="sludge"&&Ne("slime_lord"),Xi("di");let r=it("descend");e.prestige.Artifact.count+=r.artifact,e.stats.artifact+=r.artifact;let a=lt();e.stats.spire.hasOwnProperty(a)&&(e.stats.spire[a].hasOwnProperty("lord")?e.stats.spire[a].lord++:e.stats.spire[a].lord=1,e.tech.dl_reset?e.stats.spire[a].dlstr=0:e.stats.spire[a].hasOwnProperty("dlstr")?e.stats.spire[a].dlstr++:e.stats.spire[a].dlstr=1);let i=e.race.species,s=e.race.gods,n=e.city.calendar.orbit,c=e.city.biome,l=e.city.ptrait,o=e.city.geology;e.stats.descend++,ea(),Nr();let d=e.race.hasOwnProperty("srace")?e.race.srace:!1;e.race={species:"protoplasm",gods:i,old_gods:s,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),corruption:5,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},d&&(e.race.srace=d),na({orbit:n,biome:c,ptrait:l,geology:o}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function So(){Rr(),kt("reset",{end:"apotheosis"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,l=it("apotheosis");e.stats.apotheosis++,ea(),e.prestige.Supercoiled.count+=l.supercoiled,e.stats.supercoiled+=l.supercoiled,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,n.forEach(function(p){We.hasOwnProperty(p)&&ie(`atmo_${p}`)}),typeof e.tech.world_control>"u"&&ie("cult_of_personality");let o=0;Object.keys(e.city.geology).forEach(function(p){e.city.geology[p]>0&&o++}),o>=4&&ie("miners_dream"),(!e.galaxy.hasOwnProperty("dreadnought")||e.galaxy.dreadnought.count===0)&&ie("dreaded"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),Nr();let d=e.race.hasOwnProperty("srace")?e.race.srace:!1,y=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:!0},y>0&&(e.race.corruption=y),d&&(e.race.srace=d),Object.keys(c).forEach(function(p){c[p]+=.02}),na({orbit:i,biome:s,ptrait:n,geology:c}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function jo(r){Rr(),kt("reset",{end:"terraform"});let a=e.race.species,i=e.race.gods,s=e.city.calendar.orbit,n=r.biome,c=r.traitlist,l=r.geology,o=it("terraform");e.stats.terraform++,ea(),e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.Harmony.count=parseFloat((e.prestige.Harmony.count+o.harmony).toFixed(2)),e.stats.harmony=parseFloat((e.stats.harmony+o.harmony).toFixed(2)),c.forEach(function(v){We.hasOwnProperty(v)&&ie(`atmo_${v}`)}),typeof e.tech.world_control>"u"&&ie("cult_of_personality");let d=0;Object.keys(e.city.geology).forEach(function(v){e.city.geology[v]>0&&d++}),d>=4&&ie("miners_dream"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),Nr();let y=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:a,old_gods:i,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1,rejuvenated:!0},p>0&&(e.race.corruption=p),y&&(e.race.srace=y),na({orbit:s,biome:n,ptrait:c,geology:l}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Ao(){e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"ai apocalypse"}),ie(`extinct_${e.race.species}`),ie("obsolete"),ie("squished",!0),e.race.junker&&e.race.species==="junker"&&Ne("the_misery"),Xi("ai");let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,l=it("ai");Nr(),e.stats.aiappoc++,ea(),e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.AICore.count+=l.cores,e.stats.cores+=l.cores;let o=E[r].type!=="synthetic"&&!["junker","sludge","ultra_sludge"].includes(r)?r:e.race.hasOwnProperty("srace")?e.race.srace:r;e.stats.synth[r]=!0;let d=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,srace:o,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},d>0&&(e.race.corruption=d),na({orbit:i,biome:s,ptrait:n,geology:c}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Fo(){Ce.w&&Ce.w.terminate(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"matrix"});let r=e.race.species,a=e.race.gods,i=E[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,l=e.city.geology,o=it("matrix");ie(`biome_${n}`),c.forEach(function(p){We.hasOwnProperty(p)&&ie(`atmo_${p}`)}),ie(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),ie("bluepill"),oc(),Nr(),e.stats.matrix++,ea(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.prestige.AICore.count+=o.cores,e.stats.cores+=o.cores;let d=e.race.hasOwnProperty("srace")?e.race.srace:!1,y=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},y>0&&(e.race.corruption=y),d&&(e.race.srace=d),na({orbit:s,biome:n,ptrait:c,geology:l}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function zo(){Ce.w&&Ce.w.terminate(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"retired"});let r=e.race.species,a=e.race.gods,i=E[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,l=e.city.geology,o=it("retired");ie(`biome_${n}`),c.forEach(function(p){We.hasOwnProperty(p)&&ie(`atmo_${p}`)}),ie(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),ie("retired"),oc(),Nr(),e.stats.retire++,ea(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.prestige.AICore.count+=o.cores,e.stats.cores+=o.cores;let d=e.race.hasOwnProperty("srace")?e.race.srace:!1,y=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},y>0&&(e.race.corruption=y),d&&(e.race.srace=d),na({orbit:s,biome:n,ptrait:c,geology:l}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function To(){Ce.w&&Ce.w.terminate(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"eden"});let r=e.race.species,a=e.race.gods,i=E[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,l=e.city.geology,o=it("eden");ie(`biome_${n}`),c.forEach(function(p){We.hasOwnProperty(p)&&ie(`atmo_${p}`)}),ie(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),ie("adam_eve"),oc(),Nr(),e.stats.eden++,ea(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.prestige.AICore.count+=o.cores,e.stats.cores+=o.cores;let d=e.race.hasOwnProperty("srace")?e.race.srace:!1,y=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},y>0&&(e.race.corruption=y),d&&(e.race.srace=d),na({orbit:s,biome:n,ptrait:c,geology:l}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function na(r){e.city={calendar:{day:0,year:0,weather:2,temp:1,moon:0,wind:0,orbit:r.orbit},biome:r.biome,ptrait:r.ptrait},r.geology&&(e.city.geology=r.geology),e.tech={theology:1},tc(),e.new=!0,e.seed=Math.rand(0,1e4)}function oc(){let r=lt();e.race.womling_friend?(r!=="m"&&e.stats.womling.friend.l++,r!=="l"&&(e.stats.womling.friend.hasOwnProperty(r)||(e.stats.womling.friend[r]=0),e.stats.womling.friend[r]++)):e.race.womling_lord?(r!=="m"&&e.stats.womling.lord.l++,r!=="l"&&(e.stats.womling.lord.hasOwnProperty(r)||(e.stats.womling.lord[r]=0),e.stats.womling.lord[r]++)):e.race.womling_god&&(r!=="m"&&e.stats.womling.god.l++,r!=="l"&&(e.stats.womling.god.hasOwnProperty(r)||(e.stats.womling.god[r]=0),e.stats.womling.god[r]++)),e.stats.womling.friend.l>0&&e.stats.womling.lord.l>0&&e.stats.womling.god.l>0&&ie("overlord",r==="m",Kt(),"l"),e.stats.womling.friend[r]>0&&e.stats.womling.lord[r]>0&&e.stats.womling.god[r]>0&&ie("overlord",r==="m",Kt(),r)}function Xi(r){if(e.race.species==="ultra_sludge"){let a=Kt(),i=lt();e.stats.death_tour[r][i]c&&(c=e.stats.death_tour[n][l])}),s>c&&(s=c)}),s>0&&Ne("grand_death_tour",!1,s)}}var es={spc_titan:{info:{name(){return Y().titan},desc(){return t("space_titan_info_desc",[Y().titan,E[e.race.species].home])},support:"electrolysis",zone:"outer",syndicate(){return!!(e.tech.titan&&e.tech.titan>=3&&e.tech.enceladus&&e.tech.enceladus>=2)},syndicate_cap(){return e.tech.triton?e.tech.outer>=4?2e3:1e3:600}},titan_mission:{id:"space-titan_mission",title(){return t("space_mission_title",[Y().titan])},desc(){return t("space_mission_desc",[Y().titan])},reqs:{outer:1},grant:["titan",1],path:["truepath"],queue_complete(){return e.tech.titan>=1?0:1},cost:{Helium_3(r,a){return+Ae(25e4,!1,a).toFixed(0)},Elerium(){return 100}},effect(){return t("space_titan_mission_effect",[Y().titan])},action(){return u($(this)[0])?(I(t("space_titan_mission_action",[Y().titan,E[e.race.species].home]),"info",!1,["progress"]),!0):!1}},titan_spaceport:{id:"space-titan_spaceport",title:t("space_red_spaceport_title"),desc:`
${t("space_red_spaceport_desc")}
${t("requires_power")}
`,reqs:{titan:1},path:["truepath"],cost:{Money(r){return g("titan_spaceport",r,25e5,1.32)},Lumber(r){return g("titan_spaceport",r,75e4,1.32)},Cement(r){return g("titan_spaceport",r,35e4,1.32)},Mythril(r){return g("titan_spaceport",r,1e4,1.32)}},effect(){let r=e.resource.Water.display?`
${t("plus_max_resource",[$e(Q(250)),e.resource.Water.name])}
`:"",a=e.tech.enceladus&&e.tech.enceladus>=2?`
+${t("galaxy_alien2_support",[$(this)[0].support(),Y().enceladus])}
`:"",i=e.tech.titan&&e.tech.titan>=5?`
${t("space_titan_spaceport_storage",[25])}
`:"";return`${a}${r}${i}
${t("minus_power",[$(this)[0].powered()])}
`},support(){return 2},powered(){return de(10)},action(){return u($(this)[0])?(K("titan_spaceport"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["titan_spaceport","space"]}},post(){e.tech.titan===1&&(e.tech.titan=2,ce())}},electrolysis:{id:"space-electrolysis",title:t("space_electrolysis_title"),desc(){return`
${t("space_electrolysis_title")}
${t("space_electrolysis_req",[e.resource.Water.name])}
`},reqs:{titan:3},path:["truepath"],cost:{Money(r){return g("electrolysis",r,1e6,1.25)},Copper(r){return g("electrolysis",r,185e3,1.25)},Steel(r){return g("electrolysis",r,22e4,1.25)},Polymer(r){return g("electrolysis",r,38e4,1.25)}},effect(r){return`${`
+${t("galaxy_alien2_support",[$(this)[0].support(r),Y().titan])}
`}
${t("space_electrolysis_use",[$(this)[0].support_fuel().a,e.resource.Water.name,$(this)[0].powered()])}
`},support(r){return e.tech.titan_ai_core&&e.tech.titan_ai_core>=2&&(r?e.space.ai_core2.on:k.ai_core2)?3:2},support_fuel(){return{r:"Water",a:35}},powered(){return de(8)},action(){return u($(this)[0])?(K("electrolysis"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["electrolysis","space"]}},post(){e.tech.titan===3&&(e.tech.titan=4,ce())}},hydrogen_plant:{id:"space-hydrogen_plant",title:t("space_hydrogen_plant_title"),desc(){return`
${t("space_hydrogen_plant_title")}
${t("space_hydrogen_plant_req")}
`},reqs:{titan_power:1},path:["truepath"],cost:{Money(r){return g("hydrogen_plant",r,15e5,1.28)},Iridium(r){return g("hydrogen_plant",r,292e3,1.28)},Stanene(r){return g("hydrogen_plant",r,599e3,1.28)},Cement(r){return g("hydrogen_plant",r,18e4,1.28)}},effect(){return`${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}, ${t("space_hydrogen_plant_effect",[1,t("space_electrolysis_title")])}`},support(){return 2},powered(){return et(-22)},action(){return u($(this)[0])?(K("hydrogen_plant"),e.space.electrolysis.on>e.space.hydrogen_plant.on&&e.space.hydrogen_plant.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["hydrogen_plant","space"]}}},titan_quarters:{id:"space-titan_quarters",title:t("interstellar_habitat_title"),desc(){return`
${t("interstellar_habitat_title")}
${t("space_habitat_req",[Y().titan,e.resource.Food.name,e.resource.Water.name])}
`},reqs:{titan:4},path:["truepath"],cost:{Money(r){return g("titan_quarters",r,12e5,1.28)},Furs(r){return g("titan_quarters",r,85e3,1.28)},Plywood(r){return g("titan_quarters",r,1e5,1.28)},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=N(1);return`
${t("space_used_support",[Y().titan])}
${t("plus_max_resource",[N(1),e.race.truepath?t("job_colonist_tp",[Y().titan]):t("colonist")])}
${t("plus_max_resource",[r,t("citizen")])}
${t("spend",[$(this)[0].support_fuel()[0].a,e.resource[$(this)[0].support_fuel()[0].r].name])}
${t("spend",[$(this)[0].support_fuel()[1].a,e.resource[$(this)[0].support_fuel()[1].r].name])}
`},s_type:"titan",support(){return-1},support_fuel(){return[{r:"Water",a:12},{r:"Food",a:500}]},powered(){return 0},action(){if(u($(this)[0])){if(K("titan_quarters"),e.civic.titan_colonist.display=!0,re($(this)[0])){e.resource[e.race.species].max+=N(1);let r=N(1);e.civic.titan_colonist.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.titan_colonist.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["titan_quarters","space"]}},citizens(){let r=1;return e.race.high_pop&&(r*=b.high_pop.vars()[0]),r}},titan_mine:{id:"space-titan_mine",title(){return Ze("mine")},desc(){return`
${t("space_red_mine_desc")}
${t("space_support",[Y().titan])}
`},reqs:{titan:4},condition(){return!!(e.space.titan_quarters&&e.space.titan_quarters.count>0)},path:["truepath"],cost:{Money(r){return g("titan_mine",r,475e3,1.28)},Lumber(r){return g("titan_mine",r,568e3,1.28)},Wrought_Iron(r){return g("titan_mine",r,25e4,1.28)}},effect(){let r=D("titan_mine","adamantite"),a=D("titan_mine","aluminium"),i=+r.toFixed(3),s=+a.toFixed(3);return`
${t("space_used_support",[Y().titan])}
${t("space_red_mine_effect",[i,e.resource.Adamantite.name])}
${t("space_red_mine_effect",[s,e.resource.Aluminium.name])}
`},s_type:"titan",support(){return-1},powered(){return 0},special(){return!0},action(){return u($(this)[0])?(K("titan_mine"),e.resource.Adamantite.display=!0,re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,ratio:90},p:["titan_mine","space"]}}},storehouse:{id:"space-storehouse",title:t("space_storehouse_title"),desc:t("space_storehouse_title"),reqs:{titan:5},path:["truepath"],cost:{Money(r){return g("storehouse",r,175e3,1.28)},Lumber(r){return g("storehouse",r,1e5,1.28)},Aluminium(r){return g("storehouse",r,12e4,1.28)},Cement(r){return g("storehouse",r,45e3,1.28)}},wide:!0,res(){return["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Steel","Titanium","Alloy","Polymer","Iridium","Chrysotile","Nano_Tube","Neutronium","Adamantite"]},heavy(r){return!!["Copper","Iron","Steel","Titanium","Iridium","Neutronium","Adamantite"].includes(r)},val(r){switch(r){case"Lumber":return 3e3;case"Stone":return 3e3;case"Chrysotile":return 3e3;case"Furs":return 1700;case"Copper":return 1520;case"Iron":return 1400;case"Aluminium":return 1280;case"Cement":return 1120;case"Coal":return 480;case"Steel":return 240;case"Titanium":return 160;case"Alloy":return 180;case"Polymer":return 150;case"Iridium":return 175;case"Nano_Tube":return 120;case"Neutronium":return 64;case"Adamantite":return 72;default:return 0}},effect(r){let a='
',i=Ra("storehouse",!1,r),s=Ra("storehouse",!0,r);for(let n of $(this)[0].res())if(e.resource[n].display){let c=$(this)[0].heavy(n),l=$e(+(Q($(this)[0].val(n))*(c?s:i)).toFixed(0),1);a=a+`${t("plus_max_resource",[l,e.resource[n].name])}`}return a=a+"
",a},action(){if(u($(this)[0])){K("storehouse");let r=Ra("storehouse",!1),a=Ra("storehouse",!0);for(let i of $(this)[0].res())if(e.resource[i].display){let s=$(this)[0].heavy(i);e.resource[i].max+=Q($(this)[0].val(i))*(s?a:r)}return!0}return!1},struct(){return{d:{count:0},p:["storehouse","space"]}}},titan_bank:{id:"space-titan_bank",title:t("city_bank"),desc(){return t("city_bank_desc",[Y().titan])},reqs:{titan:6},path:["truepath"],cost:{Money(r){return g("titan_bank",r,25e5,1.32)},Titanium(r){return g("titan_bank",r,38e4,1.32)},Neutronium(r){return g("titan_bank",r,5e3,1.32)}},effect(){let r=yr()*2;return r=Q(r),r=(+r.toFixed(0)).toLocaleString(),t("plus_max_resource",[`$${r}`,t("resource_Money_name")])},action(){return u($(this)[0])?(e.resource.Money.max+=Q(1800),K("titan_bank"),!0):!1},struct(){return{d:{count:0},p:["titan_bank","space"]}}},g_factory:{id:"space-g_factory",title:t("interstellar_g_factory_title"),desc(){return`
${t("interstellar_g_factory_title")}
${t("space_support",[Y().titan])}
`},reqs:{graphene:1},path:["truepath"],cost:{Money(r){return g("g_factory",r,95e4,1.28)},Copper(r){return g("g_factory",r,165e3,1.28)},Stone(r){return g("g_factory",r,22e4,1.28)},Adamantite(r){return g("g_factory",r,12500,1.28)}},effect(){let r=.05;return e.race.high_pop&&(r=+ge(r).toFixed(3)),`
${t("space_used_support",[Y().titan])}
${t("space_red_mine_effect",[r,e.resource.Graphene.name])}
${t("interstellar_g_factory_effect")}
`},s_type:"titan",support(){return-1},powered(){return 0},special:!0,action(){return u($(this)[0])?(K("g_factory"),e.resource.Graphene.display=!0,re($(this)[0])&&(e.race.kindling_kindred||e.race.smoldering?e.space.g_factory.Oil++:e.space.g_factory.Lumber++),e.settings.showIndustry=!0,nt(),!0):!1},struct(){return{d:{count:0,on:0,Lumber:0,Coal:0,Oil:0},p:["g_factory","space"]}}},sam:{id:"space-sam",title:t("space_sam_title"),desc(){return`
${t("space_sam_desc")}
${t("requires_power")}
`},reqs:{titan:7},path:["truepath"],cost:{Money(r){return g("sam",r,25e5,1.28)},Steel(r){return g("sam",r,45e4,1.28)},Elerium(r){return g("sam",r,120,1.28)},Brick(r){return g("sam",r,16e4,1.28)}},effect(){return`
${t("galaxy_defense_platform_effect",[25])}
`+`
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return de(5)},action(){return u($(this)[0])?(K("sam"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["sam","space"]}},post(){H({el:"#spc_titansynd"},"update")}},decoder:{id:"space-decoder",title:t("space_decoder_title"),desc(){return`
${t("space_decoder_title")}
${t("requires_power_support_combo",[Y().titan,e.resource.Cipher.name])}
`},reqs:{titan:8},path:["truepath"],cost:{Money(r){return g("decoder",r,125e5,1.275)},Elerium(r){return g("decoder",r,750,1.275)},Orichalcum(r){return g("decoder",r,33e4,1.275)},Quantium(r){return g("decoder",r,18e4,1.275)}},effect(r){let a=$(this)[0].support_fuel().a,i=2500;e.race.high_pop&&(i=ge(i)),(r?e.space?.ai_core2?.on??0:k.ai_core2)&&(i*=1.25);let s=`
${t("space_used_support",[Y().titan])}
`;return s+=`
${t("space_red_exotic_lab_effect1",[i])}
`,s+`
${t("spend",[a,e.resource[$(this)[0].support_fuel().r].name])}
`},s_type:"titan",support(){return-1},powered(){return 0},support_fuel(){return{r:"Cipher",a:.06}},action(){return u($(this)[0])?(K("decoder"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["decoder","space"]}}},ai_core:{id:"space-ai_core",title:t("space_ai_core"),desc(r){return!e.space.hasOwnProperty("ai_core")||e.space.ai_core.count<100||r?`
${t("space_ai_core")}
${t("requires_segments",[100])}
`+(e.space.hasOwnProperty("ai_core")&&e.space.ai_core.count>=100?`
${t("requires_power")}
`:""):`
${t("space_ai_core")}
`},reqs:{titan:9},path:["truepath"],condition(){return!(e.space.ai_core.count>=100)},queue_size:10,queue_complete(){return 100-e.space.ai_core.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?25e5:0},Cement(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?18e4:0},Aluminium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?25e4:0},Elerium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?250:0},Nano_Tube(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?125e3:0},Orichalcum(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?5e4:0},Quantium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?1e5:0},Cipher(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?750:0}},effect(r){let a=`
${t("space_ai_core_effect")}
`,i=(r?.count??0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0);if(i<100){let s=100-i;a+=`
${t("space_dwarf_collider_effect2",[s])}
`}else return es.spc_titan.ai_core2.effect(r);return a},action(){return u($(this)[0])&&e.space.ai_core.count<100?(K("ai_core"),e.space.ai_core.count>=100&&(e.tech.titan_ai_core=1,e.space.ai_core2={count:1,on:0},re($(es.spc_titan.ai_core2)[0]),At(),ce(),e.city.ptrait.includes("kamikaze")&&!e.race.tidal_decay&&I(t("planet_kamikaze_stabilize",[E[e.race.species].home,100]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0},p:["ai_core","space"]}}},ai_core2:{id:"space-ai_core2",title:t("space_ai_core"),desc(){return`
${t("space_ai_core")}
${t("space_electrolysis_req",[e.resource[$(this)[0].p_fuel().r].name])}
`},reqs:{titan_ai_core:1},path:["truepath"],condition(){return!!(e.space.hasOwnProperty("ai_core")&&e.space.ai_core.count>=100)},wiki:!1,queue_complete(){return 0},cost:{},powered(){return de(100)},p_fuel(){return{r:"Water",a:1e3}},effect(r){let a=25,i=`
${t("interstellar_citadel_stat",[+va(r).toFixed(1)])}
`;if(i+=`
${t("interstellar_citadel_effect",[a])}
${t("space_ai_core_effect2",[a])}
`,e.tech.titan_ai_core&&e.tech.titan_ai_core>=2&&(i+=`
${t("space_ai_core_effect3",[50])}
`),i+=`
${t("space_electrolysis_use",[$(this)[0].p_fuel().a,e.resource[$(this)[0].p_fuel().r].name,$(this)[0].powered()])}
`,e.tech.titan_ai_core&&e.tech.titan_ai_core>=3){let s=+fc(r).toFixed(1);i+=`
${t("space_ai_core_effect4",[s])}
`}return i},action(){return!1},flair(){return e.space.hasOwnProperty("ai_core2")&&e.space.ai_core2.on>=1?t("space_ai_core_flair"):t("space_ai_core_flair2")}},ai_colonist:{id:"space-ai_colonist",title:t("space_ai_colonist_title"),desc(){return`
${t("space_ai_colonist_title")}
${t("requires_power")}
`},reqs:{titan_ai_core:3},path:["truepath"],cost:{Money(r){return g("ai_colonist",r,112e6,1.35)},Alloy(r){return g("ai_colonist",r,75e4,1.35)},Elerium(r){return g("ai_colonist",r,500,1.35)},Nano_Tube(r){return g("ai_colonist",r,525e3,1.35)},Quantium(r){return g("ai_colonist",r,15e4,1.35)},Cipher(r){return g("ai_colonist",r,1e4,1.35)}},effect(){return`
${t("plus_max_resource",[N(1),e.race.truepath?t("job_colonist_tp",[Y().titan]):t("colonist")])}
${t("space_ai_colonist_effect",[N(1),Y().titan])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return de(10)},action(){return u($(this)[0])?(K("ai_colonist"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["ai_colonist","space"]}},flair:t("tech_combat_droids_flair")},wonder_gardens:{id:"space-wonder_gardens",title(){return t("space_wonder_gardens",[Y().titan])},desc(){return t("space_wonder_gardens",[Y().titan])},reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.space.wonder_gardens)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}}},spc_enceladus:{info:{name(){return Y().enceladus},desc(){return t("space_enceladus_info_desc",[Y().enceladus,E[e.race.species].home])},support:"titan_spaceport",zone:"outer",syndicate(){return!!(e.tech.titan&&e.tech.titan>=3&&e.tech.enceladus&&e.tech.enceladus>=2)},syndicate_cap(){return e.tech.triton?e.tech.outer>=4?1500:1e3:600}},enceladus_mission:{id:"space-enceladus_mission",title(){return t("space_mission_title",[Y().enceladus])},desc(){return t("space_mission_desc",[Y().enceladus])},reqs:{outer:1},grant:["enceladus",1],path:["truepath"],queue_complete(){return e.tech.enceladus>=1?0:1},cost:{Helium_3(r,a){return+Ae(25e4,!1,a).toFixed(0)},Elerium(){return 100}},effect(){return t("space_titan_mission_effect",[Y().enceladus])},action(){return u($(this)[0])?(I(t("space_enceladus_mission_action",[Y().enceladus]),"info",!1,["progress"]),e.resource.Water.display=!0,!0):!1}},water_freighter:{id:"space-water_freighter",title:t("space_water_freighter_title"),desc(){return`
${t("space_water_freighter_title")}
${t("space_support",[Y().enceladus])}
`},reqs:{enceladus:2},path:["truepath"],cost:{Money(r){return g("water_freighter",r,45e4,1.25)},Iron(r){return g("water_freighter",r,362e3,1.25)},Nano_Tube(r){return g("water_freighter",r,125e3,1.25)},Sheet_Metal(r){return g("water_freighter",r,75e3,1.25)}},effect(r){let a=+Ae(5,!0,r).toFixed(2),i=+D("water_freighter").toFixed(2);return`
${t("space_used_support",[Y().enceladus])}
${t("produce",[i,e.resource.Water.name])}
${t("space_belt_station_effect3",[a])}
`},s_type:"enceladus",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("water_freighter"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["water_freighter","space"]}}},zero_g_lab:{id:"space-zero_g_lab",title:t("tech_zero_g_lab"),desc(){return`
${t("tech_zero_g_lab")}
${t("requires_power_support",[Y().enceladus])}
`},reqs:{enceladus:3},path:["truepath"],cost:{Money(r){return g("zero_g_lab",r,5e6,1.25)},Alloy(r){return g("zero_g_lab",r,125e3,1.25)},Graphene(r){return g("zero_g_lab",r,225e3,1.25)},Stanene(r){return g("zero_g_lab",r,6e5,1.25)}},effect(){let r=wt("spc_enceladus"),a=Math.round(1e4*r),i=`
${t("space_used_support",[Y().enceladus])}
${t("city_max_knowledge",[a])}
`;return e.resource.Quantium.display&&(i=i+`
${t("space_zero_g_lab_effect",[N(1)])}
`),e.resource.Cipher.display&&(i=i+`
${t("plus_max_resource",[1e4,e.resource.Cipher.name])}
`),i+`
${t("minus_power",[$(this)[0].powered()])}
`},s_type:"enceladus",support(){return-1},powered(){return de(12)},action(){return u($(this)[0])?(K("zero_g_lab"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["zero_g_lab","space"]}},post(){Dt()},postPower(r){Fi("Quantium")}},operating_base:{id:"space-operating_base",title:t("tech_operating_base"),desc(){return`
${t("tech_operating_base")}
${t("requires_power_support",[Y().enceladus])}
`},reqs:{enceladus:4},path:["truepath"],cost:{Money(r){return g("operating_base",r,75e5,1.3)},Furs(r){return g("operating_base",r,5e5,1.3)},Adamantite(r){return g("operating_base",r,375e3,1.3)},Stanene(r){return g("operating_base",r,75e4,1.3)},Mythril(r){return g("operating_base",r,225e3,1.3)},Horseshoe(){return e.race.hooved?4:0}},effect(){let r=`
${t("space_used_support",[Y().enceladus])}
`;if(r+=`
${t("galaxy_defense_platform_effect",[50])}
`,r+=t("plus_max_resource",[$(this)[0].soldiers(),t("civics_garrison_soldiers")]),e.race.orbit_decayed){let a=e.tech.medic*5;r+=`
${t("city_hospital_effect",[a])}
`}return r+`
${t("minus_power",[$(this)[0].powered()])}
`},s_type:"enceladus",support(){return-1},powered(){return de(10)},action(){return u($(this)[0])?(K("operating_base"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["operating_base","space"]}},soldiers(){let r=e.race.grenadier?3:4;return N(r)},post(){H({el:"#spc_enceladussynd"},"update")}},munitions_depot:{id:"space-munitions_depot",title:t("tech_munitions_depot"),desc:t("tech_munitions_depot"),category:"storage",era:"solar",reqs:{enceladus:5},path:["truepath"],cost:{Money(r){return g("munitions_depot",r,5e6,1.22)},Iron(r){return g("munitions_depot",r,185e3,1.22)},Sheet_Metal(r){return g("munitions_depot",r,1e5,1.22)}},effect(){let r=25;return`
${t("plus_max_crates",[r])}
${t("plus_max_containers",[r])}
`},action(){return u($(this)[0])?(K("munitions_depot"),e.resource.Crates.max+=25,e.resource.Containers.max+=25,e.resource.Containers.display||oa(),!0):!1},struct(){return{d:{count:0},p:["munitions_depot","space"]}}}},spc_triton:{info:{name(){return Y().triton},desc(){return t("space_triton_info_desc",[Y().triton,E[e.race.species].home])},zone:"outer",syndicate(){return!!(e.tech.triton&&e.tech.triton>=2)},syndicate_cap(){return e.tech.outer&&e.tech.outer>=4?5e3:3e3},extra(r){e.tech.triton&&e.tech.triton>=3&&($(`#${r}`).append(`
${t("space_ground_resist")}
`),H({el:`#${r}resist`,data:e.space.fob,methods:{threat(a,i){let s=e.civic.garrison.wounded-De();s<0&&(s=0);let n=+(a-Ye(i,"army",s)).toFixed(0);return n<0?0:n}}}))}},triton_mission:{id:"space-triton_mission",title(){return t("space_mission_title",[Y().triton])},desc(){return t("space_mission_desc",[Y().triton])},reqs:{outer:2},grant:["triton",1],path:["truepath"],queue_complete(){return e.tech.triton>=1?0:1},cost:{Helium_3(r,a){return+Ae(6e5,!1,a).toFixed(0)},Elerium(){return 2500}},effect(){return t("space_triton_mission_effect",[Y().triton])},action(){return u($(this)[0])?(I(t("space_triton_mission_action",[Y().triton]),"info",!1,["progress"]),e.space.syndicate.spc_triton=1250,e.space.syndicate.spc_titan+=250,e.space.syndicate.spc_enceladus+=250,!0):!1}},fob:{id:"space-fob",title:t("space_fob_title"),desc(){return`
${t("tech_fob")}
${t("requires_power_combo",[e.resource.Helium_3.name])}
`},reqs:{triton:2},path:["truepath"],queue_complete(){return 1-e.space.fob.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,25e7,1.1)},Copper(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,8e6,1.1)},Uranium(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,5e4,1.1)},Nano_Tube(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,25e5,1.1)},Graphene(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,3e6,1.1)},Sheet_Metal(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,75e5,1.1)},Quantium(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,5e5,1.1)},Horseshoe(r){return e.race.hooved&&(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)<1?10:0}},effect(r){let a=De(),i=De(!0),s=`
${t("galaxy_defense_platform_effect",[500])}
`;s+=t("plus_max_resource",[$(this)[0].soldiers(),t("civics_garrison_soldiers")]),s+=`
${t("civics_garrison_soldiers")}: ${a} / ${i}
`,s+=`
${t("civics_garrison_wounded")}: ${e.civic.garrison?e.civic.garrison.wounded:0}
`,s+=`
${t("space_fob_landed",[e.space.fob?e.space.fob.troops:0])}
`;let n=+Ae(125,!0,r).toFixed(2);return s+`
${t("requires_power_combo_effect",[$(this)[0].powered(),n,e.resource.Helium_3.name])}
`},powered(){return de(50)},action(){return e.space.fob.count<1&&u($(this)[0])?(K("fob"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,troops:0,enemy:0},p:["fob","space"]}},soldiers(){let r=e.race.grenadier?6:10;return N(r)},post(){e.tech.triton===2&&(e.tech.triton=3,ce(),At(),I(t("space_fob_msg"),"info",!1,["progress"]))}},lander:{id:"space-lander",title:t("space_lander_title"),desc(){return`
${t("space_lander_title")}
${t("requires_soldiers")}
${t("space_red_space_barracks_desc_req")}
`},reqs:{triton:3},path:["truepath"],cost:{Money(r){return g("lander",r,24e5,1.15)},Aluminium(r){return g("lander",r,185e3,1.15)},Neutronium(r){return g("lander",r,1e4,1.15)},Nano_Tube(r){return g("lander",r,158e3,1.15)}},powered(){return 0},effect(r){let a=+Ae(50,!0,r).toFixed(2),i="";return e.space.crashed_ship&&e.space.crashed_ship.count===100&&(i=`
${t("space_lander_effect3",[D("lander"),e.resource.Cipher.name])}
`),`
${t("space_lander_effect",[Y().triton])}
${i}
${t("space_lander_effect2",[N(3)])}
${t("space_red_space_barracks_effect2",[a])}
`},action(){return u($(this)[0])?(K("lander"),e.space.lander.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["lander","space"]}}},crashed_ship:{id:"space-crashed_ship",title:t("space_crashed_ship_title"),desc(){return`
${t("space_crashed_ship_title")}
`},reqs:{triton:3},path:["truepath"],queue_complete(){return 0},cost:{},effect(){let r=e.space.crashed_ship?e.space.crashed_ship.count:0;return`
${t("space_crashed_ship_effect",[r])}
`},action(){return!1},struct(){return{d:{count:0},p:["crashed_ship","space"]}}}},spc_kuiper:{info:{name(){return t("space_kuiper_title")},desc(){return t("space_kuiper_desc")},zone:"outer",syndicate(){return!!e.tech.kuiper},syndicate_cap(){return 2500}},kuiper_mission:{id:"space-kuiper_mission",title(){return t("space_mission_title",[t("space_kuiper_title")])},desc(){return t("space_mission_desc",[t("space_kuiper_title")])},reqs:{outer:7},grant:["kuiper",1],path:["truepath"],queue_complete(){return e.tech.kuiper>=1?0:1},cost:{Helium_3(r,a){return+Ae(1e6,!1,a).toFixed(0)},Elerium(){return 1e3}},effect(){return t("space_kuiper_mission_effect")},action(){return u($(this)[0])?(P(es.spc_kuiper.orichalcum_mine),P(es.spc_kuiper.uranium_mine),P(es.spc_kuiper.neutronium_mine),e.space.syndicate.spc_kuiper=500,I(t("space_kuiper_mission_action"),"info",!1,["progress"]),!0):!1}},orichalcum_mine:{id:"space-orichalcum_mine",title(){return t("space_kuiper_mine",[e.resource.Orichalcum.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Orichalcum.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return g("orichalcum_mine",r,25e6,1.25)},Graphene(r){return g("orichalcum_mine",r,9e5,1.25)},Elerium(r){return g("orichalcum_mine",r,200,1.25)},Mythril(r){return g("orichalcum_mine",r,45e4,1.25)},Quantium(r){return g("orichalcum_mine",r,15e4,1.25)}},effect(r){let a=+D("orichalcum_mine").toFixed(3),i=+Ae($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Orichalcum_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return de(10)},p_fuel(){return{r:"Oil",a:200}},action(){return u($(this)[0])?(K("orichalcum_mine"),e.resource.Orichalcum.display=!0,re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["orichalcum_mine","space"]}}},uranium_mine:{id:"space-uranium_mine",title(){return t("space_kuiper_mine",[e.resource.Uranium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Uranium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return g("uranium_mine",r,5e6,1.25)},Iridium(r){return g("uranium_mine",r,25e4,1.25)},Steel(r){return g("uranium_mine",r,62e4,1.25)}},effect(r){let a=+D("uranium_mine").toFixed(3),i=+Ae($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Uranium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return de(5)},p_fuel(){return{r:"Oil",a:60}},action(){return u($(this)[0])?(K("uranium_mine"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["uranium_mine","space"]}}},neutronium_mine:{id:"space-neutronium_mine",title(){return t("space_kuiper_mine",[e.resource.Neutronium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Neutronium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return g("neutronium_mine",r,8e6,1.25)},Adamantite(r){return g("neutronium_mine",r,65e4,1.25)},Stanene(r){return g("neutronium_mine",r,125e4,1.25)}},effect(r){let a=+D("neutronium_mine").toFixed(3),i=+Ae($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Neutronium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return de(8)},p_fuel(){return{r:"Oil",a:60}},action(){return u($(this)[0])?(K("neutronium_mine"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["neutronium_mine","space"]}}},elerium_mine:{id:"space-elerium_mine",title(){return t("space_kuiper_mine",[e.resource.Elerium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Elerium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:2},path:["truepath"],cost:{Money(r){return g("elerium_mine",r,2e7,1.25)},Titanium(r){return g("elerium_mine",r,25e4,1.25)},Neutronium(r){return g("elerium_mine",r,12e4,1.25)},Orichalcum(r){return g("elerium_mine",r,175e3,1.25)}},effect(r){let a=+D("elerium_mine").toFixed(3),i=+Ae($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Elerium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return de(12)},p_fuel(){return{r:"Oil",a:125}},action(){return u($(this)[0])?(K("elerium_mine"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_mine","space"]}}}},spc_eris:{info:{name(){return Y().eris},desc(){return t("space_eris_info_desc",[Y().eris])},support:"drone_control",zone:"outer",syndicate(){return!!e.tech.eris},syndicate_cap(){return 7500},extra(r){e.tech.eris&&e.tech.eris===1&&($(`#${r}`).append(`
${t("space_scanned")} {{ eris_scan }}%
`),H({el:`#${r}scanned`,data:e.tech}))}},eris_mission:{id:"space-eris_mission",title(){return t("space_mission_title",[Y().eris])},desc(){return t("space_mission_desc",[Y().eris])},reqs:{outer:7},grant:["eris",1],path:["truepath"],queue_complete(){return e.tech.eris>=1?0:1},cost:{Helium_3(r,a){return+Ae(125e4,!1,a).toFixed(0)},Elerium(){return 1250}},effect(){return t("space_eris_mission_effect",[Y().eris])},action(){return u($(this)[0])?(e.space.syndicate.spc_eris=4e3,I(t("space_eris_mission_action",[Y().eris]),"info",!1,["progress"]),!0):!1}},drone_control:{id:"space-drone_control",title(){return t("space_drone_control",[Y().titan])},desc(){return`
${t("space_drone_control",[Y().titan])}
${t("requires_power_combo",[e.resource[$(this)[0].p_fuel().r].name])}
`},reqs:{eris:3},path:["truepath"],cost:{Money(r){return g("drone_control",r,75e6,1.3)},Neutronium(r){return g("drone_control",r,1e5,1.3)},Stanene(r){return g("drone_control",r,45e4,1.3)},Quantium(r){return g("drone_control",r,3e5,1.3)}},effect(){let r=$(this)[0].p_fuel().a;return`
+${t("galaxy_alien2_support",[$(this)[0].support(),Y().eris])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),r,e.resource[$(this)[0].p_fuel().r].name])}
`},support(){return 5},powered(){return de(25)},p_fuel(){return{r:"Uranium",a:5}},action(){return u($(this)[0])?(K("drone_control"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["drone_control","space"]}}},shock_trooper:{id:"space-shock_trooper",title:t("space_shock_trooper_title"),desc(){return`
${t("space_shock_trooper_title")}
${t("space_support",[Y().eris])}
`},reqs:{eris:3},path:["truepath"],cost:{Money(r){return g("shock_trooper",r,425e4,1.225)},Polymer(r){return g("shock_trooper",r,375e3,1.225)},Adamantite(r){return g("shock_trooper",r,5e5,1.225)},Graphene(r){return g("shock_trooper",r,22e4,1.225)},Elerium(r){return g("shock_trooper",r,350,1.225)}},effect(){let r=Math.round(Ye(1,"army",0)*wt("spc_eris")),a=`
${t("space_used_support",[Y().eris])}
`;return e.space.digsite&&e.space.digsite.count===100&&(a=`
${t("space_lander_effect3",[D("shock_trooper"),e.resource.Cipher.name])}
`),a+`
${t("space_digsite_offense",[r])}
`},s_type:"eris",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("shock_trooper"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["shock_trooper","space"]}}},tank:{id:"space-tank",title:t("space_tank_title"),desc(){return`
${t("space_tank_title")}
${t("space_support",[Y().eris])}
`},reqs:{eris:4},path:["truepath"],cost:{Money(r){return g("tank",r,1e8,1.25)},Alloy(r){return g("tank",r,125e4,1.25)},Orichalcum(r){return g("tank",r,6e5,1.25)},Mythril(r){return g("tank",r,5e5,1.25)},Uranium(r){return g("tank",r,25e3,1.25)}},effect(){let r=Math.round(100*wt("spc_eris")),a=`
${t("space_used_support",[Y().eris])}
`;return e.space.digsite&&e.space.digsite.count===100&&(a=`
${t("space_lander_effect3",[D("tank"),e.resource.Cipher.name])}
`),a+`
${t("space_digsite_offense",[r])}
`},s_type:"eris",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("tank"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tank","space"]}}},digsite:{id:"space-digsite",title:t("space_digsite_title"),desc(){return`
${t("space_digsite_title")}
`},reqs:{eris:3},path:["truepath"],queue_complete(){return 0},cost:{},effect(){let r=e.space.digsite?e.space.digsite.count:0;return`
${t("space_crashed_ship_effect",[r])}
`},action(){return!1},struct(){return{d:{count:0,enemy:1e4},p:["digsite","space"]}}}}},He={tau_star:{info:{name(){return t("tab_tauceti")},desc(){return t("tau_star",[t("tab_tauceti"),t("space_sun_info_name")])}},ringworld:{id:"tauceti-ringworld",title:t("tau_star_ringworld"),desc(r){return!e.tauceti.hasOwnProperty("ringworld")||e.tauceti.ringworld.count<1e3||r?`
${t("tau_star_ringworld")}
${t("requires_segments",[1e3])}
`:`
${t("tau_star_ringworld")}
`},reqs:{matrix:2},path:["truepath"],queue_size:50,queue_complete(){return 1e3-e.tauceti.ringworld.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?1e7:1e8:0},Neutronium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?2e4:1e5:0},Nano_Tube(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?7e4:35e4:0},Adamantite(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?2e5:1e6:0},Bolognium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?17600:88e3:0},Orichalcum(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?25e3:125e3:0},Unobtainium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?360:1800:0},Quantium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?ca(e.race.lone_survivor?10100:101e3):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0);if(i<1e3){let s=1e3-i;a+=`
${t("tau_star_ringworld_effect")}
`,a+=`
${t("space_dwarf_collider_effect2",[s])}
`}else a+=`
${t("space_dwarf_reactor_effect1",[e.race.lone_survivor?100:1e4])}
`;return a},action(){return u($(this)[0])&&e.tauceti.ringworld.count<1e3?(K("ringworld","tauceti"),e.tauceti.ringworld.count>=1e3&&(e.race.lone_survivor?e.tech.eden=1:(e.tech.matrix=3,e.tauceti.matrix={count:1,on:0}),Dr(),je()),!0):!1},struct(){return{d:{count:0},p:["ringworld","tauceti"]}}},matrix:{id:"tauceti-matrix",title:t("tau_star_matrix"),desc(){return`
${t("tau_star_matrix")}
${t("requires_power")}
`},reqs:{matrix:3},condition(){return e.tauceti.ringworld.count>=1e3},queue_complete(){return 0},cost:{},powered(){return 1e4},postPower(r){r?setTimeout(function(){e.tech.matrix=k.matrix?4:3,Dr()},250):(e.tech.matrix=3,Dr())},effect(){let r=Eo(),a=$(this)[0].powered(),i=a>0?`
${t("minus_power",[a])}
`:"";return`
${t("tau_star_matrix_effect")}
${r}${i}`},action(){return!1}},blue_pill:{id:"tauceti-blue_pill",title:t("tau_star_blue_pill"),desc:t("tau_star_blue_pill"),wiki:!1,reqs:{matrix:4},queue_complete(){return 0},no_multi:!0,cost:{},effect(){let r=Eo();return`
${t("tau_star_blue_pill_effect")}
${r}`},action(){if(u($(this)[0])){let l=function(){a.fillStyle="#0001",a.fillRect(0,0,i,s),a.fillStyle="#0f0",a.font="15pt monospace",c.forEach((o,d)=>{let y=String.fromCharCode(Math.rand(65382,65438)),p=d*20;a.fillText(y,p,o),o>100+Math.random()*1e4?c[d]=0:c[d]=o+20})};$("body").append('');let r=document.getElementById("matrix"),a=r.getContext("2d"),i=r.width=document.body.offsetWidth,s=r.height=document.body.offsetHeight,n=Math.floor(i/20)+1,c=Array(n).fill(0);return setInterval(l,50),setTimeout(function(){Fo()},5e3),!0}return!1}},goe_facility:{id:"tauceti-goe_facility",title:t("tau_star_goe_facility"),desc(){return`
${t("tau_star_goe_facility")}
`},reqs:{eden:2},condition(){return e.tauceti.ringworld.count>=1e3},queue_complete(){return 0},cost:{Money(r){return 1e6},Copper(r){return 1e7},Graphene(r){return 5e6},Stanene(r){return 8e6},Elerium(r){return 1e4}},effect(){let r=zu();return`
${t("tau_star_goe_facility_effect")}
${r}`},action(){if(u($(this)[0])){let r=Kr(He.tau_star.goe_facility);return Object.keys(r).forEach(function(a){e.resource[a].amount+=r[a]()}),To(),!1}return!1},struct(){return{d:{count:0},p:["goe_facility","tauceti"]}}}},tau_home:{info:{name(){return t("tau_planet",[E[e.race.species].home])},desc(){return t("tau_home",[E[e.race.species].home])},support:"orbital_station",extra(r){e.tech.tau_home&&e.tech.tau_home>=2&&!Or()&&($(`#${r}`).append(`
${t("resource_Materials_name")} {{ amount | round | locale }} / {{ max | locale }}
`),H({el:`#${r}Mats`,data:e.resource.Materials,methods:{tauShow(){return!Or()}},filters:{round(a){return+a.toFixed(0)},locale(a){return a.toLocaleString()}}}))}},home_mission:{id:"tauceti-home_mission",title(){return t("tau_new_mission_title",[E[e.race.species].home])},desc(){return t("tau_new_mission_title",[E[e.race.species].home])},reqs:{tauceti:2},grant:["tau_home",1],path:["truepath"],queue_complete(){return e.tech.tau_home>=1?0:1},cost:{Money(){return 1e9}},effect(){return t("tau_new_mission_effect",[E[e.race.species].home])},action(){return u($(this)[0])?(P(He.tau_home.colony),P(He.tau_home.mining_pit),I(t("tau_home_mission_result",[E[e.race.species].home]),"info",!1,["progress"]),!0):!1}},dismantle:{id:"tauceti-dismantle",title(){return t("tau_home_dismantle")},desc(){return t("tau_home_dismantle")},reqs:{tau_home:1},grant:["tau_home",2],path:["truepath"],queue_complete(){return e.tech.tau_home>=2?0:1},cost:{Money(){return 1e8}},effect(){let r="Explorer";if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")){let a=e.space.shipyard.ships.findIndex(i=>i.location==="tauceti"&&i.class==="explorer");a!==-1&&(r=e.space.shipyard.ships[a].name)}return t("tau_home_dismantle_effect",[r])},action(){let r=-1;if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")&&(r=e.space.shipyard.ships.findIndex(a=>a.location==="tauceti"&&a.class==="explorer")),r>=0&&u($(this)[0])){if(e.space.shipyard.ships.splice(r,1),K("orbital_station","tauceti"),K("colony","tauceti"),K("mining_pit","tauceti"),e.civic.pit_miner.display=!0,e.resource.Materials.display=!0,re($(He.tau_home.orbital_station)[0])){e.tauceti.colony.on++,e.tauceti.mining_pit.on++;let a=$(He.tau_home.mining_pit)[0].workers();e.civic.pit_miner.max+=a;let i=Math.min(a,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=i,e.civic.pit_miner.workers+=i}return e.settings.tabLoad&&Ai(),!0}return!1}},orbital_station:{id:"tauceti-orbital_station",title:t("tau_home_orbital_station"),desc:`
${t("tau_home_orbital_station")}
${t("requires_power")}
`,reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return g("orbital_station",r,8e7,1.3,"tauceti")},Materials(r){return Or()?0:g("orbital_station",r,5e5,1.3,"tauceti")},Helium_3(r){return Or()?g("orbital_station",r,Fe(25e4),1.3,"tauceti"):0},Copper(r){return Or()?g("orbital_station",r,125e4,1.3,"tauceti"):0},Adamantite(r){return Or()?g("orbital_station",r,9e5,1.3,"tauceti"):0}},effect(){let r=Q(15e3),a=+Fe($(this)[0].support_fuel().a).toFixed(1),i=`
${t("space_red_spaceport_effect1",[t("tau_planet",[E[e.race.species].home]),$(this)[0].support()])}
`;return i=i+`
${t("plus_max_resource",[r.toLocaleString(),e.resource.Helium_3.name])}
`,i=i+`
${t("spend_power",[a,e.resource[$(this)[0].support_fuel().r].name,$(this)[0].powered()])}
`,i},support_fuel(){return{r:"Helium_3",a:e.tech.isolation?e.race.lone_survivor?5:25:400}},support(){return 3},powered(){return de(e.tech.isolation?e.race.lone_survivor?4:6:30)},refresh:!0,action(){return u($(this)[0])?(K("orbital_station","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["orbital_station","tauceti"]}}},colony:{id:"tauceti-colony",title:t("tau_home_colony"),desc(){return`
${t("tau_home_colony_desc",[E[e.race.species].home])}
${t("requires_power_support_combo",[E[e.race.species].home,e.resource.Food.name])}
`},reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return g("colony",r,1575e4,1.225,"tauceti")},Materials(r){return Or()?0:g("colony",r,65e4,1.225,"tauceti")},Furs(r){return Or()?g("colony",r,72e4,1.225,"tauceti"):0},Graphene(r){return Or()?g("colony",r,485e3,1.225,"tauceti"):0},Brick(r){return Or()?g("colony",r,ca(88e4),1.225,"tauceti"):0}},effect(){let r=$(this)[0].citizens(),a=e.tech.isolation?900:250,i=+$(this)[0].support_fuel().a.toFixed(1),s=`
${t("tau_new_support",[$(this)[0].support(),E[e.race.species].home])}
`;if(e.race.lone_survivor||(s=s+`
${t("plus_max_citizens",[r])}
`),e.tech.isolation){let n=yr()*25;n=Q(n),n=(+n.toFixed(0)).toLocaleString(),s=s+`
${t("plus_max_resource",[`$${n}`,t("resource_Money_name")])}
`}if(s=s+`
${t("tau_home_colony_effect",[50,E[e.race.species].home])}
`,e.tech.isolation){let n=ue("gaslighter",0),c=(n?n+e.tech.broadcast:e.tech.broadcast)*2;s=s+`
${t("space_red_vr_center_effect1",[c])}
`}return s=s+`
${t("plus_max_resource",[a,t("resource_Crates_name")])}
${t("plus_max_resource",[a,t("resource_Containers_name")])}
`,e.race.lone_survivor?s=s+`
${t("gain",[-i,e.resource[$(this)[0].support_fuel().r].name])}
`:s=s+`
${t("spend",[i,e.resource[$(this)[0].support_fuel().r].name])}
`,s},s_type:"tau_home",support(){return-2},support_fuel(){return{r:"Food",a:e.tech.isolation?e.race.lone_survivor?-2:75:1e3}},powered(){return 0},action(){return u($(this)[0])?(K("colony","tauceti"),re($(this)[0]),e.resource.Containers.display||oa(),!0):!1},struct(){return{d:{count:0,on:0},p:["colony","tauceti"]}},citizens(){let r=e.tech.isolation?8:5;return e.race.high_pop&&(r*=b.high_pop.vars()[0]),e.race.lone_survivor?0:r}},tau_housing:{id:"tauceti-tau_housing",title(){return Ft("small")},desc(){return $(this)[0].citizens()===1?t("city_basic_housing_desc"):t("city_basic_housing_desc_plural",[$(this)[0].citizens()])},category:"residential",reqs:{housing:1,isolation:1},condition(){return!e.race.lone_survivor},cost:{Money(r){return g("tau_housing",r,15e4,1.15,"tauceti")},Lumber(r){return e.race.kindling_kindred||e.race.smoldering?0:g("tau_housing",r,125e3,1.25,"tauceti")},Stone(r){return e.race.kindling_kindred?g("tau_housing",r,125e3,1.25,"tauceti"):0},Chrysotile(r){return e.race.smoldering?g("tau_housing",r,5e4,1.25,"tauceti"):0},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=$(this)[0].citizens();return e.race.sappy?`
${t("plus_max_resource",[r,t("citizen")])}
${t("city_grove_effect",[2.5])}
`:t("plus_max_resource",[r,t("citizen")])},action(){return u($(this)[0])?(K("tau_housing","tauceti"),!0):!1},struct(){return{d:{count:0},p:["tau_housing","tauceti"]}},citizens(){let r=1;return e.race.high_pop&&(r*=b.high_pop.vars()[0]),r}},captive_housing:vr("captive_housing","tauceti"),pylon:{id:"tauceti-pylon",title:t("tau_home_pylon"),desc:t("tau_home_pylon"),reqs:{magic:2},condition(){return!!(e.tech.isolation&&e.tauceti.hasOwnProperty("pylon"))},cost:{Money(r){return g("pylon",r,50,1.48,"tauceti")},Stone(r){return g("pylon",r,100,1.42,"tauceti")},Crystal(r){return g("pylon",r,8,1.42,"tauceti")-3}},effect(){let r=Q(2),a=+(.0125*bt("magic")).toFixed(3);return`
${t("gain",[a,e.resource.Mana.name])}
${t("plus_max_resource",[r,e.resource.Mana.name])}
`},special(){return!!(e.tech.magic&&e.tech.magic>=3)},action(){return u($(this)[0])?(K("pylon","tauceti"),e.resource.Mana.max+=Q(2),!0):!1},struct(){return{d:{count:0},p:["pylon","tauceti"]}}},cloning_facility:{id:"tauceti-cloning_facility",title:t("tau_home_cloning"),desc(){return t("tau_home_cloning_desc",[E[e.race.species].name])},category:"military",reqs:{cloning:1},path:["truepath"],queue_complete(){return e.resource[e.race.species].max-e.resource[e.race.species].amount},cost:{Money(r){return e.resource[e.race.species].amount?g("citizen",r,Math.round((e.race.high_pop?1e5:125e3)/N(1)),e.race.high_pop?1.01:1.02,"tauceti",e.race.high_pop?1.003:1.005):0},Copper(r){return!e.race.artifical||e.race.deconstructor?0:e.resource[e.race.species].amount>=5?g("citizen",r,Math.round(50/N(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0},Aluminium(r){return!e.race.artifical||e.race.deconstructor?0:e.resource[e.race.species].amount>=5?g("citizen",r,Math.round(50/N(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0},Nanite(r){return e.race.deconstructor&&e.resource[e.race.species].amount>=3?g("citizen",r,Math.round(500/N(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0}},effect(){let r="";return e.resource[e.race.species].max===e.resource[e.race.species].amount&&(r=`
${t("city_assembly_effect_warn")}
`),`
${t("tau_home_cloning_effect",[E[e.race.species].name])}
${r}`},action(){return e.resource[e.race.species].max>e.resource[e.race.species].amount&&u($(this)[0])?(e.resource[e.race.species].amount++,!0):!1},struct(){return{d:{count:0,on:0},p:["cloning_facility","tauceti"]}}},horseshoe:vr("horseshoe","tauceti"),bonfire:vr("bonfire","tauceti"),firework:vr("firework","tauceti"),assembly:vr("assembly","tauceti"),nanite_factory:vr("nanite_factory","tauceti"),tau_farm:{id:"tauceti-tau_farm",title:t("tau_home_tau_farm"),desc(){return`
${t("tau_home_tau_farm")}
${t("requires_power")}
`},reqs:{tau_home:7},path:["truepath"],cost:{Money(r){return g("tau_farm",r,135e6,1.25,"tauceti")},Stone(r){return g("tau_farm",r,921e4,1.25,"tauceti")},Steel(r){return g("tau_farm",r,6295e3,1.25,"tauceti")},Water(r){return g("tau_farm",r,1e4,1.25,"tauceti")}},effect(){let r=`
${t("space_red_spaceport_effect1",[t("tau_planet",[E[e.race.species].home]),$(this)[0].support()])}
`;if(r=r+`
${t("produce",[+D("tau_farm","food").toFixed(2),e.resource.Food.name])}
`,!e.race.kindling_kindred&&!e.race.smoldering&&(r=r+`
${t("produce",[+D("tau_farm","lumber").toFixed(2),e.resource.Lumber.name])}
`),e.tech.isolation){let a=+D("tau_farm","water").toFixed(2);if(r=r+`
${t("produce",[a,e.resource.Water.name])}
`,e.race.artifical){let i=Q(350);r=r+`
${t("city_transmitter_effect",[i])}
`}}return r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},support(){return 1},powered(){return de(e.tech.isolation?1:4)},action(){return u($(this)[0])?(K("tau_farm","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tau_farm","tauceti"]}}},mining_pit:{id:"tauceti-mining_pit",title:t("tau_home_mining_pit"),desc(){return`
${t("tau_home_mining_pit")}
${t("space_support",[E[e.race.species].home])}
`},reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return g("mining_pit",r,425e4,1.225,"tauceti")},Materials(r){return Or()?0:g("mining_pit",r,35e4,1.225,"tauceti")},Lumber(r){return Or()?g("mining_pit",r,235e4,1.225,"tauceti"):0},Iron(r){return Or()?g("mining_pit",r,835e3,1.225,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),E[e.race.species].home])}
`;if(r=r+`
${t("plus_max_resource",[$(this)[0].workers(),t("job_pit_miner")])}
`,!Or())r=r+`
${t("plus_max_resource",[1e6,t("resource_Materials_name")])}
`,r=r+`
${t("tau_home_mining_pit_effect",[e.resource.Materials.name])}
`;else if(e.tech.isolation){if(e.race.lone_survivor){let a=[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name,e.resource.Copper.name,e.resource.Iron.name,e.resource.Aluminium.name,e.resource.Coal.name];e.race.smoldering?(a.push(e.resource.Chrysotile.name),r=r+`
${t("tau_home_mining_pit_effect2cs",a)}
`):r=r+`
${t("tau_home_mining_pit_effect2c",a)}
`}else{let a=[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name,e.resource.Copper.name,e.resource.Coal.name];e.race.smoldering?(a.push(e.resource.Chrysotile.name),r=r+`
${t("tau_home_mining_pit_effect2bs",a)}
`):r=r+`
${t("tau_home_mining_pit_effect2b",a)}
`}r=r+`
${t("production",[8,e.resource.Cement.name])}
`}else r=r+`
${t("tau_home_mining_pit_effect2",[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name])}
`;return r},s_type:"tau_home",support(){return-1},powered(){return 0},workers(){return N(e.tech.isolation?6:8)},action(){if(u($(this)[0])){if(K("mining_pit","tauceti"),re($(this)[0])){let r=$(this)[0].workers();e.civic.pit_miner.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.pit_miner.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["mining_pit","tauceti"]}}},excavate:{id:"tauceti-excavate",title:t("tau_home_excavate"),desc(){return`
${t("tau_home_excavate")}
`},reqs:{tau_home:2},grant:["tau_home",3],path:["truepath"],cost:{Money(r){return 165e7},Materials(r){return 75e4}},effect(){return t("tau_home_excavate_effect")},action(){return u($(this)[0])?(I(t("tau_home_excavate_msg"),"info",!1,["progress"]),!0):!1}},alien_outpost:{id:"tauceti-alien_outpost",title:t("tech_alien_outpost"),desc(){return`
${t("tech_alien_outpost")}
${t("requires_power")}
`},reqs:{tau_home:4},path:["truepath"],cost:{},queue_complete(){return 0},effect(){let r=`
${t("plus_max_resource",["20%",t("resource_Knowledge_name")])}
`;return e.tech.isolation&&(r=r+`
${t("plus_max_resource",[(e.race.lone_survivor?35e5:65e5).toLocaleString(),t("resource_Knowledge_name")])}
`,r=r+`
${t("plus_max_resource",[2e5.toLocaleString(),e.resource.Cipher.name])}
`,r=r+`
${t("space_lander_effect3",[D("alien_outpost"),e.resource.Cipher.name])}
`),e.tech.outpost_boost&&(r=r+`
${t("tech_alien_outpost_effect2")}
`),e.race.lone_survivor&&(r=r+`
${t("city_wardenclyffe_effect1",[N(1),e.civic.professor.name])}
`),r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return de(e.tech.isolation?e.race.lone_survivor?8:25:100)},special(){return!!e.tech.replicator},action(){return!1},struct(){return{d:{count:1,on:0},p:["alien_outpost","tauceti"]}}},jump_gate:{id:"tauceti-jump_gate",title:t("tau_jump_gate"),desc(r){return!e.tauceti.hasOwnProperty("jump_gate")||e.tauceti.jump_gate.count<100||r?`
${t("tau_jump_gate")}
${t("requires_segments",[100])}
`:`
${t("tau_jump_gate")}
`},reqs:{tauceti:3},condition(){return e.tech.isolation?0:1},path:["truepath"],queue_size:10,queue_complete(){return 100-e.tauceti.jump_gate.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0)<100?1e6:0},Materials(r){return(r||0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0)<100?12500:0}},effect(r){let a=(r?.count??0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0);if(a<100){let i=100-a;return`
${t("tau_jump_gate_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return t("tau_jump_gate_effect")},action(){return u($(this)[0])&&e.tauceti.jump_gate.count<100?(K("jump_gate","tauceti"),!0):!1},struct(){return{d:{count:0},p:["jump_gate","tauceti"]}}},fusion_generator:{id:"tauceti-fusion_generator",title:t("tech_fusion_generator"),desc(){return`
${t("tech_fusion_generator")}
${t("requires_res",[e.resource.Helium_3.name])}
`},reqs:{tau_home:6},path:["truepath"],cost:{Money(r){return g("fusion_generator",r,188e6,1.25,"tauceti")},Iridium(r){return g("fusion_generator",r,555e4,1.25,"tauceti")},Stanene(r){return g("fusion_generator",r,7003500,1.25,"tauceti")},Sheet_Metal(r){return g("fusion_generator",r,ca(95e3),1.25,"tauceti")}},effect(){let r=+Fe($(this)[0].p_fuel().a).toFixed(1),a=`
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}
`;return e.race.lone_survivor?a=a+`
${t("gain",[-r,e.resource[$(this)[0].p_fuel().r].name])}
`:a=a+`
${t("spend",[r,e.resource[$(this)[0].p_fuel().r].name])}
`,a},p_fuel(){return{r:"Helium_3",a:e.tech.isolation?e.race.lone_survivor?-15:75:500}},powered(){return et(-32)},action(){return u($(this)[0])?(K("fusion_generator","tauceti"),e.tauceti.fusion_generator.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["fusion_generator","tauceti"]}}},repository:{id:"tauceti-repository",title:t("tech_repository"),desc:t("tech_repository"),reqs:{tau_home:5},path:["truepath"],cost:{Money(r){return g("repository",r,1028e4,1.28,"tauceti")},Iron(r){return g("repository",r,18e5,1.28,"tauceti")},Cement(r){return g("repository",r,15e5,1.28,"tauceti")},Neutronium(r){return g("repository",r,215e3,1.28,"tauceti")}},wide:!0,res(){let r=["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Steel","Titanium","Crystal","Alloy","Polymer","Iridium","Chrysotile","Nano_Tube","Neutronium","Adamantite","Unobtainium"];return e.tech.isolation&&(r.push("Oil"),r.push("Helium_3"),r.push("Uranium"),r.push("Water")),r},val(r){switch(r){case"Lumber":return 3e4;case"Stone":return 3e4;case"Chrysotile":return 3e4;case"Crystal":return 10;case"Furs":return 17e3;case"Copper":return 15200;case"Iron":return 14e3;case"Aluminium":return 12800;case"Cement":return 11200;case"Coal":return 4800;case"Steel":return 2400;case"Titanium":return 1600;case"Alloy":return 1800;case"Polymer":return 1500;case"Iridium":return 1750;case"Nano_Tube":return 1200;case"Neutronium":return 640;case"Adamantite":return 720;case"Unobtainium":return 1e3;case"Oil":return 680;case"Helium_3":return 575;case"Uranium":return 125;case"Water":return 15;case"Elerium":return 3;default:return 0}},effect(r){let a='
',i=Ra("repository",!1,r),s=250;for(let n of $(this)[0].res())if(e.resource[n].display){let c=$e(+(Q($(this)[0].val(n))*i).toFixed(0),1);a=a+`${t("plus_max_resource",[c,e.resource[n].name])}`}return e.tech.isolation&&(a=a+`${t("plus_max_resource",[s,t("resource_Crates_name")])}${t("plus_max_resource",[s,t("resource_Containers_name")])}`),a=a+"
",a},action(){if(u($(this)[0])){K("repository","tauceti");let r=250;e.resource.Crates.max+=r,e.resource.Containers.max+=r,e.resource.Containers.display||oa();let a=Ra("repository");for(let i of $(this)[0].res())e.resource[i].display&&(e.resource[i].max+=Q($(this)[0].val(i))*a);return!0}return!1},struct(){return{d:{count:0},p:["repository","tauceti"]}}},tau_factory:{id:"tauceti-tau_factory",title:t("tau_home_tau_factory"),desc(){return`
${t("tau_home_tau_factory")}
${t("requires_power_support",[E[e.race.species].home])}
`},reqs:{tau_home:8},path:["truepath"],cost:{Money(r){return g("tau_factory",r,269e6,1.25,"tauceti")},Titanium(r){return g("tau_factory",r,3e6,1.25,"tauceti")},Elerium(r){return g("tau_factory",r,850,1.25,"tauceti")},Bolognium(r){return g("tau_factory",r,25e4,1.25,"tauceti")},Quantium(r){return g("tau_factory",r,ca(425e3),1.25,"tauceti")}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),E[e.race.species].home])}
`;return r=r+`
${t("tau_home_tau_factory_effect",[$(this)[0].manufacturing()])}
`,e.tech.isolation&&(e.race.flier||(r=r+`
${t("plus_max_resource",[N(2),t("job_cement_worker")])}
`),r=r+`
${t("space_red_fabrication_effect1",[N(5)])}
`),r=r+`
${t("city_crafted_mats",[e.tech.isolation?275:90])}
`,r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},special:!0,s_type:"tau_home",support(){return-1},powered(){return de(e.tech.isolation?2:5)},manufacturing(){return e.tech.isolation?5:3},action(){return u($(this)[0])?(e.civic.craftsman.display=!0,K("tau_factory","tauceti"),re($(this)[0])&&(e.city.factory.Alloy+=$(this)[0].manufacturing(),nt()),!0):!1},struct(){return{d:{count:0,on:0},p:["tau_factory","tauceti"]}}},infectious_disease_lab:{id:"tauceti-infectious_disease_lab",title(){return e.tech.isolation?t("tech_infectious_disease_lab_alt"):t(e.race.artifical?"tech_infectious_disease_lab_s":"tech_infectious_disease_lab")},desc(){return`
${$(this)[0].title()}
${t("requires_power_support",[E[e.race.species].home])}
`},reqs:{disease:1},path:["truepath"],cost:{Money(r){return g("infectious_disease_lab",r,1e9,1.25,"tauceti")},Alloy(r){return g("infectious_disease_lab",r,325e5,1.25,"tauceti")},Polymer(r){return g("infectious_disease_lab",r,5e7,1.25,"tauceti")},Bolognium(r){return g("infectious_disease_lab",r,25e5,1.25,"tauceti")},Unobtainium(r){return g("infectious_disease_lab",r,64e3,1.25,"tauceti")}},effect(){let r=39616;if(e.tech.supercollider&&e.tech.isolation){let i=e.tech.tp_particles||e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/i+1}let a=`
${t("tau_new_support",[$(this)[0].support(),E[e.race.species].home])}
`;if(a=a+`
${t("city_max_knowledge",[Math.round(r).toLocaleString()])}
`,e.tech.isolation){let i=Q(375);a=a+`
${t("plus_max_resource",[i,t("resource_Elerium_name")])}
`,a=a+`
${t("city_wardenclyffe_effect1",[N(2),e.civic.professor.name])}
`,a=a+`
${t("city_wardenclyffe_effect1",[N(1),e.civic.scientist.name])}
`,a=a+`
${t("space_zero_g_lab_effect",[N(1)])}
`,a=a+`
${t("city_library_effect",[75])}
`}return e.tech.alien_crafting&&(a=a+`
${t("production",[65,e.resource.Quantium.name])}
`),e.tech.focus_cure&&(a=a+`
${t("tau_home_disease_lab_cure",[+e.tauceti.infectious_disease_lab.cure.toFixed(1)])}
`,e.race.hasOwnProperty("vax")&&(a=a+`
${t("tau_home_disease_lab_vax",[+e.race.vax.toFixed(2)])}
`)),a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},s_type:"tau_home",support(){return-1},powered(){return de(e.tech.isolation?e.race.lone_survivor?2:8:35)},action(){return u($(this)[0])?(K("infectious_disease_lab","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,cure:0},p:["infectious_disease_lab","tauceti"]}},post(){e.tech.disease===1&&(e.tech.disease=2,I(t("tau_plague4",[t("tab_tauceti")]),"info",!1,["progress"]),ce()),Dt()},postPower(r){Fi("Quantium")}},tauceti_casino:{id:"tauceti-tauceti_casino",title:t("city_casino"),desc:t("city_casino"),category:"commercial",reqs:{gambling:1,isolation:1},cost:{Money(r){return g("tauceti_casino",r,145e4,1.35,"tauceti")},Furs(r){return g("tauceti_casino",r,95e3,1.35,"tauceti")},Cement(r){return g("tauceti_casino",r,12e4,1.35,"tauceti")},Plywood(r){return g("tauceti_casino",r,ca(55e3),1.35,"tauceti")}},effect(){let r=$(this)[0].citizens(),a=e.race.lone_survivor?"":`
${t("plus_max_resource",[r,t("citizen")])}
`;return a=a+As(),a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},powered(){return de(e.race.lone_survivor?1:2)},action(){return u($(this)[0])?(K("tauceti_casino","tauceti"),e.race.joyless||(e.civic.entertainer.max+=N(1),e.civic.entertainer.display=!0),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tauceti_casino","tauceti"]}},citizens(){let r=1;return e.race.high_pop&&(r*=b.high_pop.vars()[0]),e.race.lone_survivor?0:r},flair:t("city_casino_flair")},tau_cultural_center:{id:"tauceti-tau_cultural_center",title:t("tech_cultural_center"),desc(){return`
${t("tech_cultural_center")}
${t("space_electrolysis_req",[e.resource[$(this)[0].p_fuel().r].name])}
`},category:"commercial",reqs:{tau_culture:1},path:["truepath"],cost:{Money(r){return g("tau_cultural_center",r,9145e4,1.35,"tauceti")},Copper(r){return g("tau_cultural_center",r,585e4,1.35,"tauceti")},Coal(r){return g("tau_cultural_center",r,465e3,1.35,"tauceti")},Polymer(r){return g("tau_cultural_center",r,3792e3,1.35,"tauceti")}},effect(){let r=8,a=1;e.civic.govern.type==="corpocracy"?a=2:e.civic.govern.type==="socialist"&&(a=.8);let i=20*a,s=5*a,n=15*a,c=`
${t("tau_home_cultureal_effect1",[$(this)[0].p_fuel().a,e.resource[$(this)[0].p_fuel().r].name,$(this)[0].title])}
`;return c+=`
${t("city_tourist_center_effect2",[i,Ze("casino")])}
`,c+=`
${t("city_tourist_center_effect2",[s,t("arpa_project_monument_title")])}
`,c+=`
${t("tau_home_cultureal_effect2",[r,t("tau_red_womlings")])}
`,e.tech.tau_culture>=2&&(c+=`
${t("tau_home_cultureal_effect3",[n,t(`tau_gas2_alien_station_data2_r${e.race.tau_food_item||0}`)])}
`),c+=`
${t("minus_power",[$(this)[0].powered()])}
`,c},powered(){return de(1)},p_fuel(){return{r:"Food",a:e.race.lone_survivor?25:500}},action(){return u($(this)[0])?(K("tau_cultural_center","tauceti"),e.tauceti.tau_cultural_center.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["tau_cultural_center","tauceti"]}}}},tau_red:{info:{name(){return t("tau_planet",[Y().red])},desc(){return t("tau_red",[Y().red])},support:"orbital_platform",extra(r){e.tech.tau_red&&e.tech.tau_red>=5&&($(`#${r}`).append(`
${t("tau_red_womling_prod")} {{ prod }}%
`),H({el:`#${r}Womlings`,data:e.tauceti.overseer}))}},red_mission:{id:"tauceti-red_mission",title(){return t("tau_new_mission_title",[Y().red])},desc(){return t("tau_new_mission_title",[Y().red])},reqs:{tauceti:2},grant:["tau_red",1],path:["truepath"],queue_complete(){return e.tech.tau_red>=1?0:1},cost:{Money(){return 1e9}},effect(){return t("tau_new_mission_effect",[Y().red])},action(){return u($(this)[0])?(e.tauceti.settlement={count:0,on:0},I(t("tau_red_mission_result",[Y().red]),"info",!1,["progress"]),!0):!1}},orbital_platform:{id:"tauceti-orbital_platform",title:t("tau_red_orbital_platform"),desc:`
${t("tau_red_orbital_platform")}
${t("requires_power")}
`,reqs:{tau_red:1,tauceti:4},path:["truepath"],cost:{Money(r){return g("orbital_platform",r,5e7,1.3,"tauceti")},Oil(r){return Or()?g("orbital_platform",r,Fe(Tu(275e3)),1.3,"tauceti"):0},Aluminium(r){return g("orbital_platform",r,178e4,1.3,"tauceti")},Bolognium(r){return g("orbital_platform",r,45e4,1.3,"tauceti")}},effect(){let r=Q(17500),a=+Fe($(this)[0].support_fuel().a).toFixed(1),i=`
${t("space_red_spaceport_effect1",[t("tau_planet",[Y().red]),$(this)[0].support()])}
`;return i=i+`
${t("plus_max_resource",[r.toLocaleString(),e.resource.Oil.name])}
`,i=i+`
${t("spend_power",[a,e.resource[$(this)[0].support_fuel().r].name,$(this)[0].powered()])}
`,i},support_fuel(){return{r:e.race.lone_survivor?"Helium_3":"Oil",a:e.tech.isolation?e.race.lone_survivor?8:32:125}},support(){let r=e.tech.womling_logistics?2.5:2;return e.race.lone_survivor&&(r*=2),r},powered(){return de(e.tech.isolation?e.race.lone_survivor?2:3:18)},refresh:!0,action(){return Or()&&u($(this)[0])?(K("orbital_platform","tauceti"),re($(this)[0]),e.tech.tau_red===1&&(e.tech.tau_red=2,I(t("tau_red_orbital_platform_msg",[t("tau_planet",[Y().red]),t("tau_planet",[E[e.race.species].home])]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["orbital_platform","tauceti"]}}},contact:{id:"tauceti-contact",title(){return t("tau_red_contact")},desc(){return t("tau_red_contact")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Money(){return 6e8},Food(){return e.race.lone_survivor&&e.race.artifical?62e3:25e5}},effect(){return t("tau_red_contact_effect")},action(){return u($(this)[0])?(e.race.womling_friend=1,lc(),!0):!1}},introduce:{id:"tauceti-introduce",title(){return t("tau_red_introduce")},desc(){return t("tau_red_introduce")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Knowledge(){return 7e6}},effect(){return t("tau_red_introduce_effect")},action(){return u($(this)[0])?(e.race.womling_god=1,lc(),!0):!1}},subjugate:{id:"tauceti-subjugate",title(){return t("tau_red_subjugate")},desc(){return t("tau_red_subjugate")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Money(){return 285e7}},effect(){return t("tau_red_subjugate_effect")},action(){return u($(this)[0])?(e.race.womling_lord=1,lc(),!0):!1}},jeff:{id:"tauceti-jeff",title(){return t("tau_red_jeff")},desc(){return t("tau_red_jeff")},reqs:{tau_red:5},path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{},effect(){let r=e.tauceti.overseer?e.tauceti.overseer.injured:0;e.tauceti.overseer&&e.tauceti.overseer.pop${t("tau_red_jeff_effect1",[e.tauceti.overseer?e.tauceti.overseer.pop:0])}`;return a=a+`
${t("tau_red_jeff_effect2",[e.tauceti.overseer?e.tauceti.overseer.working:0])}
`,a=a+`
${t("tau_red_jeff_effect3",[r])}
`,a=a+`
${t("tau_red_jeff_effect4",[e.tauceti.overseer?e.tauceti.overseer.loyal:0])}
`,a=a+`
${t("tau_red_jeff_effect5",[e.tauceti.overseer?e.tauceti.overseer.morale:0])}
`,e.tech.hasOwnProperty("womling_tech")&&(a=a+`
${t("tau_red_jeff_effect6",[e.tech.womling_tech])}
`),a=a+`
${t("job_farmer")}: ${e.tauceti.womling_farm?e.tauceti.womling_farm.farmers:0}
`,a=a+`
${t("job_miner")}: ${e.tauceti.womling_mine?e.tauceti.womling_mine.miners:0}
`,e.tauceti.womling_lab&&(a=a+`
${t("job_scientist")}: ${e.tauceti.womling_lab?e.tauceti.womling_lab.scientist:0}
`),a},action(){return!1}},overseer:{id:"tauceti-overseer",title(){return $(this)[0].name()},desc(){return`
${$(this)[0].name()}
${t("space_support",[Y().red])}
`},name(){return e.race.womling_lord?t("tau_red_overseer"):e.race.womling_god?t("tau_red_womgod"):t("tau_red_womally")},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return g("overseer",r,6e6,1.28,"tauceti")},Cement(r){return g("overseer",r,245e4,1.28,"tauceti")},Alloy(r){return e.race.womling_friend?g("overseer",r,185e4,1.28,"tauceti"):0},Neutronium(r){return e.race.womling_lord?g("overseer",r,165e3,1.28,"tauceti"):0},Titanium(r){return e.race.womling_god?g("overseer",r,225e4,1.28,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return r=r+`
${t("tau_red_overseer_effect",[$(this)[0].val()])}
`,r},val(){let r=0;return e.race.womling_lord?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?12:10:e.race.womling_god?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?6:5:e.race.womling_friend&&(r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?10:8),e.race.lone_survivor&&(r*=2),r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("overseer","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,pop:0,working:0,injured:0,morale:0,loyal:0,prod:0},p:["overseer","tauceti"]}}},womling_village:{id:"tauceti-womling_village",title:t("tau_red_womling_village"),desc(){return`
${t("tau_red_womling_village")}
${t("space_support",[Y().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return g("womling_village",r,1e7,1.28,"tauceti")},Stone(r){return g("womling_village",r,225e4,1.28,"tauceti")},Plywood(r){return g("womling_village",r,ca(125e4),1.28,"tauceti")},Wrought_Iron(r){return g("womling_village",r,ca(4e5),1.28,"tauceti")}},effect(){let r=e.tech.womling_pop&&e.tech.womling_pop>=2?6:5,a=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return a=a+`
${t("tau_red_womling_village_effect",[r])}
`,e.tech.tau_junksale&&(a=a+`
${t("tau_red_womling_village_effect2",[40,t(`tau_gas2_alien_station_data4_r${e.race.tau_junk_item||0}`)])}
`),a},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("womling_village","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:1,on:1},p:["womling_village","tauceti"]}}},womling_farm:{id:"tauceti-womling_farm",title:t("tau_red_womling_farm"),desc(){return`
${t("tau_red_womling_farm")}
${t("space_support",[Y().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return g("womling_farm",r,24e6,1.28,"tauceti")},Iron(r){return g("womling_farm",r,95e5,1.28,"tauceti")},Water(r){return g("womling_farm",r,5e3,1.28,"tauceti")}},effect(){let r=e.tech.womling_pop?16:12;e.tech.womling_gene&&(r+=4);let a=e.tauceti.hasOwnProperty("womling_farm")?e.tauceti.womling_farm.farmers:0,i=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return i=i+`
${t("tau_red_womling_farm_effect",[r])}
`,i=i+`
${t("tau_red_womling_employ",[2])}
`,e.tech.isolation&&(i=i+`
${t("tau_red_womling_generate",[e.resource.Furs.name])}
`),i=i+`
${t("tau_red_womling_farm_effect2",[r/2*a])}
`,i},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("womling_farm","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:1,on:1,farmers:0},p:["womling_farm","tauceti"]}}},womling_mine:{id:"tauceti-womling_mine",title:t("tau_red_womling_mine"),desc(){return`
${t("tau_red_womling_mine")}
${t("space_support",[Y().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return g("womling_mine",r,125e5,1.28,"tauceti")},Lumber(r){return g("womling_mine",r,128e5,1.28,"tauceti")},Steel(r){return g("womling_mine",r,45e5,1.28,"tauceti")}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return e.tech.isolation?e.race.lone_survivor?r=r+`
${t("tau_red_womling_mine_effect_c",[e.resource.Unobtainium.name,e.resource.Uranium.name,e.resource.Titanium.name,e.resource.Iron.name,e.resource.Copper.name,e.resource.Aluminium.name,e.resource.Neutronium.name,e.resource.Iridium.name])}
`:r=r+`
${t("tau_red_womling_mine_effect_b",[e.resource.Unobtainium.name,e.resource.Uranium.name,e.resource.Titanium.name])}
`:r=r+`
${t("tau_red_womling_mine_effect_a",[e.resource.Unobtainium.name])}
`,r=r+`
${t("tau_red_womling_employ",[6])}
`,r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("womling_mine","tauceti"),e.resource.Unobtainium.display=!0,re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,miners:0},p:["womling_mine","tauceti"]}},flair(){return t("tau_red_womling_mine_flair")}},womling_fun:{id:"tauceti-womling_fun",title(){return $(this)[0].name()},desc(){return`
${$(this)[0].name()}
${t("space_support",[Y().red])}
`},name(){return e.race.womling_lord?t("tau_red_womling_fun1"):e.race.womling_god?t("tau_red_womling_fun2"):t("tau_red_womling_fun3")},reqs:{tau_red:6},path:["truepath"],cost:{Money(r){return g("womling_fun",r,38e5,1.28,"tauceti")},Food(r){return e.race.womling_friend?g("womling_fun",r,175e3,1.28,"tauceti"):0},Lumber(r){return g("womling_fun",r,5e5,1.28,"tauceti")},Stone(r){return g("womling_fun",r,5e5,1.28,"tauceti")},Furs(r){return e.race.womling_lord||e.race.womling_god?g("womling_fun",r,835e3,1.28,"tauceti"):0},Copper(r){return e.race.womling_lord?g("womling_fun",r,1125e3,1.28,"tauceti"):0},Alloy(r){return e.race.womling_god?g("womling_fun",r,656e3,1.28,"tauceti"):0},Water(r){return e.race.womling_friend?g("womling_fun",r,3500,1.28,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return r=r+`
${t("tau_red_womling_fun_effect",[$(this)[0].val()])}
`,r},val(){let r=0;return e.race.womling_lord?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?24:20:e.race.womling_god?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?12:10:e.race.womling_friend&&(r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?18:15),e.race.lone_survivor&&(r*=2),r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("womling_fun","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["womling_fun","tauceti"]}}},womling_lab:{id:"tauceti-womling_lab",title:t("interstellar_laboratory_title"),desc(){return`
${t("interstellar_laboratory_title")}
${t("space_support",[Y().red])}
`},reqs:{tau_red:7},path:["truepath"],cost:{Money(r){return g("womling_lab",r,65e6,1.28,"tauceti")},Elerium(r){return g("womling_lab",r,1200,1.28,"tauceti")},Orichalcum(r){return g("womling_lab",r,25e5,1.28,"tauceti")},Unobtainium(r){return g("womling_lab",r,1e4,1.28,"tauceti")},Quantium(r){return g("womling_lab",r,ca(95e3),1.28,"tauceti")}},effect(){let r=e.tauceti.hasOwnProperty("overseer")?e.tauceti.overseer.prod:100,a=Math.round(25e3*r/100),i=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return i=i+`
${t("tau_red_womling_lab_effect",[a])}
`,i=i+`
${t("tau_red_womling_employ_single",[1])}
`,i},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("womling_lab","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,scientist:0,tech:0},p:["womling_lab","tauceti"]}}}},tau_gas:{info:{name(r,a){let i=a||"gas_name",s=i==="gas_name"?0:1;if(r||e.race[i])switch(r||e.race[i]){case 1:{let n=e.race.universe==="antimatter"?"plasmid":"antiplasmid";switch(Math.round(e.stats[n]+s)%3){case 1:return t("tau_planet",[Y().gas]);case 2:return t("tau_gas_title0a",[Y().gas]);default:return t("tau_gas_title0b",[Y().gas])}}case 2:switch(Math.round(e.stats.reset+s)%3){case 1:return t("tau_gas_title1a");case 2:return t("tau_gas_title1b");default:return t("tau_gas_title1c")}case 3:switch(Math.round(e.stats.mad+s)%3){case 1:return t("tau_gas_title2a");case 2:return t("tau_gas_title2b");default:return t("tau_gas_title2c")}case 4:switch(Math.round(e.stats.bioseed+s)%3){case 1:return t("tau_gas_title3a",[E[e.race.gods].solar.gas]);case 2:return t("tau_gas_title3b",[E[e.race.old_gods].name]);default:return t("tau_gas_title3c",[E[e.race.species].name])}case 5:switch(Math.round(e.stats.portals+s)%3){case 1:return t("tau_gas_title4a",[Y().gas]);case 2:return t("tau_gas_title4b",[ct("reverse",Y().gas)]);default:return t("tau_gas_title4c")}case 6:switch(Math.round(e.stats.womling.friend.l+e.stats.womling.lord.l+e.stats.womling.god.l+s)%3){case 1:return t("tau_gas_title5a");case 2:return t("tau_gas_title5b");default:return t("tau_gas_title5c")}case 7:switch(Math.round(e.stats.tdays+s)%3){case 1:return t("tau_gas_title6a");case 2:return t("tau_gas_title6b");default:return t("tau_gas_title6c")}default:return i==="gas_name"?t("tau_gas_title"):t("tau_gas2_title")}return i==="gas_name"?t("tau_gas_title"):t("tau_gas2_title")},desc(){return t("tau_gas_desc")}},gas_contest:{id:"tauceti-gas_contest",title(){return t("tau_gas_contest_title")},desc(){return t("tau_gas_contest_title")},reqs:{tauceti:5},grant:["tau_gas",1],path:["truepath"],queue_complete(){return e.tech.tau_gas>=1?0:1},cost:{Money(){return 1e7}},effect(){return e.race.lone_survivor?t("tau_gas_contest_effect_alt"):t("tau_gas_contest_effect")},action(){return!!u($(this)[0])}},refueling_station:{id:"tauceti-refueling_station",title(){return t("tau_gas_refueling_station_title")},desc(){return`
${t("tau_gas_refueling_station_title")}
${t("requires_power")}
`},reqs:{tau_gas:2},path:["truepath"],cost:{Money(r){return g("refueling_station",r,68e6,1.28,"tauceti")},Graphene(r){return g("refueling_station",r,25e5,1.28,"tauceti")},Unobtainium(r){return g("refueling_station",r,5500,1.28,"tauceti")},Mythril(r){return g("refueling_station",r,ca(6e4),1.28,"tauceti")}},powered(){return de(e.tech.isolation?2:5)},effect(){let r=+D("refueling_station").toFixed(2),a=Q(1e4),i=`
${t("space_gas_mining_effect1",[r])}
`;if(i=i+`
${t("plus_max_resource",[a.toLocaleString(),e.resource.Helium_3.name])}
`,e.tech.tau_whale>=2){let s=Q(6500);i=i+`
${t("plus_max_resource",[s.toLocaleString(),e.resource.Oil.name])}
`}return e.tech.isolation&&(i=i+`
${t("interstellar_g_factory_effect")}
`),i=i+`
${t("minus_power",[$(this)[0].powered()])}
`,i},special(){return!!e.tech.isolation},action(){return u($(this)[0])?(K("refueling_station","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["refueling_station","tauceti"]}},post(){e.tech.tau_gas===2&&(e.tech.tau_gas=3,ce())}},ore_refinery:{id:"tauceti-ore_refinery",title(){return t("tau_gas_ore_refinery_title")},desc(){return`
${t("tau_gas_ore_refinery_title")}
${t("requires_power")}
`},reqs:{tau_gas:4},path:["truepath"],cost:{Money(r){return g("ore_refinery",r,52e6,1.28,"tauceti")},Iridium(r){return g("ore_refinery",r,16e5,1.28,"tauceti")},Unobtainium(r){return g("ore_refinery",r,800,1.28,"tauceti")},Sheet_Metal(r){return g("ore_refinery",r,ca(118e3),1.28,"tauceti")}},powered(){return de(e.tech.isolation?2:8)},smelting(){return e.tech.isolation?12:4},effect(){let r=e.tauceti.hasOwnProperty("ore_refinery")?e.tauceti.ore_refinery.fill:0,a=e.tauceti.hasOwnProperty("ore_refinery")?e.tauceti.ore_refinery.max:0,i=+D("ore_refinery").toFixed(2),s=`
${t("tau_gas_ore_refinery_effect",[+r.toFixed(2)])}
`;return s=s+`
${t("tau_gas_ore_refinery_effect2",[a])}
`,s=s+`
${t("tau_gas_ore_refinery_effect3",[i])}
`,s=s+`
${t("interstellar_stellar_forge_effect3",[$(this)[0].smelting()])}
`,s=s+`
${t("minus_power",[$(this)[0].powered()])}
`,s},special:!0,action(){if(u($(this)[0])){if(K("ore_refinery","tauceti"),re($(this)[0])){let r=$(this)[0].smelting();e.city.smelter.cap+=r,e.city.smelter.Steel+=r,e.race.evil?e.city.smelter.Wood+=r:e.city.smelter.Oil+=r}return!0}return!1},struct(){return{d:{count:0,on:0,max:0,fill:0},p:["ore_refinery","tauceti"]}},post(){e.tech.tau_roid===3&&(e.tech.tau_roid=4,Dr(),ce())}},whaling_station:{id:"tauceti-whaling_station",title(){return t("tau_gas_whaling_station_title")},desc(){return`
${t("tau_gas_whaling_station_title")}
${t("requires_power")}
`},reqs:{tau_whale:1},path:["truepath"],cost:{Money(r){return g("whaling_station",r,72e6,1.28,"tauceti")},Steel(r){return g("whaling_station",r,18e5,1.28,"tauceti")},Polymer(r){return g("whaling_station",r,955e3,1.28,"tauceti")},Orichalcum(r){return g("whaling_station",r,268e3,1.28,"tauceti")}},powered(){return de(e.tech.isolation?2:6)},effect(){let r=e.tauceti.hasOwnProperty("whaling_station")?e.tauceti.whaling_station.fill:0,a=e.tauceti.hasOwnProperty("whaling_station")?e.tauceti.whaling_station.max:0,i=+D("whaling_station").toFixed(2),s=`
${t("tau_gas_whaling_station_effect",[+r.toFixed(2)])}
`;return s=s+`
${t("tau_gas_whaling_station_effect2",[a])}
`,s=s+`
${t("tau_gas_whaling_station_effect3",[i])}
`,s=s+`
${t("minus_power",[$(this)[0].powered()])}
`,s},action(){return u($(this)[0])?(K("whaling_station","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,max:0,fill:0},p:["whaling_station","tauceti"]}},post(){e.tech.tau_whale===1&&(e.tech.tau_whale=2,Dr())}},womling_station:{id:"tauceti-womling_station",title(){return t("tau_gas_womling_station_title")},desc(){return`
${t("tau_gas_womling_station_desc")}
${t("requires_power")}
`},reqs:{womling_technicians:1},path:["truepath"],cost:{Money(r){return g("womling_station",r,1334e5,1.26,"tauceti")},Furs(r){return g("womling_station",r,3805e3,1.26,"tauceti")},Aluminium(r){return g("womling_station",r,85e5,1.26,"tauceti")},Nano_Tube(r){return g("womling_station",r,909e3,1.26,"tauceti")}},powered(){return de(e.tech.isolation?3:6)},effect(){let r=e.tech.isolation?30:8;e.tech.womling_gene&&(r*=1.25);let a=`
${t("production",[r,He.tau_gas.info.name()])}
`;return e.race.flier||(a=a+`
${t("plus_max_resource",[N(1),t("job_cement_worker")])}
`),a=a+`
${t("space_red_fabrication_effect1",[N(1)])}
`,a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},action(){return u($(this)[0])?(e.civic.craftsman.display=!0,K("womling_station","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["womling_station","tauceti"]}}}},tau_roid:{info:{name(){return t("tau_roid_title")},desc(){return t("tau_roid_desc")},support:"patrol_ship"},roid_mission:{id:"tauceti-roid_mission",title(){return t("space_mission_title",[t("tau_roid_title")])},desc(){return t("space_mission_desc",[t("tau_roid_title")])},reqs:{tauceti:5},grant:["tau_roid",1],path:["truepath"],queue_complete(){return e.tech.tau_roid>=1?0:1},cost:{Helium_3(r,a){return+Fe(125e4,!1,a).toFixed(0)}},effect(){return t("tau_roid_mission_effect",[t("tau_roid_title")])},action(){return u($(this)[0])?(I(t("tau_roid_mission_result"),"info",!1,["progress"]),!0):!1}},patrol_ship:{id:"tauceti-patrol_ship",title:t("tau_roid_patrol_ship"),desc(){return`
${t("tau_roid_patrol_ship")}
${t("requires_res",[e.resource.Helium_3.name])}
`},reqs:{tau_roid:3},path:["truepath"],cost:{Money(r){return g("patrol_ship",r,45e6,1.25,"tauceti")},Adamantite(r){return g("patrol_ship",r,18e5,1.25,"tauceti")},Elerium(r){return g("patrol_ship",r,520,1.25,"tauceti")},Stanene(r){return g("patrol_ship",r,2675e3,1.25,"tauceti")},Bolognium(r){return g("patrol_ship",r,115e4,1.25,"tauceti")}},effect(){let r=+Fe($(this)[0].support_fuel().a).toFixed(1),a=`
${t("tau_roid_patrol_ship_security",[$(this)[0].support()])}
`;return a=a+`
${t("tau_roid_patrol_ship_effect")}
`,a=a+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,a},support_fuel(){return{r:"Helium_3",a:e.tech.isolation?15:250}},support(){return 1},powered(){return 0},refresh:!0,action(){return u($(this)[0])?(K("patrol_ship","tauceti"),e.tauceti.patrol_ship.on++,!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["patrol_ship","tauceti"]}}},mining_ship:{id:"tauceti-mining_ship",title:t("tau_roid_mining_ship"),desc(){return`
${t("tau_roid_mining_ship")}
`},reqs:{tau_roid:4},path:["truepath"],cost:{Money(r){return g("mining_ship",r,28e6,1.28,"tauceti")},Uranium(r){return g("mining_ship",r,12500,1.28,"tauceti")},Titanium(r){return g("mining_ship",r,22e5,1.28,"tauceti")},Alloy(r){return g("mining_ship",r,175e4,1.28,"tauceti")}},effect(){let r=+Fe($(this)[0].support_fuel().a).toFixed(1),a=+D("mining_ship").toFixed(2),i=`
${t("tau_roid_mining_ship_effect",[a])}
`;return i=i+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,i},s_type:"tau_roid",support_fuel(){return{r:"Helium_3",a:e.tech.isolation?12:75}},support(){return-1},powered(){return 0},special:!0,action(){return u($(this)[0])?(K("mining_ship","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,common:50,uncommon:50,rare:50},p:["mining_ship","tauceti"]}}},whaling_ship:{id:"tauceti-whaling_ship",title:t("tau_roid_whaling_ship"),desc(){return`
${t("tau_roid_whaling_ship")}
`},reqs:{tau_whale:2},path:["truepath"],cost:{Money(r){return g("whaling_ship",r,35e6,1.28,"tauceti")},Aluminium(r){return g("whaling_ship",r,34e5,1.28,"tauceti")},Neutronium(r){return g("whaling_ship",r,168e3,1.28,"tauceti")},Nano_Tube(r){return g("whaling_ship",r,8e5,1.28,"tauceti")}},effect(){let r=+Fe($(this)[0].support_fuel().a).toFixed(1),a=+D("whaling_ship").toFixed(2),i=`
${t("tau_roid_whaling_ship_effect",[a])}
`;return i=i+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,i},s_type:"tau_roid",support_fuel(){return{r:"Helium_3",a:e.tech.isolation?14:90}},support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("whaling_ship","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["whaling_ship","tauceti"]}}}},tau_gas2:{info:{name(r){return He.tau_gas.info.name(r||e.race.gas_name2||!1,"gas_name2")},desc(){return t("tau_gas2_desc",[He.tau_gas.info.name()])}},gas_contest2:{id:"tauceti-gas_contest2",title(){return t("tau_gas2_contest_title")},desc(){return t("tau_gas2_contest_title")},reqs:{tau_gas2:1},grant:["tau_gas2",2],path:["truepath"],queue_complete(){return e.tech.tau_gas2>=1?0:1},cost:{Money(){return 25e6}},effect(){return t("tau_gas2_contest_effect")},action(){return!!u($(this)[0])},flair(){return t("tau_gas2_contest_flair")}},alien_station_survey:{id:"tauceti-alien_station_survey",title:t("tau_gas2_alien_station"),desc:t("tau_gas2_alien_station"),reqs:{tau_gas2:3},grant:["tau_gas2",4],path:["truepath"],queue_complete(){return e.tech.tau_gas3>=4?0:1},cost:{Money(){return e.race.lone_survivor?15e8:3e9},Helium_3(){return 5e6}},effect(){return t("tau_gas2_alien_station_repair_effect",[He.tau_gas2.info.name()])},action(){return u($(this)[0])?(P(He.tau_gas2.alien_station),I(t("tau_gas2_alien_station_msg",[He.tau_gas2.info.name()]),"info",!1,["progress"]),!0):!1}},alien_station:{id:"tauceti-alien_station",title:t("tau_gas2_alien_station"),desc(r){return!e.tauceti.hasOwnProperty("alien_station")||e.tauceti.alien_station.count<100||r?`
${t("tau_gas2_alien_station")}
`+(e.tauceti.hasOwnProperty("alien_station")&&e.tauceti.alien_station.count>=100?`
${t("space_dwarf_reactor_desc_req")}
`:`
${t("tau_gas2_alien_station_repair")}
`):`
${t("tau_gas2_alien_station")}
`},reqs:{tau_gas2:4},condition(){return e.tauceti.alien_station.count<100},path:["truepath"],queue_size:5,queue_complete(){return 100-e.tauceti.alien_station.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?12e6:5e7:0},Aluminium(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?256e3:256e4:0},Polymer(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?198900:989e3:0},Mythril(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?ca(125e3):0},Cipher(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?256:2001:0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0);return i<100?(a+=`
${t("tau_gas2_alien_station_repaired",[i])}
`,a):He.tau_gas2.alien_space_station.effect(r)},action(){return u($(this)[0])&&e.tauceti.alien_station.count<100?(K("alien_station","tauceti"),e.tauceti.alien_station.count>=100&&(e.tech.tau_gas2=5,e.tauceti.alien_space_station={count:1,on:0}),!0):!1},struct(){return{d:{count:0},p:["alien_station","tauceti"]}},post(){e.resource.Elerium.diff>=10&&(e.tauceti.alien_space_station.on=1),Dr()}},alien_space_station:{id:"tauceti-alien_space_station",title:t("tau_gas2_alien_station"),desc(){return`
${t("tau_gas2_alien_station")}
${t("space_dwarf_reactor_desc_req")}
`},reqs:{tau_gas2:5},path:["truepath"],cost:{},queue_complete(){return 0},special(){return!!(e.tech.tau_gas2&&e.tech.tau_gas2===6&&(!e.tech.alien_data||e.tech.alien_data<6))},wiki:!1,effect(){let r=$(this)[0].p_fuel().a,a=`
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}
`;if(e.tech.tau_gas2&&e.tech.tau_gas2>=6&&e.tauceti.alien_space_station.hasOwnProperty("decrypted")){let i=e.race.lone_survivor?1e5:25e6,s=+(e.tauceti.alien_space_station.decrypted/i).toFixed(2);s>100&&(s=100),a=a+`
${t("tau_gas2_alien_station_effect",[s])}
`}return a=a+`
${t("spend",[r,e.resource[$(this)[0].p_fuel().r].name])}
`,a},p_fuel(){return{r:"Elerium",a:e.race.lone_survivor?1:10}},powered(){return et(-75)},action(){return!1}},matrioshka_brain:{id:"tauceti-matrioshka_brain",title:t("tech_matrioshka_brain"),desc(r){return!e.tauceti.hasOwnProperty("matrioshka_brain")||e.tauceti.matrioshka_brain.count<1e3||r?`
${t("tech_matrioshka_brain")}
${t("requires_segments",[1e3])}
`:`
${t("tech_matrioshka_brain")}
`},reqs:{tau_gas2:7},condition(){return!!e.tauceti.matrioshka_brain},path:["truepath"],queue_size:50,queue_complete(){return 1e3-e.tauceti.matrioshka_brain.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?2e7:0},Neutronium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?45e3:0},Nano_Tube(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?16e4:0},Adamantite(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?666e3:0},Stanene(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?61600:0},Bolognium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?44e3:0},Unobtainium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?1200:0},Mythril(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?ca(64e3):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0);return i<1e3&&(a+=`
${t("tau_gas2_matrioshka_brain_seg",[1e3-i])}
`),a},action(){return u($(this)[0])&&e.tauceti.matrioshka_brain.count<1e3?(K("matrioshka_brain","tauceti"),e.tauceti.matrioshka_brain.count>=1e3&&(e.tech.m_brain=1),!0):!1},struct(){return{d:{count:0},p:["matrioshka_brain","tauceti"]}}},ignition_device:{id:"tauceti-ignition_device",title:t("tech_ignition_device"),desc(r){return!e.tauceti.hasOwnProperty("ignition_device")||e.tauceti.ignition_device.count<10||r?`
${t("tech_ignition_device")}
${t("requires_segments",[10])}
`:`
${t("tech_ignition_device")}
`},reqs:{tau_gas2:8},condition(){return!!(e.tauceti.ignition_device&&e.tauceti.ignition_device.count<10)},path:["truepath"],queue_size:1,queue_complete(){return 10-e.tauceti.ignition_device.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?25e7:0},Uranium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?5e4:0},Elerium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?25e3:0},Graphene(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?225e5:0},Orichalcum(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?15e6:0},Quantium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?ca(8e6):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0);return i<10&&(a+=`
${t("tau_gas2_ignition_device_seg",[10-i])}
`),a},action(){return u($(this)[0])&&e.tauceti.ignition_device.count<10?(K("ignition_device","tauceti"),e.tauceti.ignition_device.count>=10&&(e.tech.m_ignite=1),!0):!1},struct(){return{d:{count:0},p:["ignition_device","tauceti"]}}},ignite_gas_giant:{id:"tauceti-ignite_gas_giant",title(){return t("tau_gas2_ignite_gas_giant",[He.tau_gas2.info.name()])},desc(){return t("tau_gas2_ignite_gas_giant",[He.tau_gas2.info.name()])},reqs:{tau_gas2:8,m_ignite:1},grant:["m_ignite",2],queue_size:1,queue_complete(){return!1},path:["truepath"],cost:{Helium_3(){return 75e5}},effect(){let r=`
${t("tau_gas2_ignite_gas_giant_effect",[t("tech_matrioshka_brain")])}
`;return e.tech.m_brain?(r=r+`
${t("tau_gas2_ignite_gas_giant_effect3")}
`,r+=Fu()):r=r+`
${t("tau_gas2_ignite_gas_giant_effect2",[t("tech_matrioshka_brain")])}
`,r},action(){return e.tech.m_brain&&u($(this)[0])?(zo(),!0):!1}}}};for(let r=1;r<9;r++)He.tau_gas[`gas_contest-a${r}`]={id:`tauceti-gas_contest-a${r}`,title(){return He.tau_gas.info.name(r)},desc(){return He.tau_gas.info.name(r)},reqs:{tau_gas:1},grant:["tau_gas",2],path:["truepath"],wiki:!1,queue_complete(){return e.tech.tau_gas>=2?0:1},cost:{},effect(){return t(r===8?"tau_gas_contest_reject":"tau_gas_contest_pick",[He.tau_gas.info.name(r)])},action(){return u($(this)[0])?(e.race.gas_name=r,P(He.tauceti.tau_gas.refueling_station),!0):!1}},He.tau_gas2[`gas_contest-b${r}`]={id:`tauceti-gas_contest-b${r}`,title(){return He.tau_gas2.info.name(r)},desc(){return He.tau_gas2.info.name(r)},reqs:{tau_gas2:2},grant:["tau_gas2",3],path:["truepath"],wiki:!1,queue_complete(){return e.tech.tau_gas2>=3?0:1},cost:{},effect(){return t(r===8?"tau_gas2_contest_reject":"tau_gas_contest_pick",[He.tau_gas2.info.name(r)])},action(){return u($(this)[0])?(e.race.gas_name2=r,!0):!1}};function Eo(){let r=it("matrix"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name"),i=e.stats.retire===e.stats.matrix+1?`
${t("tau_star_matrix_skilled",[1])}
`:"";return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
${i}`}function Fu(){let r=it("retired"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name"),i=e.stats.retire+1===e.stats.matrix?`
${t("tau_star_matrix_skilled",[1])}
`:"";return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
${i}`}function zu(){let r=it("eden"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
`}function lc(){P(He.tau_red.overseer),P(He.tau_red.womling_village),P(He.tau_red.womling_mine),P(He.tau_red.womling_fun),e.race.lone_survivor&&(e.tauceti.womling_village.count=2,e.tauceti.womling_village.on=2,e.tauceti.womling_mine.count=1,e.tauceti.womling_mine.on=1)}function Tu(r){return e.tech.womling_tech&&e.tech.womling_logistics&&e.tech.womling_logistics>=2&&(r*=.94**e.tech.womling_tech),r}function ca(r){return e.tech.womling_tech&&e.tech.womling_recycling&&e.tech.womling_recycling>=1&&(r*=(e.tech.isolation?.97:.98)**e.tech.womling_tech),r}function rs(){return es}function Lo(){return He}function Or(){return!!(e.tech.tauceti&&e.tech.tauceti>=4)}function Ko(r,a,i){switch(r){case"tauceti":return Ar(He,a,i)}}function Dr(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==6))return;let r=$("#tauceti");ne(r),r.append($(`

${t("tab_tauceti")}

`)),!(!e.tech.tauceti||e.tech.tauceti<2)&&Object.keys(He).forEach(function(a){let i=a.replace("tau_","");if(e.settings.tau[`${i}`]){let s=typeof He[a].info.name=="string"?He[a].info.name:He[a].info.name(),n="";if(He[a].info.hasOwnProperty("prop")&&(n=He[a].info.prop()),He[a].info.support){let c=He[a].info.support;He[a].info.hide_support?r.append(`

${s}

${n}
`):r.append(`

${s}

{{ support }}/{{ s_max }}${n}
`),H({el:`#sr${a}`,data:e.tauceti[c],filters:{filter(){return He[a].info.filter(...arguments)}}})}else r.append(`

${s}

${n}
`);_e(a,function(){return typeof He[a].info.desc=="string"?He[a].info.desc:He[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),Object.keys(He[a]).forEach(function(c){if(c!=="info"&&Ar(He,a,c)){let l=He[a][c];Br(l,"tauceti",c)}}),He[a].info.hasOwnProperty("extra")&&He[a].info.extra(a)}})}function _c(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==2||e.settings.govTabs!==5))&&(hc(),as(),ne($("#dwarfShipYard")),e.space.hasOwnProperty("shipyard")&&e.settings.showShipYard)){let r=$("#dwarfShipYard");e.space.shipyard.hasOwnProperty("blueprint")||(e.space.shipyard.blueprint={class:"corvette",armor:"steel",weapon:"railgun",engine:"ion",power:"diesel",sensor:"radar",name:ln()});let a=$('
');r.append(a);let i=$('
');a.append(i),i.append(`
${t("outer_shipyard_registry")}:
`),i.append(`
${t("crew")}
`),i.append(`
${t("power")}
`),i.append(`
${t("firepower")}
`),i.append(`
${t("outer_shipyard_sensors")}
`),i.append(`
${t("speed")}
`),i.append(`
${t("outer_shipyard_fuel")}
`),a.append('
');let s=$('
');a.append(s);let n={class:["corvette","frigate","destroyer","cruiser","battlecruiser","dreadnought","explorer"],power:["solar","diesel","fission","fusion","elerium"],weapon:["railgun","laser","p_laser","plasma","phaser","disruptor"],armor:["steel","alloy","neutronium"],engine:["ion","tie","pulse","photon","vacuum","emdrive"],sensor:["visual","radar","lidar","quantum"]};Object.keys(n).forEach(function(o){let d="";n[o].forEach(function(y,p){d+=`${t(`outer_shipyard_${o}_${y}`)}`}),s.append(` +(()=>{var Se=window.localStorage,e={seed:1,warseed:1,resource:{},evolution:{},tech:{},city:{},space:{},interstellar:{},portal:{},eden:{},tauceti:{},civic:{},race:{},genes:{},blood:{},stats:{start:Date.now(),days:0,tdays:0},event:{t:200,l:!1},m_event:{t:499,l:!1}},tt={},m={c:{},p:{}},Ot={},k={},U={},xt={},ke={},qa={},Pr=0,hu=0,fu=0,pi={t:0};function Jn(r){Pr=r}function Yn(r){hu=r}function Xn(r){fu=r}var kr={},Da={},ir={view:"all"},Ba=["all","progress","queue","building_queue","research_queue","combat","spy","events","major_events","minor_events","achievements","hell"];Math.rand=function(r,a){return Math.floor(Math.random()*(a-r))+r};e.seed=2;e.warseed=2;function G(r,a,i){a=a||1,r=r||0,e[i?"warseed":"seed"]=(e[i?"warseed":"seed"]*9301+49297)%233280;let s=e[i?"warseed":"seed"]/233280;return r+s*(a-r)}{let r=Se.getItem("evolved")||!1;if(r){let a=JSON.parse(LZString.decompressFromUTF16(r));a?e=a:vo()}else vo()}e.version||(e.version="0.2.0");be(e.version)<2060&&Object.keys(e.resource).forEach(function(r){e.resource[r].crates&&(e.resource[r].crates=Math.ceil(e.resource[r].crates/5)),e.resource[r].containers&&(e.resource[r].containers=Math.ceil(e.resource[r].containers/5))});if(be(e.version)<2062&&e.civic.taxes!==void 0)switch(Number(e.civic.taxes.tax_rate)){case 0:e.civic.taxes.tax_rate=0;break;case 1:e.civic.taxes.tax_rate=10;break;case 2:e.civic.taxes.tax_rate=20;break;case 3:e.civic.taxes.tax_rate=30;break;case 4:e.civic.taxes.tax_rate=40;break;case 5:e.civic.taxes.tax_rate=50;break}be(e.version)===2062&&e.civic.taxes!==void 0&&e.civic.taxes.tax_rate==2&&(e.civic.taxes.tax_rate=20);be(e.version)<2065&&e.race!==void 0&&e.race.species==="sporgar"&&(delete e.race.crafty,delete e.race.hydrophilic,e.race.infectious=1,e.race.parasite=1,!e.tech.military&&e.tech.primitive&&e.tech.primitive>=3&&(e.civic.garrison.display=!0,e.settings.showCivic=!0,e.city.garrison={count:0}));be(e.version)<3002&&e.space&&(e.tech.space&&e.tech.space>=4&&(e.space.living_quarters||(e.space.living_quarters={count:0,on:0}),e.space.garage||(e.space.garage={count:0}),e.space.red_mine||(e.space.red_mine={count:0,on:0}),e.space.fabrication||(e.space.fabrication={count:0,on:0}),e.space.laboratory||(e.space.laboratory={count:0,on:0})),e.tech.space&&e.tech.space>=3&&(e.space.iridium_mine||(e.space.iridium_mine={count:0,on:0}),e.space.helium_mine||(e.space.helium_mine={count:0,on:0})),e.tech.hell&&(e.space.geothermal||(e.space.geothermal={count:0,on:0})));be(e.version)<3004&&e.settings&&e.settings.space&&e.settings.space.belt&&(e.space.space_station={count:0,on:0,support:0,s_max:0});be(e.version)<4001&&e.city&&e.city.factory&&!e.city.factory.Nano&&(e.city.factory.Nano=0);be(e.version)<4003&&e.stats.achieve&&Object.keys(e.stats.achieve).forEach(function(r){e.stats.achieve[r]=1});be(e.version)<4010&&e.stats.achieve&&e.stats.achieve.doomed&&(e.stats.portals=1);be(e.version)<4028&&e.stats.achieve&&e.stats.achieve.genus_demonic&&(e.stats.achieve.biome_hellscape=e.stats.achieve.genus_demonic);if(be(e.version)<4029&&e.race.mutation&&e.race.mutation>0){e.resource.Genes={name:"Genes",display:!0,value:0,amount:0,crates:0,diff:0,delta:0,max:-2,rate:0};for(let r=0;r=3&&(e.tech.wind_plant=1,e.tech.hunting=2);let r=["Human","Humano","Elf","Elfo","Orc","Cath","Wolven","Centaur","Centauro","Kobold","Goblin","Gnome","Ogre","Ogro","Cyclops","Ciclope","Troll","Tortoisan","Gecko","Slitheryn","Arraak","Pterodacti","Dracnid","Ent","Cacti","Sporgar","Shroomi","Mantis","Scorpid","Antid","Sharkin","Octigoran","Balorg","Imp"];for(let a=0;a0){let r=1;e.race.no_trade&&r++,e.race.no_craft&&r++,e.race.no_crispr&&r++,e.race.weak_mastery&&r++,e.stats.achieve.cross={l:r,a:r}}be(e.version)<7e3&&(e.civic.govern||(e.civic.govern={type:"oligarchy",rev:0,fr:0}));if(be(e.version)<7004&&e.queue&&e.queue.queue)for(let r=0;r"u"&&(e.civic.foreign.gov0.anx=!1),typeof e.civic.foreign.gov1.anx>"u"&&(e.civic.foreign.gov1.anx=!1),typeof e.civic.foreign.gov2.anx>"u"&&(e.civic.foreign.gov2.anx=!1),typeof e.civic.foreign.gov0.buy>"u"&&(e.civic.foreign.gov0.buy=!1),typeof e.civic.foreign.gov1.buy>"u"&&(e.civic.foreign.gov1.buy=!1),typeof e.civic.foreign.gov2.buy>"u"&&(e.civic.foreign.gov2.buy=!1));be(e.version)<8e3&&e.settings&&e.settings.hasOwnProperty("tLabels")&&delete e.settings.tLabels;be(e.version)<8003&&e.stats.harmony&&e.stats.harmony>0&&(e.stats.harmony=parseFloat(e.stats.harmony.toFixed(2)),e.race.Harmony.count=parseFloat(e.race.Harmony.count.toFixed(2)));be(e.version)<8017&&e.city.garrison&&(e.city.garrison.on=e.city.garrison.count);be(e.version)<9e3&&e.settings&&e.settings.showCity&&(e.settings.showCiv=e.settings.showCity);be(e.version)<9005&&e.race.hasOwnProperty("terrifying")&&e.tech.hasOwnProperty("gambling")&&!e.space.hasOwnProperty("spc_casino")&&(e.space.spc_casino={count:0,on:0});be(e.version)<9009&&e.genes.hasOwnProperty("ancients")&&e.genes.ancients>=3&&(e.genes.ancients===4?e.genes.ancients=5:e.race.Plasmid.count+=300);be(e.version)<9010&&(["species","gods","old_gods"].forEach(r=>{e.race[r]==="orge"&&(e.race[r]="ogre")}),e.stats.hasOwnProperty("achieve")&&e.stats.achieve.hasOwnProperty("extinct_orge")&&(e.stats.achieve.extinct_ogre=e.stats.achieve.extinct_orge,delete e.stats.achieve.extinct_orge),e.resource.hasOwnProperty("orge")&&(e.resource.ogre=e.resource.orge,delete e.resource.orge),e.city&&e.city.factory&&!e.city.factory.Furs&&(e.city.factory.Furs=0));be(e.version)<9014&&(["seraph","unicorn","custom"].forEach(r=>{e.race.species===r&&(r==="custom"&&e.hasOwnProperty("custom")&&e.custom.race0.genus==="angelic"||r!=="custom")&&(e.race.holy=1)}),e.hasOwnProperty("arpa")&&e.arpa.hasOwnProperty("sequence")&&(e.arpa.sequence.labs=0));be(e.version)<1e5&&(delete e.city.lumber,delete e.city.stone,e.stats.dark=0,e.race.Dark&&(e.stats.dark=e.race.Dark.count),e.city.hasOwnProperty("smelter")&&(e.city.smelter.hasOwnProperty("Star")||(e.city.smelter.Star=0),e.city.smelter.hasOwnProperty("StarCap")||(e.city.smelter.StarCap=0),e.city.smelter.hasOwnProperty("Inferno")||(e.city.smelter.Inferno=0)),e.hasOwnProperty("warseed")||(e.warseed=e.seed+1,Math.war=e.hasOwnProperty("warseed")?e.warseed:e.seed),e.portal.hasOwnProperty("bireme")&&(e.portal.bireme.crew=0,e.portal.bireme.mil=0),e.portal.hasOwnProperty("transport")&&(e.portal.transport.crew=0,e.portal.transport.mil=0,e.portal.transport.cargo||(e.portal.transport.cargo={used:0,max:0,Crystal:0,Lumber:0,Stone:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Deuterium:0,Neutronium:0,Adamantite:0,Infernite:0,Elerium:0,Nano_Tube:0,Graphene:0,Stanene:0,Bolognium:0,Vitreloy:0,Orichalcum:0,Plywood:0,Brick:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0})),e.hasOwnProperty("settings")&&e.settings.portal&&e.settings.portal.spire&&!e.portal.hasOwnProperty("purifier")&&(e.settings.portal.spire=!1),e.portal.hasOwnProperty("mechbay")&&!Array.isArray(e.portal.mechbay.mechs)&&(e.portal.mechbay.mechs=[]),e.portal.transport&&e.portal.transport.count>=1&&!e.tech.hell_spire&&(e.tech.hell_spire=1,e.settings.portal.spire=!0,e.settings.showCargo=!0,e.portal.purifier={count:0,on:0,support:0,s_max:0,supply:0,sup_max:100,diff:0},e.portal.port={count:0,on:0}),e.tech.hasOwnProperty("waygate")&&!e.portal.hasOwnProperty("waygate")&&delete e.tech.waygate,e.hasOwnProperty("blood")||(e.blood={}));be(e.version)<100013&&e.hasOwnProperty("settings")&&e.settings.hasOwnProperty("showPowerGrid")&&e.hasOwnProperty("race")&&e.race.infiltrator&&e.hasOwnProperty("tech")&&e.tech.hasOwnProperty("high_tech")&&e.tech.high_tech>=2&&(e.settings.showPowerGrid=!0);if(be(e.version)<100014&&(e.race.Dark&&(e.stats.dark=e.race.Dark.count),e.race.casting&&e.race.evil&&(e.race.casting.total-=e.race.casting.lumberjack,e.race.casting.lumberjack=0),e.queue&&e.queue.queue))for(let r=0;r=2,events:!0,major_events:!0,minor_events:!0,achievements:e.stats.achieve&&Object.keys(e.stats.achieve).length>0||e.stats.feat&&Object.keys(e.stats.feat).length>0,hell:e.settings.showPortal||e.stats.blackhole||e.stats.ascend||e.stats.descend}),e.race.hasOwnProperty("inflation")&&["supercollider","stock_exchange","launch_facility","monuments","railway","roid_eject","nexus","syphon"].forEach(function(r){e.tech.hasOwnProperty(r)&&(e.race.inflation+=e.tech[r]*10)}));be(e.version)<101012&&e.civic.garrison&&(e.civic.garrison.rate=0);if(be(e.version)<101014&&(e.hasOwnProperty("settings")&&e.settings.hasOwnProperty("msgFilters")&&Object.keys(e.settings.msgFilters).forEach(function(r){e.settings.msgFilters[r]={unlocked:!!e.settings.msgFilters[r],vis:!!e.settings.msgFilters[r],max:60,save:3}}),e.hasOwnProperty("lastMsg")&&e.lastMsg)){let r={};Ba.forEach(function(a){r[a]=[]}),e.lastMsg.forEach(function(a){a.t?a.t.forEach(function(i){r[i].push({m:a.m,c:a.c})}):r.all.push({m:a.m,c:a.c})}),e.lastMsg=r}be(e.version)<=101014&&!e.revision&&e.race.cataclysm&&e.race.universe&&e.race.universe==="magic"&&e.tech.magic&&e.tech.magic>=2&&(e.space.pylon={count:0});be(e.version)<101015&&e.hasOwnProperty("special")&&e.special.hasOwnProperty("trick")&&(e.special.trick[2020]=JSON.parse(JSON.stringify(e.special.trick)),delete e.special.trick.trick1,delete e.special.trick.trick2,delete e.special.trick.trick3,delete e.special.trick.trick4,delete e.special.trick.trick5,delete e.special.trick.trick6,delete e.special.trick.trick7,delete e.special.trick.trick8,delete e.special.trick.trick9,delete e.special.trick.trick10,delete e.special.trick.trick11,delete e.special.trick.trick12);be(e.version)<102e3&&(e.hasOwnProperty("portal")&&e.portal.hasOwnProperty("fortress")&&!e.portal.fortress.hasOwnProperty("nocrew")&&(e.portal.fortress.nocrew=!1),e.city.hasOwnProperty("smelter")&&!e.city.smelter.hasOwnProperty("Iridium")&&(e.city.smelter.Iridium=0),e.hasOwnProperty("portal")&&e.portal.hasOwnProperty("mechbay")&&!e.portal.mechbay.hasOwnProperty("active")&&(e.portal.mechbay.active=0,e.portal.mechbay.scouts=0));be(e.version)<102001&&(e.race.blood_thirst&&e.race.blood_thirst>3&&(e.race.blood_thirst=1),e.race.rainbow&&e.race.rainbow>3&&(e.race.rainbow=1));be(e.version)<102005&&!e.stats.cores&&e.race.hasOwnProperty("AICore")&&(e.stats.cores=e.race.AICore.count);be(e.version)<102006&&e.race.artifical&&(e.race.calm&&(e.resource.hasOwnProperty("Zen")&&(e.resource.Zen.display=!0),e.city.meditation={count:0}),e.race.cannibalize&&(e.city.s_alter={count:0,rage:0,mind:0,regen:0,mine:0,harvest:0}),e.race.magnificent&&(e.city.shrine={count:0,morale:0,metal:0,know:0,tax:0}));be(e.version)<102007&&e.stats.hasOwnProperty("achieve")&&delete e.stats.achieve.extinct_sludge;be(e.version)<102012&&(e.city.hasOwnProperty("ptrait")&&(e.city.ptrait=e.city.ptrait==="none"?[]:[e.city.ptrait]),e.tech.hell_ruins&&e.tech.hell_ruins>=3&&(e.tech.hell_vault=1));if(be(e.version)<102015){if(e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("tasks"))for(let r in e.race.governor.tasks)e.race.governor.tasks[r]==="asssemble"&&(e.race.governor.tasks[r]="assemble");e.settings&&e.settings.hasOwnProperty("restoreCheck")&&delete e.settings.restoreCheck}be(e.version)<102017&&(e.portal.hasOwnProperty("fortress")&&(e.portal.observe={settings:{expanded:!1,average:!1,hyperSlow:!1,display:"game_days",dropKills:!0,dropGems:!0},stats:{total:{start:{year:e.city.calendar.year,day:e.city.calendar.day},days:0,wounded:0,died:0,revived:0,surveyors:0,sieges:0,kills:{drones:0,patrols:0,sieges:0,guns:0,soul_forge:0,turrets:0},gems:{patrols:0,guns:0,soul_forge:0,crafted:0,turrets:0}},period:{start:{year:e.city.calendar.year,day:e.city.calendar.day},days:0,wounded:0,died:0,revived:0,surveyors:0,sieges:0,kills:{drones:0,patrols:0,sieges:0,guns:0,soul_forge:0,turrets:0},gems:{patrols:0,guns:0,soul_forge:0,crafted:0,turrets:0}}},graphID:0,graphs:{}}),e.tech.hasOwnProperty("genetics")&&e.tech.genetics>1&&e.hasOwnProperty("arpa")&&(e.arpa.hasOwnProperty("sequence")||(e.arpa.sequence={max:5e4,progress:0,time:5e4,on:!1}),e.arpa.sequence.boost||(e.arpa.sequence.boost=!1),e.arpa.sequence.auto||(e.arpa.sequence.auto=!1),e.arpa.sequence.labs||(e.arpa.sequence.labs=0)));if(be(e.version)<102021&&e.hasOwnProperty("custom")&&!e.custom.hasOwnProperty("race0")){let r=e.race.hasOwnProperty("species")?e.race.species:"protoplasm";e.galaxy.hasOwnProperty("alien1")&&e.galaxy.alien1.id==="custom"&&(e.galaxy.alien1.id=r==="human"?"elven":"human"),e.galaxy.hasOwnProperty("alien2")&&e.galaxy.alien2.id==="custom"&&(e.galaxy.alien2.id=r==="orc"||e.galaxy.alien1.id==="orc"?"cath":"orc")}be(e.version)<103e3&&(e.hasOwnProperty("tauceti")||(e.tauceti={}),e.race.species==="protoplasm"&&(e.evolution.hasOwnProperty("sexual_reproduction")&&(e.tech.evo=e.evolution.sexual_reproduction.count>0?2:1,delete e.evolution.sexual_reproduction),[["phagocytosis",{evo:3,evo_animal:1}],["chloroplasts",{evo:3,evo_plant:1}],["chitin",{evo:3,evo_fungi:1}],["exterminate",{evo:7,evo_synthetic:2}],["multicellular",{evo:4}],["spores",{evo:5}],["poikilohydric",{evo:5}],["bilateral_symmetry",{evo:5,evo_insectoid:1,evo_mammals:1,evo_eggshell:1,evo_aquatic:1,evo_fey:1,evo_sand:1,evo_heat:1,evo_polar:1}],["bryophyte",{evo:7}],["athropods",{evo:7,evo_insectoid:2}],["mammals",{evo:6,evo_humanoid:1,evo_giant:1,evo_small:1,evo_animalism:1,evo_demonic:1,evo_angelic:1}],["humanoid",{evo:7,evo_humanoid:2}],["gigantism",{evo:7,evo_giant:2}],["dwarfism",{evo:7,evo_small:2}],["animalism",{evo:7,evo_animalism:2}],["carnivore",{evo_animalism:3,evo_carnivore:2}],["herbivore",{evo_animalism:3,evo_herbivore:2}],["omnivore",{evo_animalism:3,evo_omnivore:2}],["celestial",{evo:7,evo_angelic:2}],["demonic",{evo:7,evo_demonic:2}],["aquatic",{evo:7,evo_aquatic:2}],["fey",{evo:7,evo_fey:2}],["heat",{evo:7,evo_heat:2}],["polar",{evo:7,evo_polar:2}],["sand",{evo:7,evo_sand:2}],["eggshell",{evo:6,evo_eggshell:2}],["endothermic",{evo:7,evo_avian:2}],["ectothermic",{evo:7,evo_reptilian:2}],["bunker",{evo_challenge:1}]].forEach(function(r){if(e.evolution.hasOwnProperty(r[0])&&e.evolution[r[0]].count>0)for(let[a,i]of Object.entries(r[1]))e.tech[a]=i;delete e.evolution[r[0]]}),e.evolution.mloaded=1,e.evolution.gmloaded=1));be(e.version)<103001&&(e.hasOwnProperty("prestige")||(e.prestige={}),e.race.Plasmid&&e.race.Plasmid.hasOwnProperty("anti")&&(e.prestige.AntiPlasmid={count:e.race.Plasmid.anti}),["Plasmid","Phage","AICore","Dark","Harmony"].forEach(function(r){e.race.hasOwnProperty(r)&&(e.prestige[r]={count:e.race[r].count},delete e.race[r])}),["Artifact","Blood_Stone"].forEach(function(r){e.resource.hasOwnProperty(r)&&(e.prestige[r]={count:e.resource[r].amount},delete e.resource[r])}),!e.stats.hasOwnProperty("synth")&&e.race.hasOwnProperty("srace")&&(e.stats.synth={},e.stats.synth[e.race.srace]=!0),e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("config")&&e.race.governor.config.hasOwnProperty("trash")&&["Infernite","Elerium","Copper","Iron"].forEach(function(r){e.race.governor.config.trash.hasOwnProperty(r)&&typeof e.race.governor.config.trash[r]=="number"&&(e.race.governor.config.trash[r]={v:e.race.governor.config.trash[r],s:!0})}));be(e.version)<103002&&e.portal.hasOwnProperty("observe")&&e.portal.observe.hasOwnProperty("stats")&&(e.portal.observe.stats.period.gems.surveyors=0,e.portal.observe.stats.total.gems.surveyors=0);be(e.version)<103011&&e.city.hasOwnProperty("slave_pen")&&e.city.slave_pen.hasOwnProperty("slaves")&&(e.resource.Slave.amount=e.city.slave_pen.slaves,delete e.city.slave_pen.slaves);be(e.version)<103014&&(e.race.cataclysm&&!e.race.start_cataclysm&&(e.civic.craftsman.display=!0),e.race.lone_survivor&&(e.tauceti.tau_factory&&e.tauceti.tau_factory.count>0||e.tauceti.womling_station&&e.tauceti.womling_station.count>0)&&(e.civic.craftsman.display=!0));be(e.version)<=103015&&e.portal.hasOwnProperty("harbour")&&(e.portal.harbor=e.portal.harbour,delete e.portal.harbour);be(e.version)<=103017&&e.race.broody&&(e.race.gloomy=e.race.broody,delete e.race.broody);be(e.version)<=104e3&&e.city.hasOwnProperty("shrine")&&!e.city.shrine.hasOwnProperty("cycle")&&(e.city.shrine.cycle=0);e.version="1.4.0";delete e.revision;delete e.beta;e.hasOwnProperty("prestige")||(e.prestige={});["Plasmid","AntiPlasmid","Phage","Dark","Harmony","AICore","Artifact","Blood_Stone","Supercoiled"].forEach(function(r){e.prestige.hasOwnProperty(r)||(e.prestige[r]={count:0})});e.hasOwnProperty("power")||(e.power=[]);e.hasOwnProperty("support")||(e.support={});["moon","red","belt","alpha","nebula","gateway","alien2","lake","spire","titan","enceladus","eris","tau_home","tau_red","tau_roid","asphodel"].forEach(function(r){e.support.hasOwnProperty(r)||(e.support[r]=[])});e.civic.cement_worker&&e.civic.cement_worker.impact===.25&&(e.civic.cement_worker.impact=.4);e.settings||(e.settings={showEvolve:!0,showAchieve:!1,animated:!0,disableReset:!1,font:"standard",q_merge:"merge_nearby",cLabels:!0,theme:"gruvboxDark",locale:"en-US",icon:"star"});e.settings.space||(e.settings.space={});e.settings.space.hasOwnProperty("home")||(e.settings.space.home=!0);yo(!1);e.settings.icon||(e.settings.icon="star");e.settings.showResources||(e.settings.showResources=e.settings.showMarket);e.settings.showStorage||(e.city.warehouse||e.city.storage_yard?e.settings.showStorage=!0:e.settings.showStorage=!1);e.settings.hasOwnProperty("touch")||(e.settings.touch=!1);e.settings.hasOwnProperty("lowPowerBalance")||(e.settings.lowPowerBalance=!1);e.queue||(e.queue={display:!1,queue:[]});e.r_queue||(e.r_queue={display:!1,queue:[]});e.queue.rename||(e.queue.rename=!1);e.queue.max||(e.queue.max=0);e.r_queue.max||(e.r_queue.max=0);e.queue.pause||(e.queue.pause=!1);e.r_queue.pause||(e.r_queue.pause=!1);e.lastMsg||(e.lastMsg={});e.settings.msgFilters||(e.settings.msgFilters={});["all","progress","events","major_events","minor_events"].forEach(function(r){e.settings.msgFilters[r]||(e.settings.msgFilters[r]={unlocked:!0,vis:!0,max:60,save:3})});Ba.forEach(function(r){e.lastMsg[r]||(e.lastMsg[r]=[]),e.settings.msgFilters[r]||(e.settings.msgFilters[r]={unlocked:!1,vis:!1,max:60,save:3})});e.settings.msgQueueHeight||(e.settings.msgQueueHeight=$("#msgQueue").outerHeight(),e.settings.buildQueueHeight=$("#buildQueue").outerHeight());e.space||(e.space={});e.starDock||(e.starDock={});e.interstellar||(e.interstellar={});e.galaxy||(e.galaxy={});e.eden||(e.eden={});e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Bolognium&&(e.interstellar.mass_ejector.Bolognium=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Vitreloy&&(e.interstellar.mass_ejector.Vitreloy=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Orichalcum&&(e.interstellar.mass_ejector.Orichalcum=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Nanoweave&&(e.interstellar.mass_ejector.Nanoweave=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Scarletite&&(e.interstellar.mass_ejector.Scarletite=0);e.hasOwnProperty("pillars")||(e.pillars={});e.settings.space.alpha||(e.settings.space.alpha=!1,e.settings.space.proxima=!1,e.settings.space.nebula=!1,e.settings.space.neutron=!1,e.settings.space.blackhole=!1);e.settings.showAchieve||(e.settings.showAchieve=!1);e.settings.locale||(e.settings.locale="en-US");typeof e.settings.pause>"u"&&(e.settings.pause=!1);typeof e.settings.mKeys>"u"&&(e.settings.mKeys=!0);typeof e.settings.keyMap>"u"&&(e.settings.keyMap={x10:"Control",x25:"Shift",x100:"Alt",q:"q"});typeof e.settings.keyMap.showCiv>"u"&&(e.settings.keyMap.showCiv="1",e.settings.keyMap.showCivic="2",e.settings.keyMap.showResearch="3",e.settings.keyMap.showResources="4",e.settings.keyMap.showGenetics="5",e.settings.keyMap.showAchieve="6",e.settings.keyMap.settings="7");delete e.settings.keyMap.d;typeof e.settings.qAny>"u"&&(e.settings.qAny=!1);typeof e.settings.sPackOn>"u"&&(e.settings.sPackOn=!0);typeof e.settings.qAny_res>"u"&&(e.settings.qAny_res=!1);typeof e.settings.sPackMsg>"u"&&(e.settings.sPackMsg=!1);typeof e.settings.expose>"u"&&(e.settings.expose=!1);typeof e.settings.alwaysPower>"u"&&(e.settings.alwaysPower=!1);typeof e.settings.tabLoad>"u"&&(e.settings.tabLoad=!1);typeof e.settings.boring>"u"&&(e.settings.boring=!1);e.settings.hasOwnProperty("mtorder")||(e.settings.mtorder=[]);function ec(){["reset","plasmid","antiplasmid","universes","phage","starved","tstarved","died","tdied","sac","tsac","know","tknow","portals","dkills","attacks","cfood","tfood","cstone","tstone","clumber","tlumber","mad","bioseed","cataclysm","blackhole","ascend","descend","apotheosis","terraform","aiappoc","matrix","retire","eden","geck","dark","harmony","blood","cores","artifact","supercoiled","cattle","tcattle","murders","tmurders","psykill","tpsykill","pdebt","uDead"].forEach(function(r){e.stats.hasOwnProperty(r)||(e.stats[r]=0)}),e.stats.achieve||(e.stats.achieve={}),e.stats.feat||(e.stats.feat={}),e.stats.hasOwnProperty("womling")||(e.stats.womling={god:{l:0},lord:{l:0},friend:{l:0}}),e.stats.spire||(e.stats.spire={}),e.stats.synth||(e.stats.synth={}),e.stats.hasOwnProperty("banana")||(e.stats.banana={b1:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b2:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b3:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b4:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b5:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1}}),e.stats.hasOwnProperty("endless_hunger")||(e.stats.endless_hunger={b1:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b2:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b3:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b4:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b5:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1}}),e.stats.hasOwnProperty("death_tour")||(e.stats.death_tour={ct:{l:0,h:0,a:0,e:0,m:0,mg:0},bh:{l:0,h:0,a:0,e:0,m:0,mg:0},di:{l:0,h:0,a:0,e:0,m:0,mg:0},ai:{l:0,h:0,a:0,e:0,m:0,mg:0},vc:{l:0,h:0,a:0,e:0,m:0,mg:0},md:{l:0,h:0,a:0,e:0,m:0,mg:0}}),e.stats.death_tour&&!e.stats.death_tour.hasOwnProperty("md")&&(e.stats.death_tour.md={l:0,h:0,a:0,e:0,m:0,mg:0})}ec();e.race.seeded||(e.race.seeded=!1);e.race.deterioration||(e.race.deterioration=0);e.race.gene_fortify||(e.race.gene_fortify=0);e.race.old_gods||(e.race.old_gods="none");e.race.universe||(e.race.universe="standard");e.genes.minor||(e.genes.minor={});e.race.minor||(e.race.minor={});e.hasOwnProperty("govern")||(e.govern={governor:{},candidate:[],policy:{}});e.settings.hasOwnProperty("showMil")||(e.settings.showMil=!0);e.settings.hasOwnProperty("showPowerGrid")||(e.settings.showPowerGrid=!!(e.hasOwnProperty("tech")&&e.tech.hasOwnProperty("high_tech")&&e.tech.high_tech>=2));e.settings.affix||(e.settings.affix="si");e.special||(e.special={});e.special.gift||(e.special.gift={});e.special.hasOwnProperty("egg")||(e.special.egg={});e.special.hasOwnProperty("trick")||(e.special.trick={trick1:!1,trick2:!1,trick3:!1,trick4:!1,trick5:!1,trick6:!1,trick7:!1,trick8:!1,trick9:!1,trick10:!1,trick11:!1,trick12:!1});e.civic.govern||(e.civic.govern={type:"oligarchy",rev:2e3,fr:0});e.civic.govern.fr=0;e.hasOwnProperty("custom")||(e.custom={});e.custom.hasOwnProperty("planet")&&e.custom.planet.hasOwnProperty("biome")&&delete e.custom.planet;e.city.hasOwnProperty("smelter")&&!e.city.smelter.hasOwnProperty("cap")&&(e.city.smelter.cap=0);e.civic.homeless||(e.civic.homeless=0);e.civic.foreign||(e.civic.foreign={gov0:{unrest:0,hstl:100,mil:100,eco:75,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov1:{unrest:0,hstl:0,mil:150,eco:100,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov2:{unrest:0,hstl:50,mil:250,eco:150,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1}});typeof e.civic.foreign.gov0.trn>"u"&&(e.civic.foreign.gov0.trn=0,e.civic.foreign.gov1.trn=0,e.civic.foreign.gov2.trn=0,e.civic.foreign.gov0.sab=0,e.civic.foreign.gov1.sab=0,e.civic.foreign.gov2.sab=0,e.civic.foreign.gov0.act="none",e.civic.foreign.gov1.act="none",e.civic.foreign.gov2.act="none");typeof e.civic.foreign.gov0.name<"u"&&e.civic.foreign.gov0.name.s1==="evo_organism_title"&&(e.civic.foreign.gov0.name.s1="Northern");typeof e.civic.foreign.gov1.name<"u"&&e.civic.foreign.gov1.name.s1==="evo_organism_title"&&(e.civic.foreign.gov1.name.s1="Southern");typeof e.civic.foreign.gov2.name<"u"&&e.civic.foreign.gov2.name.s1==="evo_organism_title"&&(e.civic.foreign.gov2.name.s1="Divine");if(!e.race.evil&&e.race.immoral&&e.race!==void 0&&e.race.species!=="wendigo")delete e.race.immoral;else if(e.race!==void 0&&e.race.species==="wendigo"){let r=new Date;e.settings.hasOwnProperty("boring")&&!e.settings.boring&&r.getMonth()===11&&r.getDate()>=17&&(e.race.immoral=3)}if(e.hasOwnProperty("special")&&e.special.hasOwnProperty("gift")){let r=new Date(e.stats.start),a=new Date;Object.keys(e.special.gift).forEach(function(i){let s=Number(i.substring(1,5));(s=1?e.civic.d_job="farmer":e.civic.d_job="unemployed");e.settings.animated=!0;e.settings.disableReset=!1;e.arpa&&e.arpa.launch_facility&&e.arpa.launch_facility.rank>0&&!e.tech.space&&(e.tech.space=1);function vo(){e.race={species:"protoplasm",gods:"none",old_gods:"none",seeded:!1},e.seed=Math.rand(0,1e4),e.warseed=Math.rand(0,1e4),e.new=!0}var xr={x10:!1,x25:!1,x100:!1,q:!1};function me(){let r=1;return e.settings.mKeys&&(xr.x10&&(r*=10),xr.x25&&(r*=25),xr.x100&&(r*=100)),r}function be(r){let a=r.split(".",3);return a[0]*=1e5,a[1]*=1e3,Number(a[0])+Number(a[1])+Number(a[2])}function Vi(){if($(window).width()>=1400&&$("#msgQueue:not(.right)")){let r=$("#buildQueue").detach();r.addClass("right"),r.removeClass("has-text-info");let a=$("#msgQueue").detach();a.addClass("right"),a.removeClass("has-text-info"),a.css("resize","none"),$("#queueColumn").addClass("is-one-quarter"),$("#queueColumn").append(r),$("#queueColumn").append(a),$("#mainColumn").removeClass("is-three-quarters"),$("#mainColumn").addClass("is-half")}else if($(window).width()<1400&&$("#msgQueue").hasClass("right")){let r=$("#buildQueue").detach();r.removeClass("right"),r.addClass("has-text-info");let a=$("#msgQueue").detach();a.removeClass("right"),a.addClass("has-text-info"),a.css("resize","vertical"),$("#queueColumn").removeClass("is-one-quarter"),$("#sideQueue").append(r),$("#sideQueue").append(a),$("#mainColumn").removeClass("is-half"),$("#mainColumn").addClass("is-three-quarters")}}var mu={si:["K","M","G","T","P","E","Z","Y"],sln:["K","M","B","t","q","Q","s","S"]},gu=new Intl.NumberFormat(void 0,{maximumFractionDigits:2,maximumSignificantDigits:3,roundingMode:"trunc",roundingPriority:"lessPrecision"}),vu=new Intl.NumberFormat(void 0,{maximumFractionDigits:2,maximumSignificantDigits:4,roundingMode:"trunc",roundingPriority:"lessPrecision"}),yu=1+16*Number.EPSILON;function $e(r,a=1,i=!1,s=!1){let n=Math.abs(r),c=Math.floor(Math.log10(n));if(n*=yu,r=r<0?-n:r>0?n:r,s)return r.toLocaleString(void 0,{maximumFractionDigits:a,roundingMode:"trunc"});if(c<4||i){let l=Math.max(c+1,a+1,5);return r.toLocaleString(void 0,{maximumSignificantDigits:l,maximumFractionDigits:a,roundingMode:"trunc",roundingPriority:"lessPrecision"})}else{let l=c%3,o=c===4,d=e.settings.affix!=="eng"&&c>=27;e.settings.affix!=="sci"&&!d&&(c-=l);let y;return e.settings.affix==="sci"||e.settings.affix==="eng"||d?y="e"+c:y=mu[e.settings.affix][c/3-1],r/=10**c,o?gu.format(r)+y:vu.format(r)+y}}$(window).resize(function(){Vi()});function qs(r,a){var i=document.createElement("div"),s="speak-"+Date.now();i.setAttribute("id",s),i.setAttribute("aria-live",a||"polite"),i.classList.add("sr-only"),document.body.appendChild(i),window.setTimeout(function(){document.getElementById(s).innerHTML=r},100),window.setTimeout(function(){document.body.removeChild(document.getElementById(s))},1e3)}window.soft_reset=function(a){try{a=a&&a==="replicator"?"replicator":"soft",gtag("event","reset",{end:a})}catch{}a||Rr();let i=e.race.hasOwnProperty("srace")?e.race.srace:!1,s=e.race.hasOwnProperty("geck")?e.race.geck:0;e.race.hasOwnProperty("gecked")&&(s+=e.race.gecked,e.stats.geck-=e.race.gecked);let n={species:"protoplasm",universe:e.race.universe,seeded:e.race.seeded,probes:e.race.probes,seed:e.race.seed,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1,rejuvenated:e.race.hasOwnProperty("rejuvenated")?e.race.rejuvenated:!1};s>0&&(n.geck=s),i&&(n.srace=i),e.race.bigbang&&(n.bigbang=!0),e.race.gods&&(n.gods=e.race.gods),e.race.old_gods&&(n.old_gods=e.race.old_gods),e.race.rapid_mutation&&e.race.rapid_mutation>0&&(n.rapid_mutation=e.race.rapid_mutation),e.race.ancient_ruins&&e.race.ancient_ruins>0&&(n.ancient_ruins=e.race.ancient_ruins),e.race.bigbang&&(n.universe="bigbang"),e.race.hasOwnProperty("corruption")&&(n.corruption=e.race.corruption),e.race=n;let c=e.city.calendar.orbit,l=e.city.biome,o=e.city.ptrait,d=e.city.geology;e.city={calendar:{day:0,year:0,weather:2,temp:1,moon:0,wind:0,orbit:c},biome:l,ptrait:o,geology:d},e.tech.theology&&e.tech.theology>=1?e.tech={theology:1}:e.tech={},tc(),e.new=!0,e.seed=Math.rand(0,1e4),e.warseed=Math.rand(0,1e4),e.stats.current=Date.now(),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()};var Ce={w:!1,s:!1,mt:250},Ya={};function Rr(){Ba.forEach(function(r){r!=="achievements"&&(e.lastMsg[r]=[])})}function yo(r){let a={base:["showCiv","showCity","showIndustry","showPowerGrid","showMechLab","showShipYard","showResearch","showCivic","showMil","showResources","showMarket","showStorage","showGenetics","showSpace","showDeep","showGalactic","showPortal","showEden","showOuter","showTau","showEjector","showCargo","showAlchemy","showGovernor","arpa","showPsychic","showWish"],space:["moon","red","hell","sun","gas","gas_moon","belt","dwarf","alpha","proxima","nebula","neutron","blackhole","sirius","stargate","gateway","gorddon","alien1","alien2","chthonian","titan","enceladus","triton","eris","kuiper"],portal:["fortress","badlands","pit","ruins","gate","lake","spire"],eden:["asphodel","elysium","isle","palace"],tau:["home","red","roid","gas","gas2","star"]};Object.keys(a).forEach(function(i){i==="base"?a[i].forEach(function(s){(!e.settings.hasOwnProperty(s)||r)&&(e.settings[s]=!1)}):(e.settings.hasOwnProperty(i)||(e.settings[i]={}),a[i].forEach(function(s){(!e.settings[i].hasOwnProperty(s)||r)&&(e.settings[i][s]=!1)}))}),["civTabs","govTabs","govTabs2","hellTabs","resTabs","spaceTabs","marketTabs","statsTabs"].forEach(function(i){(!e.settings.hasOwnProperty(i)||r)&&(e.settings[i]=0)})}function tc(){Ce.w&&Ce.w.terminate(),e.queue={display:!1,queue:[]},e.r_queue={display:!1,queue:[]},e.space={},e.interstellar={},e.galaxy={},e.portal={},e.eden={},e.starDock={},e.tauceti={},e.civic={new:0},e.civic.foreign={gov0:{unrest:0,hstl:Math.floor(G(80,100)),mil:Math.floor(G(75,125)),eco:Math.floor(G(60,90)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov1:{unrest:0,hstl:Math.floor(G(0,20)),mil:Math.floor(G(125,175)),eco:Math.floor(G(80,120)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov2:{unrest:0,hstl:Math.floor(G(40,60)),mil:Math.floor(G(200,300)),eco:Math.floor(G(130,170)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1}},e.genes.blood||(e.prestige.Blood_Stone.count=0),e.resource={},e.evolution={},e.event={t:100,l:!1},e.m_event={t:499,l:!1},e.stats.days=0,e.stats.know=0,e.stats.starved=0,e.stats.died=0,e.stats.attacks=0,e.stats.dkills=0,e.stats.cfood=0,e.stats.cstone=0,e.stats.clumber=0,e.stats.sac=0,e.stats.cattle=0,e.stats.murders=0,e.stats.uDead=0,e.settings.at=0,e.settings.showEvolve=!0,e.settings.space.home=!0,yo(!0),e.settings.disableReset=!1,e.settings.pause=!1,e.arpa={},delete e.race.hrt,e.genes.queue&&(e.tech.queue=1,e.queue.display=!0)}window.reset=function(){try{gtag("event","reset",{end:"hard"})}catch{}localStorage.removeItem("evolved"),e=null,Ce.w&&Ce.w.terminate(),window.location.reload()};var rc;bu(e.settings.locale);function t(r,a){let i=rc[r];if(!i)return e.settings.expose&&(console.error(`string ${r} not found`),console.log(rc)),r;if(a)if(a instanceof Array){for(let c=0;c{a=s}),r!="en-US"){let s;try{$.getJSON(`strings/strings.${r}.json`,c=>{s=c})}catch(c){console.error(c,c.stack)}let n=a.length;s&&Object.assign(a,s),a.length!=n&&e.settings.expose&&console.error(`string.${r}.json has extra keys.`)}let i=Se.getItem("string_pack")||!1;if(i&&e.settings.sPackOn){let s;try{s=JSON.parse(LZString.decompressFromUTF16(i))}catch(c){console.error(c,c.stack)}let n=a.length;s&&Object.assign(a,s),a.length!=n&&e.settings.expose&&console.error("string pack has extra keys.")}$.ajaxSetup({async:!0}),rc=a}var Ms={"en-US":"English (US)","es-ES":"Spanish (ESP)","pt-BR":"Portugu\xEAs (BR)","de-DE":"Deutsch","it-IT":"Italiano","ru-RU":"\u0420\u0443\u0441\u0441\u043A\u0438\u0439","cs-CZ":"\u010Ce\u0161tina","pl-PL":"Polski","zh-CN":"\u7B80\u4F53\u4E2D\u6587","zh-TW":"\u7E41\u9AD4\u4E2D\u6587","ko-KR":"\uD55C\uAD6D\uC5B4","im-PL":"Igpay-Atinlay"};function ge(r){return e.race.high_pop&&(r*=b.high_pop.vars()[1]/100),r}function st(r){if(e.race.gravity_well&&e.race.teamster&&e.race.teamster>0){let a=ac();a<1&&(a=1);let i=e.civic.teamster.workers>a?a:e.civic.teamster.workers;r*=i/a}return r}function D(r,a,i){switch(r){case"transmitter":return 2.5;case"oil_well":{let s=e.tech.oil>=4?.48:.4;e.tech.oil>=7?s*=2:e.tech.oil>=5&&(s*=e.tech.oil>=6?1.75:1.25),e.city.geology.Oil&&(s*=e.city.geology.Oil+1),e.city.biome==="desert"?s*=Pe.desert.vars()[1]:e.city.biome==="tundra"?s*=Pe.tundra.vars()[1]:e.city.biome==="taiga"&&(s*=Pe.taiga.vars()[2]);let n=ue("dirty_jobs",2);return n&&(s*=1+n/100),s}case"iridium_mine":switch(a){case"iridium":{let s=.035;e.city.geology.Iridium&&(s*=e.city.geology.Iridium+1);let n=s,c=Ps(3);return{b:n,g:c-1,f:n*c}}case"coal":return .55}case"helium_mine":{let s=.18,n=Ps(3);return{b:s,g:n-1,f:s*n}}case"red_mine":switch(a){case"copper":{let s=ge(.25),n=Ps(3);return{b:s,g:n-1,f:s*n}}case"titanium":{let s=ge(.02),n=Ps(3);return{b:s,g:n-1,f:s*n}}case"stone":return ge(.75);case"asbestos":return ge(1.25);case"aluminium":return ge(.066)}case"biodome":switch(a){case"food":return ge(.25);case"cat_food":return 2;case"lumber":return ge(1.5)}case"gas_mining":return e.tech.helium?.65:.5;case"outpost":{let s={b:.025,d:0,n:0};if(e.tech.drone){let n=e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=3?.12:.06;s.d=e.space.drone.count*n,s.n=s.b*(1+s.d)}else s.n=s.b;return a?s:s.n}case"oil_extractor":{let s=e.tech.oil>=4?.48:.4;return e.tech.oil>=7?s*=2:e.tech.oil>=5&&(s*=e.tech.oil>=6?1.75:1.25),s}case"elerium_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?.009:.0075:.005;case"iridium_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?.1:.08:.055;case"iron_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?4:3:2;case"g_factory":if(e.race.truepath){if(e.tech.isolation)return 1.8;{let n=.05*(k.ai_colonist?e.civic.titan_colonist.workers+N(k.ai_colonist):e.civic.titan_colonist.workers);return e.race.high_pop&&(n=ge(n)),n}}else return .6;case"harvester":switch(a){case"helium":return .85;case"deuterium":return .15}case"elerium_prospector":return .014;case"neutron_miner":return .055;case"bolognium_ship":return .008;case"excavator":return .2;case"vitreloy_plant":{let s=.18;return e.civic.govern.type==="corpocracy"&&(s*=e.tech.high_tech&&e.tech.high_tech>=16?1.4:1.3),e.civic.govern.type==="socialist"&&(s*=1.1),s}case"infernite_mine":return .5*Xr("gate",0,i).supress;case"water_freighter":return 1.25;case"titan_mine":switch(a){case"adamantite":return ge(.02)*(e.space.titan_mine?e.space.titan_mine.ratio:50)/100;case"aluminium":return ge(.12)*(100-(e.space.titan_mine?e.space.titan_mine.ratio:50))/100}case"lander":return e.space.crashed_ship.count===100?.005:0;case"orichalcum_mine":return .08;case"uranium_mine":return .025;case"neutronium_mine":return .04;case"elerium_mine":return .009;case"shock_trooper":return e.space.digsite.count===100?.0018:0;case"tank":return e.space.digsite.count===100?.0018:0;case"mining_pit":{let s=0;switch(a){case"materials":{s=e.tech.isolation?.12:.09;break}case"bolognium":{s=e.tech.isolation?.0288:.0216;break}case"stone":{s=e.tech.isolation?.8:.6;break}case"adamantite":{s=e.tech.isolation?.448:.336;break}case"copper":{s=.58;break}case"coal":{s=.13;break}case"iron":{s=.74;break}case"aluminium":{s=.88;break}case"chrysotile":{s=1.44;break}}e.race.tough&&(s*=1+b.tough.vars()[0]/100);let n=ve("ogre");return n>0&&(s*=1+b.tough.vars(1)[0]/100*n),e.tech.tau_pit_mining&&(s*=1.18),s}case"tau_farm":switch(a){case"food":return e.tech.isolation?15:9;case"lumber":return e.tech.isolation?12:5.5;case"water":return .35}case"womling_mine":{let s=1;switch(e.tech.womling_mining&&(s+=e.tech.womling_mining*.15),e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5&&(s*=1.1),e.tech.womling_gene&&(s*=1.25),a){case"unobtainium":return .0305*s;case"uranium":return .047*s;case"titanium":return .616*s;case"copper":return 1.191*s;case"iron":return 1.377*s;case"aluminium":return 1.544*s;case"neutronium":return .382*s;case"iridium":return .535*s}}case"refueling_station":return e.tech.isolation?18.5:9.35;case"ore_refinery":return e.tech.tau_ore_mining?40:25;case"whaling_station":return 12;case"mining_ship":{if(e.tauceti.patrol_ship){let s=1;return e.tauceti.patrol_ship.support>e.tauceti.patrol_ship.s_max&&(s=ct("curve",e.tauceti.patrol_ship.s_max/e.tauceti.patrol_ship.support,1.4)),(e.tech.tau_ore_mining&&e.tech.tau_ore_mining>=2?12:10)*s}return 0}case"mining_ship_ore":switch(a){case"iron":return e.tech.isolation?2.22:1.85;case"aluminium":return e.tech.isolation?2.22:1.85;case"iridium":return e.tech.isolation?.42:.35;case"neutronium":return e.tech.isolation?.42:.35;case"orichalcum":return e.tech.isolation?.3:.25;case"elerium":return e.tech.isolation?.024:.02}case"whaling_ship":{if(e.tauceti.patrol_ship){let s=1;return e.tauceti.patrol_ship.support>e.tauceti.patrol_ship.s_max&&(s=ct("curve",e.tauceti.patrol_ship.s_max/e.tauceti.patrol_ship.support,1.4)),8*s}return 0}case"whaling_ship_oil":return e.tech.isolation?.78:.42;case"alien_outpost":return .01;case"psychic_boost":{if(e.tech.psychic&&e.race.psychic&&e.race.psychicPowers&&e.race.psychicPowers.boost.r===a&&e.race.psychicPowers.hasOwnProperty("boostTime")){let s=0;if(e.race.psychicPowers.boostTime>0&&(s+=b.psychic.vars()[3]/100),e.tech.psychic>=4&&e.race.psychicPowers.channel){let n=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;s+=+(b.psychic.vars()[3]/5e4*n*e.race.psychicPowers.channel.boost).toFixed(3)}return 1+s}return 1}case"psychic_cash":{if(e.tech.psychic&&e.race.psychic&&e.race.psychicPowers&&e.race.psychicPowers.hasOwnProperty("cash")){let s=0;if(e.race.psychicPowers.cash>0&&(s+=b.psychic.vars()[3]/100),e.tech.psychic>=4&&e.race.psychicPowers.channel){let n=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;s+=+(b.psychic.vars()[3]/5e4*n*e.race.psychicPowers.channel.cash).toFixed(3)}return 1+s}return 1}case"asphodel_harvester":{let s=.075;return e.tech.hell_lake&&e.tech.hell_lake>=7&&e.tech.railway&&(s*=1+e.tech.railway/100),s}}}function Zi(r){e.race.toxic&&(r*=1+b.toxic.vars()[0]/100),e.race.artisan&&(r*=1+b.artisan.vars()[1]/100);let a=ve("shroomi");return a>0&&(r*=1+b.toxic.vars(1)[0]/100*a),e.civic.govern.type==="corpocracy"&&(r*=1+qe.corpocracy()[4]/100),e.civic.govern.type==="socialist"&&(r*=1+qe.socialist()[1]/100),e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=2&&(r*=1.1),e.race.elemental&&b.elemental.vars()[0]==="acid"&&(r*=1+ge(b.elemental.vars()[2]*e.resource[e.race.species].amount/100)),r}function Je(r){switch(r){case"Physics":ko();break;case"Genetics":ei();break;case"Monument":return xo();case"PhysicsTech":return yt;case"GeneTech":return bo;case"BloodTech":return wu;case"Crispr":qo();break;case"Blood":cc();break}}var yt={lhc:{title(){return Qe("fool",2022)?t("arpa_projects_railway_title"):t("arpa_projects_lhc_title")},desc(){return Qe("fool",2022)?t("arpa_projects_railway_desc"):t("arpa_projects_lhc_desc")},reqs:{high_tech:6},grant:"supercollider",effect(r){if(Qe("fool",2022)&&!r)return yt.railway.effect(!0);let a=e.tech.tp_particles||e.tech.particles&&e.tech.particles>=3?e.race.cataclysm?20:8:e.race.cataclysm?10:4;return e.tech.storage>=6?e.tech.particles&&e.tech.particles>=4?e.race.cataclysm?t("arpa_projects_lhc_cataclysm3",[a]):t("arpa_projects_lhc_effect3",[a,e.race.orbit_decayed?t("space_home_satellite_title"):_r()]):e.race.cataclysm?t("arpa_projects_lhc_cataclysm2",[a]):t("arpa_projects_lhc_effect2",[a,e.race.orbit_decayed?t("space_home_satellite_title"):_r()]):e.race.cataclysm?t("arpa_projects_lhc_cataclysm1",[a]):e.tech.isolation?t("arpa_projects_lhc_iso1",[a,t("tech_infectious_disease_lab_alt")]):t("arpa_projects_lhc_effect1",[a,e.race.orbit_decayed?t("space_home_satellite_title"):_r()])},cost:{Money(r,a){return Xe("lhc",r,25e5,1.05,a)},Knowledge(r,a){return Xe("lhc",r,5e5,1.05,a)},Copper(r,a){return Xe("lhc",r,125e3,1.05,a)},Cement(r,a){return Xe("lhc",r,25e4,1.05,a)},Aluminium(r,a){return Xe("lhc",r,35e4,1.05,a)},Titanium(r,a){return Xe("lhc",r,5e4,1.05,a)},Polymer(r,a){return Xe("lhc",r,12e3,1.05,a)}}},stock_exchange:{title:t("arpa_projects_stock_exchange_title"),desc:t("arpa_projects_stock_exchange_desc"),reqs:{banking:9},grant:"stock_exchange",effect(){return e.tech.banking>=10?e.race.cataclysm?e.tech.gambling&&e.tech.gambling>=4?t("arpa_projects_stock_exchange_cataclysm2",[t("space_red_spaceport_title"),10,Ze("casino"),5,1]):t("arpa_projects_stock_exchange_cataclysm1",[t("space_red_spaceport_title"),10]):e.tech.gambling&&e.tech.gambling>=4?t("arpa_projects_stock_exchange_effect3",[t("city_bank"),10,t("job_banker"),2,Ze("casino"),5,1]):t("arpa_projects_stock_exchange_effect2",[t("city_bank"),10,t("job_banker"),2]):t("arpa_projects_stock_exchange_effect1",[t("city_bank"),10])},cost:{Money(r,a){return Xe("stock_exchange",r,3e6,1.06,a)},Plywood(r,a){return Xe("stock_exchange",r,25e3,1.06,a)},Brick(r,a){return Xe("stock_exchange",r,2e4,1.06,a)},Wrought_Iron(r,a){return Xe("stock_exchange",r,1e4,1.06,a)}}},tp_depot:{title:t("galaxy_gateway_depot"),desc:t("arpa_projects_depot_desc"),reqs:{high_tech:6,storage:4},grant:"tp_depot",path:["truepath"],effect(){return t(e.tech.isolation?"arpa_projects_depot_effect_iso":"arpa_projects_depot_effect",[5,50])},cost:{Money(r,a){return Xe("tp_depot",r,18e5,1.08,a)},Stone(r,a){return Xe("tp_depot",r,75e4,1.08,a)},Iron(r,a){return Xe("tp_depot",r,25e4,1.08,a)},Alloy(r,a){return Xe("tp_depot",r,3e4,1.08,a)}}},launch_facility:{id:"arpalaunch_facility",title:t("arpa_projects_launch_facility_title"),desc:t("arpa_projects_launch_facility_desc"),reqs:{high_tech:7},condition(){return!(e.race.cataclysm||e.race.lone_survivor)},grant:"launch_facility",rank:1,queue_complete(){return e.tech.space>=1?0:1},effect(){return t("arpa_projects_launch_facility_effect1")},cost:{Money(r){return Xe("launch_facility",r,2e6,1.1)},Knowledge(r){return Xe("launch_facility",r,5e5,1.1)},Cement(r){return Xe("launch_facility",r,15e4,1.1)},Oil(r){return Xe("launch_facility",r,2e4,1.1)},Sheet_Metal(r){return Xe("launch_facility",r,15e3,1.1)},Alloy(r){return Xe("launch_facility",r,25e3,1.1)}}},monument:{title(r){if(r)return t("arpa_project_monument_title");switch(e.arpa.m_type){case"Obelisk":return t("arpa_project_monument_obelisk");case"Statue":return t("arpa_project_monument_statue");case"Sculpture":return t("arpa_project_monument_sculpture");case"Monolith":return t("arpa_project_monument_monolith");case"Pillar":return t("arpa_project_monument_pillar");case"Megalith":return t("arpa_project_monument_megalith")}},desc:t("arpa_projects_monument_desc"),reqs:{monument:1},grant:"monuments",effect(){let r=ue("gaslighter",2),a=r?2-r:2;return t("arpa_projects_monument_effect1",[a])},cost:{Stone(r,a){return Ji("Stone",r,a)},Aluminium(r,a){return Ji("Aluminium",r,a)},Cement(r,a){return Ji("Cement",r,a)},Steel(r,a){return Ji("Steel",r,a)},Lumber(r,a){return Ji("Lumber",r,a)},Crystal(r,a){return Ji("Crystal",r,a)}}},railway:{title(){return Qe("fool",2022)?t("arpa_projects_lhc_title"):t("arpa_projects_railway_title")},desc(){return Qe("fool",2022)?t("arpa_projects_lhc_desc"):t("arpa_projects_railway_desc")},reqs:{high_tech:6,trade:3},grant:"railway",effect(r){if(Qe("fool",2022)&&!r)return yt.lhc.effect(!0);let a=e.stats.achieve.banana&&e.stats.achieve.banana.l>=2?1:0,i=e.stats.achieve.banana&&e.stats.achieve.banana.l>=1?3:2,s="";return e.race.cataclysm||e.race.orbit_decayed?(a+=e.space.gps?Math.floor(e.space.gps.count/3):0,s=t("arpa_projects_railway_cataclysm1",[a,i,3,1])):(a+=e.city.storage_yard?Math.floor(e.city.storage_yard.count/6):0,s=t("arpa_projects_railway_effect1",[a,i,6,1])),e.tech.hell_lake&&e.tech.hell_lake>=7&&(s+=` ${t("arpa_projects_railway_highway",[1,e.resource.Asphodel_Powder.name,t("eden_asphodel_harvester_title"),1])}`),s},cost:{Money(r,a){return Xe("railway",r,25e5,1.08,a)},Lumber(r,a){return Xe("railway",r,75e4,1.08,a)},Iron(r,a){return Xe("railway",r,3e5,1.08,a)},Steel(r,a){return Xe("railway",r,45e4,1.08,a)}}},roid_eject:{title(){return t("arpa_projects_roid_eject_title",[ic()])},desc(){return t(e.tech.roid_eject<=10?"arpa_projects_roid_eject_desc":"arpa_projects_roid_eject_desc2",[ic()])},reqs:{blackhole:6,gateway:3},grant:"roid_eject",effect(){let r=0,a=0;return e.tech.roid_eject&&(r+=.225*e.tech.roid_eject*(1+e.tech.roid_eject/12),a=.225*(e.tech.roid_eject+1)*(1+(e.tech.roid_eject+1)/12)-r),`
${t("arpa_projects_roid_eject_effect1")}
${t("arpa_projects_roid_eject_effect2",[+r.toFixed(3),+a.toFixed(3),ic()])}
`},cost:{Money(r,a){return Xe("roid_eject",r,1875e4,1.075,a)},Deuterium(r,a){return Xe("roid_eject",r,375e3,1.075,a)},Bolognium(r,a){return Xe("roid_eject",r,15e3,1.075,a)}}},nexus:{title:t("arpa_projects_nexus_title"),desc:t("arpa_projects_nexus_desc"),reqs:{magic:5},grant:"nexus",effect(){return e.tech.roguemagic&&e.tech.roguemagic>=7?`
${t("arpa_projects_nexus_effect1",[5])}
${t("witch_hunter_nexus",[8])}
`:t("arpa_projects_nexus_effect1",[5])},cost:{Money(r,a){return Xe("nexus",r,5e6,1.12,a)},Crystal(r,a){return Xe("nexus",r,6e4,1.12,a)},Iridium(r,a){return Xe("nexus",r,35e3,1.12,a)}}},syphon:{title:t("arpa_syphon_title"),desc(){let r="";return e.tech.syphon&&e.tech.syphon>=0?r=`
${t("arpa_syphon_desc")}
${t("arpa_syphon_desc_warn2")}
`:r=`
${t("arpa_syphon_desc")}
${t("arpa_syphon_desc_warn1")}
`,e.race.witch_hunter&&(r+=`
${t("witch_hunter_suspicion")}
`),r},reqs:{veil:2},grant:"syphon",effect(){let r=+(.3333333333333333*bt("magic")).toFixed(3);if(e.tech.syphon&&e.tech.syphon>=60){let a=it("vacuum"),i=t("resource_Plasmid_plural_name");return`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect4")}
${t("arpa_syphon_effect_reward",[a.plasmid,a.phage,a.dark,i,80])}
`}else return e.tech.syphon&&e.tech.syphon>=40?`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect3")}
`:e.tech.syphon&&e.tech.syphon>=20?`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect2")}
`:`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect1")}
`},cost:{Money(r,a){return Xe("syphon",r,75e5,1.025,a)},Mana(r,a){return Xe("syphon",r,5e3,1.025,a)},Crystal(r,a){return Xe("syphon",r,1e5,1.025,a)},Infernite(r,a){return Xe("syphon",r,1e4,1.025,a)}}}};function ic(){return!e.tech.roid_eject||e.tech.roid_eject<=10?t("arpa_projects_roid_eject_asteroid"):e.tech.roid_eject<=25?t("arpa_projects_roid_eject_moon"):e.tech.roid_eject<=40?t("arpa_projects_roid_eject_dwarf"):e.tech.roid_eject<=60?t("arpa_projects_roid_eject_planet"):t("arpa_projects_roid_eject_remnant")}var bo={genetic_memory:{id:"genes-genetic_memory",title:t("arpa_genepool_genetic_memory_title"),desc:t("arpa_genepool_genetic_memory_desc"),reqs:{},grant:["creep",1],cost:{Plasmid(){return 25}},action(){return!!Te("genetic_memory")}},animus:{id:"genes-animus",title:t("arpa_genepool_animus_title"),desc:t("arpa_genepool_animus_desc"),reqs:{creep:1},grant:["creep",2],cost:{Plasmid(){return 75}},action(){return!!Te("animus")}},divine_remembrance:{id:"genes-divine_remembrance",title:t("arpa_genepool_divine_remembrance_title"),desc:t("arpa_genepool_divine_remembrance_desc"),reqs:{creep:2},grant:["creep",3],cost:{Plasmid(){return 225}},action(){return!!Te("divine_remembrance")}},divine_proportion:{id:"genes-divine_proportion",title:t("arpa_genepool_divine_proportion_title"),desc:t("arpa_genepool_divine_proportion_desc"),reqs:{creep:3},grant:["creep",4],cost:{Plasmid(){return 618}},action(){return!!Te("divine_proportion")}},genetic_repository:{id:"genes-genetic_repository",title:t("arpa_genepool_genetic_repository_title"),desc:t("arpa_genepool_genetic_repository_desc"),reqs:{creep:4},grant:["creep",5],cost:{Plasmid(){return 999}},action(){return!!Te("genetic_repository")}},spatial_reasoning:{id:"genes-spatial_reasoning",title:t("arpa_genepool_spatial_reasoning_title"),desc:t("arpa_genepool_spatial_reasoning_desc"),reqs:{},grant:["store",1],cost:{Plasmid(){return 50}},action(){return!!Te("spatial_reasoning")}},spatial_superiority:{id:"genes-spatial_superiority",title:t("arpa_genepool_spatial_superiority_title"),desc:t("arpa_genepool_spatial_superiority_desc"),reqs:{store:1},grant:["store",2],cost:{Plasmid(){return 125}},action(){return!!Te("spatial_superiority")}},spatial_supremacy:{id:"genes-spatial_supremacy",title:t("arpa_genepool_spatial_supremacy_title"),desc:t("arpa_genepool_spatial_supremacy_desc"),reqs:{store:2},grant:["store",3],cost:{Plasmid(){return 325}},action(){return!!Te("spatial_supremacy")}},dimensional_warping:{id:"genes-dimensional_warping",title:t("arpa_genepool_dimensional_warping_title"),desc:t("arpa_genepool_dimensional_warping_desc"),reqs:{store:3},grant:["store",4],cost:{Plasmid(){return 500}},action(){return!!Te("dimensional_warping")}},enhanced_muscle_fiber:{id:"genes-enhanced_muscle_fiber",title:t("arpa_genepool_enhanced_muscle_fiber_title"),desc:t("arpa_genepool_enhanced_muscle_fiber_desc"),reqs:{},grant:["enhance",1],cost:{Plasmid(){return 25}},action(){return!!Te("enhanced_muscle_fiber")}},morphogenesis:{id:"genes-morphogenesis",title:t("arpa_genepool_morphogenesis_title"),desc:t("arpa_genepool_morphogenesis_desc"),reqs:{},grant:["evolve",1],cost:{Plasmid(){return 10}},action(){return!!Te("morphogenesis")}},recombination:{id:"genes-recombination",title:t("arpa_genepool_recombination_title"),desc:t("arpa_genepool_recombination_desc"),reqs:{evolve:1},grant:["evolve",2],cost:{Plasmid(){return 35}},action(){return!!Te("recombination")}},homologous_recombination:{id:"genes-homologous_recombination",title:t("arpa_genepool_homologous_recombination_title"),desc:t("arpa_genepool_homologous_recombination_desc"),reqs:{evolve:2},grant:["evolve",3],cost:{Plasmid(){return 70}},action(){return!!Te("homologous_recombination")}},genetic_reshuffling:{id:"genes-genetic_reshuffling",title:t("arpa_genepool_genetic_reshuffling_title"),desc:t("arpa_genepool_genetic_reshuffling_desc"),reqs:{evolve:3},grant:["evolve",4],cost:{Plasmid(){return 175}},action(){return!!Te("genetic_reshuffling")}},recombinant_dna:{id:"genes-recombinant_dna",title:t("arpa_genepool_recombinant_dna_title"),desc:t("arpa_genepool_recombinant_dna_desc"),reqs:{evolve:4},grant:["evolve",5],cost:{Plasmid(){return 440}},action(){return!!Te("recombinant_dna")}},chimeric_dna:{id:"genes-chimeric_dna",title:t("arpa_genepool_chimeric_dna_title"),desc:t("arpa_genepool_chimeric_dna_desc"),reqs:{evolve:5},grant:["evolve",6],cost:{Plasmid(){return 1100}},action(){return!!Te("chimeric_dna")}},molecular_cloning:{id:"genes-molecular_cloning",title:t("arpa_genepool_molecular_cloning_title"),desc:t("arpa_genepool_molecular_cloning_desc"),reqs:{evolve:6},grant:["evolve",7],cost:{Plasmid(){return 2750}},action(){return!!Te("molecular_cloning")}},transgenes:{id:"genes-transgenes",title:t("arpa_genepool_transgenes_title"),desc:t("arpa_genepool_transgenes_desc"),reqs:{evolve:7},grant:["evolve",8],cost:{Plasmid(){return 6875}},action(){return!!Te("transgenes")}},synthesis:{id:"genes-synthesis",title:t("arpa_genepool_synthesis_title"),desc:t("arpa_genepool_synthesis_desc",[2,10]),reqs:{evolve:1},grant:["synthesis",1],cost:{Plasmid(){return 25}},action(){return!!Te("synthesis")}},karyokinesis:{id:"genes-karyokinesis",title:t("arpa_genepool_karyokinesis_title"),desc:t("arpa_genepool_synthesis_desc",[3,25]),reqs:{synthesis:1},grant:["synthesis",2],cost:{Plasmid(){return 40}},action(){return!!Te("karyokinesis")}},cytokinesis:{id:"genes-cytokinesis",title:t("arpa_genepool_cytokinesis_title"),desc:t("arpa_genepool_synthesis_desc",[4,50]),reqs:{synthesis:2},grant:["synthesis",3],cost:{Plasmid(){return 55}},action(){return!!Te("cytokinesis")}},mitosis:{id:"genes-mitosis",title:t("arpa_genepool_mitosis_title"),desc:t("arpa_genepool_mitosis_desc",[3]),reqs:{synthesis:3,evolve:2},grant:["plasma",1],cost:{Plasmid(){return 90}},action(){return!!Te("mitosis")}},metaphase:{id:"genes-metaphase",title:t("arpa_genepool_metaphase_title"),desc:t("arpa_genepool_mitosis_desc",[5]),reqs:{plasma:1},grant:["plasma",2],cost:{Plasmid(){return 165}},action(){return!!Te("metaphase")}},mutation:{id:"genes-mutation",title:t("arpa_genepool_mutation_title"),desc:t("arpa_genepool_mutation_desc"),reqs:{synthesis:3,creep:5},grant:["mutation",1],cost:{Plasmid(){return 1250}},action(){return Te("mutation")?(e.genes.mutation=1,ei(),!0):!1}},transformation:{id:"genes-transformation",title:t("arpa_genepool_transformation_title"),desc:t("arpa_genepool_transformation_desc"),reqs:{mutation:1},grant:["mutation",2],cost:{Plasmid(){return 1500}},action(){return Te("transformation")?(e.genes.mutation=2,ei(),!0):!1}},metamorphosis:{id:"genes-metamorphosis",title:t("arpa_genepool_metamorphosis_title"),desc:t("arpa_genepool_metamorphosis_desc"),reqs:{mutation:2},grant:["mutation",3],cost:{Plasmid(){return 1750}},action(){return Te("metamorphosis")?(e.genes.mutation=3,ei(),!0):!1}},replication:{id:"genes-replication",title:t("arpa_genepool_replication_title"),desc:t("arpa_genepool_replication_desc"),reqs:{evolve:1},grant:["birth",1],cost:{Plasmid(){return 65}},action(){return!!Te("replication")}},artificer:{id:"genes-artificer",title:t("arpa_genepool_artificer_title"),desc:t("arpa_genepool_artificer_desc"),reqs:{evolve:1},grant:["crafty",1],cost:{Plasmid(){return 45}},action(){return!!Te("artificer")}},detail_oriented:{id:"genes-detail_oriented",title:t("arpa_genepool_detail_oriented_title"),desc:t("arpa_genepool_crafting_desc",["50"]),reqs:{crafty:1},grant:["crafty",2],cost:{Plasmid(){return 90}},action(){return!!Te("detail_oriented")}},rigorous:{id:"genes-rigorous",title:t("arpa_genepool_rigorous_title"),desc:t("arpa_genepool_crafting_desc",["100"]),reqs:{crafty:2},grant:["crafty",3],cost:{Plasmid(){return 135}},action(){return!!Te("rigorous")}},geographer:{id:"genes-geographer",title:t("arpa_genepool_geographer_title"),desc:t("arpa_genepool_geographer_desc"),reqs:{store:1},grant:["queue",1],cost:{Plasmid(){return 75}},action(){return!!Te("geographer")}},architect:{id:"genes-architect",title:t("arpa_genepool_architect_title"),desc:t("arpa_genepool_architect_desc"),reqs:{queue:1},grant:["queue",2],cost:{Plasmid(){return 160}},action(){return!!Te("architect")},post(){Hr(),ga()}},precognition:{id:"genes-precognition",title:t("arpa_genepool_precognition_title"),desc:t("arpa_genepool_precognition_desc"),reqs:{queue:2},grant:["queue",3],condition(){return e.stats.aiappoc>0},cost:{Plasmid(){return 3500},Phage(){return 100},AICore(){return 1}},action(){return!!Te("precognition")}},governance:{id:"genes-governance",title:t("arpa_genepool_governance_title"),desc:t("arpa_genepool_governance_desc"),reqs:{queue:2},grant:["governor",1],cost:{Plasmid(){return 300},Phage(){return 25}},action(){return!!Te("governance")}},civil_service:{id:"genes-civil_service",title:t("arpa_genepool_civil_service_title"),desc:t("arpa_genepool_civil_service_desc"),reqs:{governor:1},grant:["governor",2],cost:{Plasmid(){return 1e3},Harmony(){return 1}},action(){return!!Te("civil_service")},post(){if(e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("tasks"))for(let r=0;r<6;r++)e.race.governor.tasks.hasOwnProperty(`t${r}`)||(e.race.governor.tasks[`t${r}`]="none");Mt()}},bureaucratic_efficiency:{id:"genes-bureaucratic_efficiency",title:t("arpa_genepool_bureaucratic_efficiency_title"),desc:t("arpa_genepool_bureaucratic_efficiency_desc"),reqs:{governor:2},grant:["governor",3],cost:{Plasmid(){return 2500},Artifact(){return 1}},action(){return!!Te("bureaucratic_efficiency")},post(){Mt()},flair(){return t("arpa_genepool_bureaucratic_efficiency_flair")}},hardened_genes:{id:"genes-hardened_genes",title:t("arpa_genepool_hardened_genes_title"),desc:t("arpa_genepool_hardened_genes_desc"),reqs:{},grant:["challenge",1],cost:{Plasmid(){return 5}},action(){return!!Te("hardened_genes")}},unlocked:{id:"genes-unlocked",title:t("arpa_genepool_unlocked_title"),desc:t("arpa_genepool_unlocked_desc"),reqs:{challenge:1},grant:["challenge",2],cost:{Plasmid(){return 50}},action(){return!!Te("unlocked")},post(){Gt(!0)}},universal:{id:"genes-universal",title:t("arpa_genepool_universal_title"),desc:t("arpa_genepool_universal_desc"),reqs:{challenge:2},grant:["challenge",3],condition(){return e.race.universe!=="standard"},cost:{Plasmid(){return 400}},action(){return!!Te("universal")},post(){Gt(!0)}},standard:{id:"genes-standard",title:t("arpa_genepool_standard_title"),desc:t("arpa_genepool_standard_desc"),reqs:{challenge:3},grant:["challenge",4],condition(){return e.race.universe!=="standard"},cost:{Plasmid(){return 2500}},action(){return!!Te("standard")},post(){Gt(!0)}},mastered:{id:"genes-mastered",title:t("arpa_genepool_mastered_title"),desc:t("arpa_genepool_mastered_desc"),reqs:{challenge:4},grant:["challenge",5],cost:{Plasmid(){return 4e3}},action(){return!!Te("mastered")}},negotiator:{id:"genes-negotiator",title:t("arpa_genepool_negotiator_title"),desc:t("arpa_genepool_negotiator_desc"),reqs:{challenge:2},grant:["trader",1],cost:{Plasmid(){return 750}},action(){return Te("negotiator")?(e.genes.trader=1,rn(),!0):!1}},haggler:{id:"genes-haggler",title:t("arpa_genepool_haggler_title"),desc:t("arpa_genepool_haggler_desc"),reqs:{trader:1},condition(){return!!e.stats.achieve.godslayer},grant:["trader",2],cost:{Supercoiled(){return 10}},action(){return Te("haggler")?(e.genes.trader=2,rn(),!0):!1}},ancients:{id:"genes-ancients",title:t("arpa_genepool_ancients_title"),desc:t("arpa_genepool_ancients_desc"),reqs:{evolve:2},condition(){return!!e.genes.old_gods},grant:["ancients",1],cost:{Plasmid(){return 120}},action(){return Te("ancients")?(e.genes.ancients=1,ce(),!0):!1}},faith:{id:"genes-faith",title:t("arpa_genepool_faith_title"),desc:t("arpa_genepool_faith_desc"),reqs:{ancients:1},grant:["ancients",2],cost:{Plasmid(){return 300}},action(){return Te("faith")?(e.civic.priest.display=!0,!0):!1}},devotion:{id:"genes-devotion",title:t("arpa_genepool_devotion_title"),desc:t("arpa_genepool_devotion_desc"),reqs:{ancients:2},grant:["ancients",3],cost:{Plasmid(){return 600}},action(){return!!Te("devotion")}},acolyte:{id:"genes-acolyte",title:t("arpa_genepool_acolyte_title"),desc:t("arpa_genepool_acolyte_desc"),reqs:{ancients:3},grant:["ancients",4],cost:{Plasmid(){return 1e3}},action(){return!!Te("acolyte")}},conviction:{id:"genes-conviction",title:t("arpa_genepool_conviction_title"),desc:t("arpa_genepool_conviction_desc"),reqs:{ancients:4},grant:["ancients",5],cost:{Plasmid(){return 1500}},action(){return!!Te("conviction")}},doctrine:{id:"genes-doctrine",title:t("arpa_genepool_doctrine_title"),desc:t("arpa_genepool_doctrine_desc"),reqs:{ancients:5},condition(){return!!e.stats.achieve.godslayer},grant:["ancients",6],cost:{Supercoiled(){return 50}},action(){return!!Te("doctrine")}},ideology:{id:"genes-ideology",title:t("arpa_genepool_ideology_title"),desc:t("arpa_genepool_ideology_desc"),reqs:{ancients:6},grant:["ancients",7],cost:{Supercoiled(){return 75}},action(){return!!Te("ideology")}},transcendence:{id:"genes-transcendence",title:t("arpa_genepool_transcendence_title"),desc:t("arpa_genepool_transcendence_desc"),reqs:{ancients:1,mutation:3},grant:["transcendence",1],cost:{Plasmid(){return 3e3}},action(){return Te("transcendence")?(e.genes.transcendence=1,ce(),!0):!1}},preeminence:{id:"genes-preeminence",title:t("arpa_genepool_preeminence_title"),desc:t("arpa_genepool_preeminence_desc"),reqs:{transcendence:1,challenge:5,ancients:7},grant:["transcendence",2],cost:{Supercoiled(){return 250},Harmony(){return 10}},action(){return!!Te("preeminence")}},bleeding_effect:{id:"genes-bleeding_effect",title:t("arpa_genepool_bleeding_effect_title"),desc:t("arpa_genepool_bleeding_effect_desc",[2.5]),reqs:{creep:2},grant:["bleed",1],condition(){return e.race.universe==="antimatter"},cost:{Plasmid(){return 100}},action(){return!!Te("bleeding_effect")}},synchronicity:{id:"genes-synchronicity",title:t("arpa_genepool_synchronicity_title"),desc:t("arpa_genepool_synchronicity_desc",[25]),reqs:{bleed:1},grant:["bleed",2],cost:{Plasmid(){return 500}},action(){return!!Te("synchronicity")}},astral_awareness:{id:"genes-astral_awareness",title:t("arpa_genepool_astral_awareness_title"),desc:t("arpa_genepool_astral_awareness_desc"),reqs:{bleed:2},grant:["bleed",3],cost:{Plasmid(){return 1e3}},action(){return!!Te("astral_awareness")}},blood_remembrance:{id:"genes-blood_remembrance",title:t("arpa_genepool_blood_remembrance_title"),desc:t("arpa_genepool_blood_remembrance_desc"),reqs:{},grant:["blood",1],condition(){return e.prestige.Blood_Stone.count>=1},cost:{Plasmid(){return 1e3},Phage(){return 10}},action(){return!!Te("blood_remembrance")}},blood_sacrifice:{id:"genes-blood_sacrifice",title:t("arpa_genepool_blood_sacrifice_title"),desc:t("arpa_genepool_blood_sacrifice_desc"),reqs:{blood:1},grant:["blood",2],cost:{Plasmid(){return 3e3},Phage(){return 100},Artifact(){return 1}},action(){return!!Te("blood_sacrifice")}},essence_absorber:{id:"genes-essence_absorber",title:t("arpa_genepool_essence_absorber_title"),desc:t("arpa_genepool_essence_absorber_desc"),reqs:{blood:2},grant:["blood",3],cost:{Plasmid(){return 7500},Phage(){return 250},Artifact(){return 1}},action(){return!!Te("essence_absorber")},post(){cc()}}},wu={purify:{id:"blood-purify",title:t("arpa_blood_purify_title"),desc:t("arpa_blood_purify_desc"),reqs:{},grant:["spire",1],cost:{Blood_Stone(){return 10}},action(){return!!Sr($(this)[0].cost)}},chum:{id:"blood-chum",title:t("arpa_blood_chum_title"),desc:t("arpa_blood_chum_desc"),reqs:{spire:1},grant:["spire",2],cost:{Blood_Stone(){return 25}},action(){return!!Sr($(this)[0].cost)}},lust:{id:"blood-lust",title:t("arpa_blood_lust_title"),desc:t("arpa_blood_lust_desc"),reqs:{},grant:["lust","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.lust||0))*15+15},Artifact(r){return((r||0)+(e.blood.lust||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},illuminate:{id:"blood-illuminate",title:t("arpa_blood_illuminate_title"),desc:t("arpa_blood_illuminate_desc"),reqs:{},grant:["illuminate","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.illuminate||0))*12+12},Artifact(r){return((r||0)+(e.blood.illuminate||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},greed:{id:"blood-greed",title:t("arpa_blood_greed_title"),desc:t("arpa_blood_greed_desc"),reqs:{},grant:["greed","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.greed||0))*16+16},Artifact(r){return((r||0)+(e.blood.greed||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},hoarder:{id:"blood-hoarder",title:t("arpa_blood_hoarder_title"),desc:t("arpa_blood_hoarder_desc"),reqs:{},grant:["hoarder","*"],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(r){return((r||0)+(e.blood.hoarder||0))*14+14},Artifact(r){return((r||0)+(e.blood.hoarder||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},artisan:{id:"blood-artisan",title:t("arpa_blood_artisan_title"),desc:t("arpa_blood_artisan_desc"),reqs:{},grant:["artisan","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.artisan||0))*8+8},Artifact(r){return((r||0)+(e.blood.artisan||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},attract:{id:"blood-attract",title:t("arpa_blood_attract_title"),desc:t("arpa_blood_attract_desc"),reqs:{},grant:["attract","*"],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(r){return((r||0)+(e.blood.attract||0))*4+4},Artifact(r){return((r||0)+(e.blood.attract||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},wrath:{id:"blood-wrath",title:t("arpa_blood_wrath_title"),desc:t("arpa_blood_wrath_desc"),reqs:{},grant:["wrath","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.wrath||0))*2+2},Artifact(){return 1}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Sr($(this)[0].cost)}},prepared:{id:"blood-prepared",title:t("arpa_blood_prepared_title"),desc:t("arpa_blood_prepared_desc"),reqs:{},grant:["prepared",1],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 50}},action(){return!!Sr($(this)[0].cost)},post(){Yi()}},compact:{id:"blood-compact",title:t("arpa_blood_compact_title"),desc:t("arpa_blood_compact_desc"),reqs:{prepared:1},grant:["prepared",2],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 75}},action(){return!!Sr($(this)[0].cost)}},infernal:{id:"blood-infernal",title:t("arpa_blood_infernal_title"),desc:t("arpa_blood_infernal_desc"),reqs:{prepared:2},grant:["prepared",3],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 125},Artifact(){return 1}},action(){return!!Sr($(this)[0].cost)}},unbound:{id:"blood-unbound",title:t("arpa_blood_unbound_title"),desc:t("arpa_blood_unbound_desc"),reqs:{},grant:["unbound",1],cost:{Blood_Stone(){return 50}},action(){return!!Sr($(this)[0].cost)}},unbound_resistance:{id:"blood-unbound_resistance",title:t("arpa_blood_unbound_resistance_title"),desc:t("arpa_blood_unbound_resistance_desc"),reqs:{unbound:1},grant:["unbound",2],cost:{Blood_Stone(){return 100}},action(){return!!Sr($(this)[0].cost)}},shadow_war:{id:"blood-shadow_war",title:t("arpa_blood_shadow_war_title"),desc:t("arpa_blood_shadow_war_desc"),reqs:{unbound:2},grant:["unbound",3],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 250},Artifact(){return 2}},action(){return!!Sr($(this)[0].cost)}},unbound_immunity:{id:"blood-unbound_immunity",title:t("arpa_blood_unbound_immunity_title"),desc:t("arpa_blood_unbound_immunity_desc"),reqs:{unbound:3},grant:["unbound",4],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 500}},action(){return!!Sr($(this)[0].cost)}},blood_aware:{id:"blood-blood_aware",title:t("arpa_blood_blood_aware_title"),desc:t("arpa_blood_blood_aware_desc"),reqs:{},grant:["aware",1],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 10}},action(){return!!Sr($(this)[0].cost)}}};function Te(r){let a=!0,i=bo[r].cost;return Object.keys(i).forEach(function(s){let n=s;s==="Plasmid"&&e.race.universe==="antimatter"&&(s="AntiPlasmid"),e.prestige[s].countNumber(e.resource[i].amount))return a=!1,!1}),a}function Os(r,a,i){return r=Cu(r,a,i),Kr({cost:r},a,i)}function Cu(r,a,i){let s=ve("human");if(i&&i.creative||!i&&e.race.creative||!i&&s>0){var n={};return Object.keys(r).forEach(function(c){n[c]=function(){let l=r[c](a,i);return(i&&i.creative||!i&&e.race.creative)&&(l*=1-b.creative.vars()[1]/100),s>0&&(l*=1-b.creative.vars(1)[1]/100*s),l}}),n}return r}function Xe(r,a,i,s,n){var c=e.arpa[r]?e.arpa[r].rank:0;return(n&&n.creative||!n&&e.race.creative)&&r!=="syphon"&&(s-=b.creative.vars()[0]),a&&(c+=a),Math.round(s**c*i)}function ko(){if(e.tech.high_tech&&e.tech.high_tech>=6){let r=$("#arpaPhysics");ne(r),Object.keys(yt).forEach(function(a){Au(r,a)})}}function sc(){let r=$("#geneticMinor")[0];if(r){let a=Sortable.get(r);a&&a.destroy()}}function Su(){let r=$("#geneticMinor")[0];r&&Sortable.create(r,{onEnd(a){let i=e.settings.mtorder;i.splice(a.newDraggableIndex,0,i.splice(a.oldDraggableIndex,1)[0]),e.settings.mtorder=i,ei()}})}function ei(){let r=$("#arpaGenetics");if(sc(),ne(r),!e.settings.arpa.genetics)return!1;if(e.tech.genetics>1){let a=$('
');r.append(a);let i=e.tech.genetics>2?t("arpa_gene_mutation"):t("arpa_sequence_genome");e.race.artifical&&(i=e.tech.genetics>2?t("arpa_code_modification"):t("arpa_decompile_source"));let s=$(`
${i} - ${t("arpa_to_complete")}
`);a.append(s);let n=$(`{{ progress }}%`);a.append(n);let c=e.tech.genetics>2?t("arpa_mutate"):t("arpa_sequence");e.race.artifical&&(c=e.tech.genetics>2?t("arpa_modify"):t("arpa_decompile"));let l=$(``);if(a.append(l),e.tech.genetics>=5){let o=$(``);a.append(o)}if(e.tech.genetics>=6){let o=$(``);a.append(o)}if(e.tech.genetics>=7){let o=$(``);a.append(o)}e.arpa.sequence.on&&$("#arpaSequence button.seq").addClass("has-text-success"),e.arpa.sequence.boost&&$("#arpaSequence button.boost").addClass("has-text-success"),e.arpa.sequence.auto&&$("#arpaSequence button.auto").addClass("has-text-success"),H({el:"#arpaSequence",data:e.arpa.sequence,methods:{toggle(){e.arpa.sequence.on?(e.arpa.sequence.on=!1,$("#arpaSequence button.seq").removeClass("has-text-success")):(e.arpa.sequence.on=!0,$("#arpaSequence button.seq").addClass("has-text-success"))},booster(){e.arpa.sequence.boost?(e.arpa.sequence.boost=!1,$("#arpaSequence button.boost").removeClass("has-text-success")):(e.arpa.sequence.boost=!0,$("#arpaSequence button.boost").addClass("has-text-success"))},boostLabel(o){return t(e.race.artifical?"arpa_boost_artifical_label":"arpa_boost_label")+(o?e.arpa.sequence.boost?t("city_on"):t("city_off"):"")},novo(){let o=me(),d=2e5;if(e.resource.Knowledge.amount>=d){let y=Math.floor(e.resource.Knowledge.amount/d),p=Math.min(o,y);e.resource.Knowledge.amount-=d*p,e.resource.Genes.amount+=p;let v=Wt(8,12,!1);v.length>0&&$("#arpaSequence > div:first").append(v)}},novoLabel(){return t(e.race.artifical?"arpa_novo_artifical_label":"arpa_novo_label",["200k"])},auto_seq(){e.arpa.sequence.auto?(e.arpa.sequence.auto=!1,$("#arpaSequence button.auto").removeClass("has-text-success")):(e.arpa.sequence.auto=!0,$("#arpaSequence button.auto").addClass("has-text-success"))},autoLabel(o){return t(e.race.artifical?"arpa_auto_compile_label":"arpa_auto_seq_label")+(o?e.arpa.sequence.boost?t("city_on"):t("city_off"):"")}},filters:{timer(o){if(e.arpa.sequence.on&&e.arpa.sequence.labs>0)return e.arpa.sequence.boost?pt(o/(e.arpa.sequence.labs*2)):pt(o/e.arpa.sequence.labs);{let d=Lt(14,12);return d.length>0?d:t("time_never")}}}}),_e("popArpaSeq",function(){return e.tech.genetics>2?e.race.artifical?t("arpa_modify_desc"):t("arpa_mutate_desc"):e.race.artifical?t("arpa_decompile_desc"):t("arpa_sequence_desc")},{elm:"#arpaSequence .seqlbl",classes:"has-background-light has-text-dark"})}if(e.tech.genetics>2){let a=$('
');$("#arpaGenetics").append(a);let i=$('
');a.append(i),e.tech.decay&&e.tech.decay>=2&&(e.settings.mtorder.includes("fortify")||e.settings.mtorder.push("fortify")),Object.keys(e.race).forEach(function(C){b[C]&&b[C].type==="minor"&&(e.settings.mtorder.includes(C)||e.settings.mtorder.push(C))}),e.genes.challenge&&e.genes.challenge>=5&&(e.settings.mtorder.includes("mastery")||e.settings.mtorder.push("mastery"));let s=!1,n=[];e.settings.mtorder.forEach(function(C){(b[C]&&b[C].type==="minor"||C==="mastery"||C==="fortify")&&(C!=="fortify"||e.tech.decay&&e.tech.decay>=2)&&(!["promiscuous","content","resilient","industrious","tactical","fibroblast"].includes(C)&&e.race.lone_survivor||!e.race.lone_survivor)&&(s=!0,ju(i,C),n.push(C))}),a.append(`
${t("arpa_race_genetic_traids",[ct("name")])}
`);let c=ma("name"),l=[],o=[],d=$('
');a.append(d);let y=Ee(e.race);Qe("fool",2023)&&(y.hooved=1),Object.keys(y).forEach(function(C){if(b[C]&&b[C].type!=="minor"&&b[C].type!=="special"&&C!=="evil"&&C!=="soul_eater"&&C!=="artifical"){let T=!1;if(e.race.ss_traits&&e.race.ss_traits.includes(C)||e.race.iTraits&&e.race.iTraits.hasOwnProperty(C)||["sludge","ultra_sludge"].includes(e.race.species)&&(C==="ooze"||e.race.modified)?T=!0:e.race.hasOwnProperty(C)||(T=!0),!T&&(b[C].type==="major"&&e.genes.mutation||b[C].type==="genus"&&e.genes.mutation&&e.genes.mutation>=2)){let M=$('
'),Z=$(`${t("arpa_remove_button")}`);l.push(C),M.append(Z),M.append($(`${c[C]?c[C]:b[C].name} (${t("arpa_genepool_rank",[y[C]])})`)),d.append(M)}else o.push(C),d.append(`
${c[C]?c[C]:b[C].name} (${t("arpa_genepool_rank",[y[C]])})
`)}});let p=[],v=[];if(e.genes.mutation&&e.genes.mutation>=3&&(e.race.species!=="sludge"&&e.race.species!=="ultra_sludge"||!e.race.modified)){a.append(`
${t("arpa_race_genetic_gain")}
`);let C=["dumb","smart"],T=E[e.race.species].type==="hybrid"?e.race.maintype:E[e.race.species].type,M=E[e.race.species].type==="hybrid"?E[e.race.species].hybrid:[E[e.race.species].type];Object.keys(E).forEach(function(X){X!=="junker"&&X!=="sludge"&&X!=="ultra_sludge"&&X!=="custom"&&(M.includes(E[X].type)||E[X].type==="hybrid"&&X===e.race.species)&&Object.keys(E[X].traits).forEach(function(h){if(!e.race[h]&&h!=="soul_eater"){let j=C.indexOf(h);if(j===-1)v.push(h),E[X].type!==T&&X!==e.race.species&&p.push(h);else{let L=!1;switch(j%2){case 0:e.race[C[j+1]]&&(L=!0);break;case 1:e.race[C[j-1]]&&(L=!0);break}L||(v.push(h),E[X].type!==T&&p.push(h))}}})});let Z=$('
');a.append(Z);for(let X=0;X'),L=$(`${t("arpa_gain_button")}`);j.append(L),j.append($(`${c[h]?c[h]:b[h].name}`)),Z.append(j)}}s&&a.prepend(`
${t("arpa_race_genetic_minor_traits",[ct("name")])}
`);let w=function(C){let T=b[C].val*5;return["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(T*=10),E[e.race.species].type==="hybrid"&&(T*=2),T<0&&(T*=-1),t("arpa_remove",[ma("name",C),T,e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name")])},F=function(C){let T=b[C].val*5;return["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(T*=10),E[e.race.species].type==="hybrid"&&(T*=2),T<0&&(T*=-1),t("arpa_gain",[ma("name",C),T,e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name")])},A=function(C){let T=Xa(e.race.minor[C]?e.race.minor[C]+4:4);return C==="mastery"&&(T*=5),t("arpa_gene_buy",[ma("name",C),$e(T),e.resource.Genes.name])},z=function(C){let T=Xa(e.genes.minor[C]?e.genes.minor[C]+4:4);return C==="mastery"&&(T*=2),t("arpa_phage_buy",[ma("name",C),$e(T),t("resource_Phage_name")])};H({el:"#geneticBreakdown",data:{genes:e.genes,race:e.race},methods:{gene(C){let T=0,M=me(),Z=!0,X=!1;for(;T=h?(e.resource.Genes.amount-=h,e.race.minor[C]?e.race.minor[C]++:e.race.minor[C]=1,e.race[C]?e.race[C]++:e.race[C]=1,X=!0):Z=!1,T++}X&&(C==="mastery"&&Gt(!0),ei(),C==="persuasive"&&rn())},phage(C){let T=0,M=me(),Z=!0,X=!1;for(;T=h?(e.prestige.Phage.count-=h,e.genes.minor[C]?e.genes.minor[C]++:e.genes.minor[C]=1,e.race[C]?e.race[C]++:e.race[C]=1,X=!0):Z=!1,T++}X&&(C==="mastery"&&Gt(!0),ei(),C==="persuasive"&&rn())},purge(C){if(["sludge","ultra_sludge"].includes(e.race.species)&&(e.race.modified||C==="ooze"))return;let T=b[C].val*5;["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(T*=10),E[e.race.species].type==="hybrid"&&(T*=2),T<0&&(T*=-1);let M=e.race.universe==="antimatter"?"AntiPlasmid":"Plasmid";if(e.prestige[M].count>=T){e.prestige[M].count-=T;let Z=e.race[C];delete e.race[C],e.race.modified?e.race.modified++:e.race.modified=1,Cs(C,Z),ei(),ce(),Ct();let X=0;Object.keys(e.race).forEach(function(h){b[h]&&(b[h].type=="major"||b[h].type=="genus")&&h!=="evil"&&X++}),X===0&&Ne("blank_slate")}},gain(C){if(["sludge","ultra_sludge"].includes(e.race.species)&&e.race.modified)return;let T=b[C].val*5;["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(T*=10),E[e.race.species].type==="hybrid"&&(T*=2),T<0&&(T*=-1);let M=e.race.universe==="antimatter"?"AntiPlasmid":"Plasmid";e.prestige[M].count>=T&&(e.prestige[M].count-=T,e.race[C]=1,e.race.modified?e.race.modified++:e.race.modified=1,ji(C),p.includes(C)&&Ve(C,{down:!0}),ei(),ce(),Ct())},geneCost(C){return A(C)},phageCost(C){return z(C)},traitEffect(C){return t(`trait_${C}_effect`)},removeCost(C){return w(C)},addCost(C){return F(C)},genePurchasable(C){let T=Xa(e.race.minor[C]?e.race.minor[C]+4:4);return C==="mastery"&&(T*=5),e.resource.Genes.amount>=T},phagePurchasable(C){let T=Xa(e.genes.minor[C]?e.genes.minor[C]+4:4);return C==="mastery"&&(T*=2),e.prestige.Phage.count>=T}}}),n.forEach(function(C){_e(`popGenetrait${C}`,function(){return A(C)},{elm:`#geneticBreakdown .t-${C} .gbuy`,classes:"has-background-light has-text-dark"}),e.prestige.Phage.count>0&&_e(`popGenetrait${C}`,function(){return z(C)},{elm:`#geneticBreakdown .t-${C} .pbuy`,classes:"has-background-light has-text-dark"}),_e(`popGenetrait${C}`,function(){return e.stats.feat.novice&&e.stats.achieve.apocalypse&&e.stats.achieve.apocalypse.l>0?`
${ma("desc",C)}
${t(`trait_${C}_effect`)}
`:ma("desc",C)},{elm:`#geneticBreakdown .t-${C} .name`,classes:"has-background-light has-text-dark"})}),l.forEach(function(C){_e(`popRemoveBkdwn${C}`,function(){return w(C)},{elm:`#geneticBreakdown .remove${C}`,classes:"has-background-light has-text-dark"});let T=`raceTrait${C}`,M=$("
");Si(M,C,{trank:e.race[C]}),_e(T,M,{wide:!0,classes:"w30"})}),o.forEach(function(C){let T=`raceTrait${C}`,M=$("
");Si(M,C,{trank:e.race[C]}),_e(T,M,{elm:`#geneticBreakdown .trait${C}`,wide:!0,classes:"w30"})}),v.forEach(function(C){_e(`popAddBkdwn${C}`,function(){return F(C)},{elm:`#geneticBreakdown .add${C}`,classes:"has-background-light has-text-dark"});let T=`raceTrait${C}`,M=$("
");Si(M,C,{trank:p.includes(C)?.5:1}),_e(T,M,{wide:!0,classes:"w30"})}),Su()}}function nc(){let r=e.race.cataclysm||e.race.orbit_decayed?U.exotic_lab:k.biolab;return e.tech.isolation&&(r=U.infectious_disease_lab*5),e.race.lone_survivor&&(r+=2),r>0&&e.city.ptrait.includes("toxic")&&(r+=We.toxic.vars()[0]),r>0&&e.race.elemental&&b.elemental.vars()[0]==="frost"&&(r*=1+ge(e.resource[e.race.species].amount*b.elemental.vars()[4]/100)),Math.round(r)}function ju(r,a){let i=$(`
`),s=$(`${e.resource.Genes.name} (${e.race.minor[a]||0})`);if(i.append(s),e.prestige.Phage.count>0){let c=$(`${t("resource_Phage_name")} (${e.genes.minor[a]||0})`);i.append(c)}let n=e.race[a]>1?`(${e.race[a]}) `:"";i.append(`${n}${ma("name",a)}`),r.append(i)}function qo(){(e.tech.genetics&&e.tech.genetics>3||e.sim)&&(ne($("#arpaCrispr")),$("#arpaCrispr").append(`
${t("arpa_crispr_desc")}
`),$("#arpaCrispr").append('
'),$u())}function cc(){e.tech.b_stone&&e.tech.b_stone>=2&&(ne($("#arpaBlood")),$("#arpaBlood").append(`
${t("arpa_blood_desc")}
`),$("#arpaBlood").append('
'),xu())}function Au(r,a){if(Mu(a)){if(e.arpa[a]||(e.arpa[a]={complete:0,rank:0}),yt[a].rank&&e.arpa[a].rank>=yt[a].rank)return;let i=$(`
`);r.append(i);let s=typeof yt[a].title=="string"?yt[a].title:yt[a].title(),n=$(`
${s}{{ rank | level }}
`);i.append(n);let c=$('
{{ complete }}%
');n.append(c);let l=$('
');i.append(l),l.append($(``)),l.append($(``)),l.append($(``)),l.append($(``)),l.append($(``)),H({el:`#arpa${a}`,data:e.arpa[a],methods:{queue(d){if(e.tech.queue){let p=me();for(let v=0;v0){if(e.settings.q_merge!=="merge_never"&&e.queue.queue.length>0&&e.queue.queue[e.queue.queue.length-1].id===w)e.queue.queue[e.queue.queue.length-1].q++;else{let z=typeof yt[d].title=="string"?yt[d].title:yt[d].title();e.queue.queue.push({id:w,action:"arpa",type:d,label:z,cna:!1,time:0,q:1,qs:1,t_max:0})}Ur()}else break}}},build(d,y){an(d,y,!0)},srDesc(){return qs(typeof yt[a].desc=="string"?yt[a].desc:yt[a].desc())},srLevel(){return qs(yt[a].effect())},arpaProjectSRCosts(d,y){let p=d==="100"?100-e.arpa[y].complete:d;var v=`Construct ${p}%. Costs:`,w=Os(yt[y].cost);return Object.keys(w).forEach(function(F){var A=+(w[F]()*(p/100)).toFixed(0);if(A>0){var z=F==="Money"?"$":e.resource[F].name+": ",C=e.resource[F].amount>=A?"":` ${t("insufficient")} ${e.resource[F].name}.`;v=v+` ${z} ${$e(A,2)}.${C}`}}),v}},filters:{remain(d){return 100-d},level(d){return t("arpa_level",[d])}}}),_e(`popArpa${a}`,function(){return yt[a].desc},{elm:`#arpa${a} .head .desc`,classes:"has-background-light has-text-dark"}),_e(`popArpa${a}`,function(){return yt[a].effect()},{elm:`#arpa${a} .head .rank`,classes:"has-background-light has-text-dark"});let o=[1,10,25,100];for(let d=0;d=100&&(e.arpa[r].rank++,e.arpa[r].complete=0,e.tech[yt[r].grant]=e.arpa[r].rank,n=!0,r==="monument"&&(e.arpa.m_type=xo(),$(`#arpa${r} .head .desc`).html(yt[r].title()),ia(!1,["arpamonument"])),r==="roid_eject"&&($(`#arpa${r} .head .desc`).html(yt[r].title()),ia(!1,["arparoid_eject"])),r==="launch_facility"&&(e.settings.showSpace=!0,e.tech.space=1,je("popArpalaunch_facility"),[1,10,25,100].forEach(function(l){je(`popArpalaunch_facility${l}`)}),s||sa(["arpalaunch_facility"]),ko(),At(),I(t("arpa_projects_launch_facility_msg"),"info",!1,["progress"])),e.race.inflation&&(e.race.inflation+=10),ce()));if(i){let c=[1,10,25,100],l=$("#popper"),o=l.data("id");for(let d=0;d"),n=Os(yt[a].cost);let c=hi(yt[a],i/100,!1,!0);return Object.keys(n).forEach(function(l){var o=+(n[l]()*(i/100)).toFixed(0);if(o>0){var d=l==="Money"?"$":e.resource[l].name+": ",y=e.resource[l].amount>=o?"has-text-dark":l===c.r?"has-text-danger":"has-text-alert";s.append($(`
${d}${$e(o,2)}
`))}}),s}function rn(){Object.keys(e.resource).forEach(function(r){H({el:`#market-${r}`},"update")}),H({el:"#galaxyTrade"},"update")}function cn(){if(!e.civic.mad.armed&&!e.race.cataclysm){e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"mad"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,l=it("mad");e.stats.mad++,ea(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,ie("apocalypse"),ie("squished",!0),ie(`extinct_${r}`),e.civic.govern.type==="anarchy"&&ie("anarchist"),e.city.biome==="hellscape"&&E[e.race.species].type!=="demonic"&&Ne("take_no_advice"),e.race.truepath&&ie("ashanddust"),Nr(),Xi("md");let o=e.race.hasOwnProperty("srace")?e.race.srace:!1,d=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,rapid_mutation:1,ancient_ruins:1,universe:e.race.universe,seeded:!1,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},d>0&&(e.race.corruption=d),o&&(e.race.srace=o),na({orbit:i,biome:s,ptrait:n,geology:c}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}}function Mo(){e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"bioseed"});let r=e.race.species,a=e.race.gods,i=E[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,l=it("bioseed");e.stats.bioseed++,ea(),e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,ie("seeder"),ie(`biome_${n}`),c.forEach(function(F){We.hasOwnProperty(F)&&ie(`atmo_${F}`)}),ie(`genus_${i}`),e.race.gravity_well&&ie("escape_velocity"),e.race.truepath&&ie("exodus"),c.includes("dense")&&e.race.universe==="heavy"&&ie("double_density"),e.race.junker&&e.race.species==="junker"&&Ne("organ_harvester"),e.city.biome==="hellscape"&&E[e.race.species].type!=="demonic"&&Ne("ill_advised"),typeof e.tech.world_control>"u"&&ie("cult_of_personality"),e.race.cataclysm&&ie("iron_will",!1,5),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross");let o=0,d=0;switch(Object.keys(e.city.geology).forEach(function(F){e.city.geology[F]>0?o++:e.city.geology[F]<0&&d++}),o>=4&&ie("miners_dream"),d>=3&&Ne("rocky_road"),e.race.steelen&&e.race.steelen>=1&&ie("steelen"),e.race.universe){case"micro":e.race.small||e.race.compact?ie("macro",!0):ie("marble",!0);break;default:break}Nr();let y=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0,v=e.starDock.probes.count+1,w=e.starDock.hasOwnProperty("geck")?e.starDock.geck.count:0;e.stats.achieve.explorer&&(v+=e.stats.achieve.explorer.l),e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!0,probes:v,geck:w,seed:Math.floor(G(1e4)),ascended:!1},p>0&&(e.race.corruption=p),y&&(e.race.srace=y),na({orbit:s,biome:n,ptrait:c,geology:!1}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Po(){if(e.city.ptrait.includes("unstable")&&e.tech.quaked){Ce.w&&Ce.w.terminate(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),kt("reset",{end:"cataclysm"}),Rr();let r=it("cataclysm");e.stats.cataclysm++,ea(),e.prestige.Phage.count+=r.phage,e.stats.phage+=r.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=r.plasmid,e.stats.antiplasmid+=r.plasmid):(e.prestige.Plasmid.count+=r.plasmid,e.stats.plasmid+=r.plasmid),e.stats.pdebt=r.pdebt,ie("squished",!0),ie(`extinct_${e.race.species}`),e.city.biome==="hellscape"&&E[e.race.species].type!=="demonic"&&Ne("take_no_advice"),Nr(),ie("shaken"),e.race.cataclysm&&ie("failed_history"),Xi("ct");let a=e.race.hasOwnProperty("srace")?e.race.srace:!1,i=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:e.race.species,gods:e.race.gods,old_gods:e.race.old_gods,universe:e.race.universe,seeded:!1,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},i>0&&(e.race.corruption=i),a&&(e.race.srace=a),na({orbit:e.city.calendar.orbit,biome:e.city.biome,ptrait:e.city.ptrait,geology:e.city.geology}),e.race.universe==="antimatter"?e.race.weak_mastery=1:e.race.no_plasmid=1;let s=["crispr","trade","craft"];for(let n=0;n1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:"bigbang",seeded:!0,bigbang:!0,probes:4,seed:Math.floor(G(1e4)),ascended:!1},o>0&&(e.race.corruption=o),l&&(e.race.srace=l),na({orbit:i,biome:s,ptrait:n,geology:!1}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Oo(){if(e.tech.syphon>=80&&e.race.universe==="magic"){e.tech.syphon=79,e.arpa.syphon.rank=79,e.arpa.syphon.complete=99,e.queue.queue=[],e.stats.current=Date.now(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"vacuum"}),ie(`extinct_${e.race.species}`),ie("pw_apocalypse"),e.space.hasOwnProperty("spaceport")&&e.space.spaceport.count===0&&ie("red_dead"),!e.race.modified&&e.race.species==="balorg"&&ie("pass"),e.race.junker&&e.race.species==="junker"&&Ne("the_misery"),e.race.decay&&ie("dissipated"),e.race.steelen&&Ne("steelem"),Xi("vc");let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=it("vacuum");Nr(),e.stats.blackhole++,ea(),e.prestige.Phage.count+=c.phage,e.stats.phage+=c.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=c.plasmid,e.stats.antiplasmid+=c.plasmid):(e.prestige.Plasmid.count+=c.plasmid,e.stats.plasmid+=c.plasmid),e.stats.pdebt=c.pdebt,e.prestige.Dark.count=+(e.prestige.Dark.count+c.dark).toFixed(3),e.stats.dark=+(e.stats.dark+c.dark).toFixed(3),e.stats.universes++;let l=e.race.hasOwnProperty("srace")?e.race.srace:!1,o=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:"bigbang",seeded:!0,bigbang:!0,probes:4,seed:Math.floor(G(1e4)),ascended:!1},o>0&&(e.race.corruption=o),l&&(e.race.srace=l),na({orbit:i,biome:s,ptrait:n,geology:!1}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}}function Co(){Rr(),kt("reset",{end:"ascend"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,l=it("ascend");e.stats.ascend++,ea(),e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.Harmony.count=parseFloat((e.prestige.Harmony.count+l.harmony).toFixed(2)),e.stats.harmony=parseFloat((e.stats.harmony+l.harmony).toFixed(2)),n.forEach(function(p){We.hasOwnProperty(p)&&ie(`atmo_${p}`)}),typeof e.tech.world_control>"u"&&ie("cult_of_personality");let o=0;Object.keys(e.city.geology).forEach(function(p){e.city.geology[p]>0&&o++}),o>=4&&ie("miners_dream"),(!e.galaxy.hasOwnProperty("dreadnought")||e.galaxy.dreadnought.count===0)&&ie("dreaded"),!e.race.modified&&(e.race.species==="synth"||e.race.species==="nano")&&e.race.emfield&&Ne("digital_ascension"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),Nr();let d=e.race.hasOwnProperty("srace")?e.race.srace:!1,y=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:!0},y>0&&(e.race.corruption=y),d&&(e.race.srace=d),Object.keys(c).forEach(function(p){c[p]+=.02}),na({orbit:i,biome:s,ptrait:n,geology:c}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Ss(){if(Ce.w&&Ce.w.terminate(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"descension"}),ie("squished",!0),ie(`extinct_${e.race.species}`),e.race.witch_hunter&&e.tech.forbidden>=5&&e.race.universe==="magic"?ie("nightmare"):ie("corrupted"),e.race.fasting&&e.tech.dish_reset){let y=lt();e.stats.endless_hunger.b5[y]=!0,y!=="m"&&y!=="l"&&(e.stats.endless_hunger.b5.l=!0),e.stats.starved===0&&Ne("immortal")}E[e.race.species].type==="angelic"&&Ne("twisted"),e.race.junker&&e.race.species==="junker"&&Ne("the_misery"),!e.race.modified&&e.race.junker&&e.race.species==="junker"&&Ne("garbage_pie"),e.race.cataclysm&&Ne("finish_line"),e.race.ooze&&e.race.species==="sludge"&&Ne("slime_lord"),Xi("di");let r=it("descend");e.prestige.Artifact.count+=r.artifact,e.stats.artifact+=r.artifact;let a=lt();e.stats.spire.hasOwnProperty(a)&&(e.stats.spire[a].hasOwnProperty("lord")?e.stats.spire[a].lord++:e.stats.spire[a].lord=1,e.tech.dl_reset?e.stats.spire[a].dlstr=0:e.stats.spire[a].hasOwnProperty("dlstr")?e.stats.spire[a].dlstr++:e.stats.spire[a].dlstr=1);let i=e.race.species,s=e.race.gods,n=e.city.calendar.orbit,c=e.city.biome,l=e.city.ptrait,o=e.city.geology;e.stats.descend++,ea(),Nr();let d=e.race.hasOwnProperty("srace")?e.race.srace:!1;e.race={species:"protoplasm",gods:i,old_gods:s,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),corruption:5,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},d&&(e.race.srace=d),na({orbit:n,biome:c,ptrait:l,geology:o}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function So(){Rr(),kt("reset",{end:"apotheosis"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,l=it("apotheosis");e.stats.apotheosis++,ea(),e.prestige.Supercoiled.count+=l.supercoiled,e.stats.supercoiled+=l.supercoiled,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,n.forEach(function(p){We.hasOwnProperty(p)&&ie(`atmo_${p}`)}),typeof e.tech.world_control>"u"&&ie("cult_of_personality");let o=0;Object.keys(e.city.geology).forEach(function(p){e.city.geology[p]>0&&o++}),o>=4&&ie("miners_dream"),(!e.galaxy.hasOwnProperty("dreadnought")||e.galaxy.dreadnought.count===0)&&ie("dreaded"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),Nr();let d=e.race.hasOwnProperty("srace")?e.race.srace:!1,y=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:!0},y>0&&(e.race.corruption=y),d&&(e.race.srace=d),Object.keys(c).forEach(function(p){c[p]+=.02}),na({orbit:i,biome:s,ptrait:n,geology:c}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function jo(r){Rr(),kt("reset",{end:"terraform"});let a=e.race.species,i=e.race.gods,s=e.city.calendar.orbit,n=r.biome,c=r.traitlist,l=r.geology,o=it("terraform");e.stats.terraform++,ea(),e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.Harmony.count=parseFloat((e.prestige.Harmony.count+o.harmony).toFixed(2)),e.stats.harmony=parseFloat((e.stats.harmony+o.harmony).toFixed(2)),c.forEach(function(v){We.hasOwnProperty(v)&&ie(`atmo_${v}`)}),typeof e.tech.world_control>"u"&&ie("cult_of_personality");let d=0;Object.keys(e.city.geology).forEach(function(v){e.city.geology[v]>0&&d++}),d>=4&&ie("miners_dream"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),Nr();let y=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:a,old_gods:i,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1,rejuvenated:!0},p>0&&(e.race.corruption=p),y&&(e.race.srace=y),na({orbit:s,biome:n,ptrait:c,geology:l}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Ao(){e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"ai apocalypse"}),ie(`extinct_${e.race.species}`),ie("obsolete"),ie("squished",!0),e.race.junker&&e.race.species==="junker"&&Ne("the_misery"),Xi("ai");let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,l=it("ai");Nr(),e.stats.aiappoc++,ea(),e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.AICore.count+=l.cores,e.stats.cores+=l.cores;let o=E[r].type!=="synthetic"&&!["junker","sludge","ultra_sludge"].includes(r)?r:e.race.hasOwnProperty("srace")?e.race.srace:r;e.stats.synth[r]=!0;let d=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,srace:o,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},d>0&&(e.race.corruption=d),na({orbit:i,biome:s,ptrait:n,geology:c}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Fo(){Ce.w&&Ce.w.terminate(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"matrix"});let r=e.race.species,a=e.race.gods,i=E[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,l=e.city.geology,o=it("matrix");ie(`biome_${n}`),c.forEach(function(p){We.hasOwnProperty(p)&&ie(`atmo_${p}`)}),ie(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),ie("bluepill"),oc(),Nr(),e.stats.matrix++,ea(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.prestige.AICore.count+=o.cores,e.stats.cores+=o.cores;let d=e.race.hasOwnProperty("srace")?e.race.srace:!1,y=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},y>0&&(e.race.corruption=y),d&&(e.race.srace=d),na({orbit:s,biome:n,ptrait:c,geology:l}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function zo(){Ce.w&&Ce.w.terminate(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"retired"});let r=e.race.species,a=e.race.gods,i=E[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,l=e.city.geology,o=it("retired");ie(`biome_${n}`),c.forEach(function(p){We.hasOwnProperty(p)&&ie(`atmo_${p}`)}),ie(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),ie("retired"),oc(),Nr(),e.stats.retire++,ea(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.prestige.AICore.count+=o.cores,e.stats.cores+=o.cores;let d=e.race.hasOwnProperty("srace")?e.race.srace:!1,y=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},y>0&&(e.race.corruption=y),d&&(e.race.srace=d),na({orbit:s,biome:n,ptrait:c,geology:l}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function To(){Ce.w&&Ce.w.terminate(),e.sim||Se.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),Rr(),kt("reset",{end:"eden"});let r=e.race.species,a=e.race.gods,i=E[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,l=e.city.geology,o=it("eden");ie(`biome_${n}`),c.forEach(function(p){We.hasOwnProperty(p)&&ie(`atmo_${p}`)}),ie(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&ie("gross"),ie("adam_eve"),oc(),Nr(),e.stats.eden++,ea(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.prestige.AICore.count+=o.cores,e.stats.cores+=o.cores;let d=e.race.hasOwnProperty("srace")?e.race.srace:!1,y=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(G(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},y>0&&(e.race.corruption=y),d&&(e.race.srace=d),na({orbit:s,biome:n,ptrait:c,geology:l}),Se.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function na(r){e.city={calendar:{day:0,year:0,weather:2,temp:1,moon:0,wind:0,orbit:r.orbit},biome:r.biome,ptrait:r.ptrait},r.geology&&(e.city.geology=r.geology),e.tech={theology:1},tc(),e.new=!0,e.seed=Math.rand(0,1e4)}function oc(){let r=lt();e.race.womling_friend?(r!=="m"&&e.stats.womling.friend.l++,r!=="l"&&(e.stats.womling.friend.hasOwnProperty(r)||(e.stats.womling.friend[r]=0),e.stats.womling.friend[r]++)):e.race.womling_lord?(r!=="m"&&e.stats.womling.lord.l++,r!=="l"&&(e.stats.womling.lord.hasOwnProperty(r)||(e.stats.womling.lord[r]=0),e.stats.womling.lord[r]++)):e.race.womling_god&&(r!=="m"&&e.stats.womling.god.l++,r!=="l"&&(e.stats.womling.god.hasOwnProperty(r)||(e.stats.womling.god[r]=0),e.stats.womling.god[r]++)),e.stats.womling.friend.l>0&&e.stats.womling.lord.l>0&&e.stats.womling.god.l>0&&ie("overlord",r==="m",Kt(),"l"),e.stats.womling.friend[r]>0&&e.stats.womling.lord[r]>0&&e.stats.womling.god[r]>0&&ie("overlord",r==="m",Kt(),r)}function Xi(r){if(e.race.species==="ultra_sludge"){let a=Kt(),i=lt();e.stats.death_tour[r][i]c&&(c=e.stats.death_tour[n][l])}),s>c&&(s=c)}),s>0&&Ne("grand_death_tour",!1,s)}}var es={spc_titan:{info:{name(){return Y().titan},desc(){return t("space_titan_info_desc",[Y().titan,E[e.race.species].home])},support:"electrolysis",zone:"outer",syndicate(){return!!(e.tech.titan&&e.tech.titan>=3&&e.tech.enceladus&&e.tech.enceladus>=2)},syndicate_cap(){return e.tech.triton?e.tech.outer>=4?2e3:1e3:600}},titan_mission:{id:"space-titan_mission",title(){return t("space_mission_title",[Y().titan])},desc(){return t("space_mission_desc",[Y().titan])},reqs:{outer:1},grant:["titan",1],path:["truepath"],queue_complete(){return e.tech.titan>=1?0:1},cost:{Helium_3(r,a){return+Ae(25e4,!1,a).toFixed(0)},Elerium(){return 100}},effect(){return t("space_titan_mission_effect",[Y().titan])},action(){return u($(this)[0])?(I(t("space_titan_mission_action",[Y().titan,E[e.race.species].home]),"info",!1,["progress"]),!0):!1}},titan_spaceport:{id:"space-titan_spaceport",title:t("space_red_spaceport_title"),desc:`
${t("space_red_spaceport_desc")}
${t("requires_power")}
`,reqs:{titan:1},path:["truepath"],cost:{Money(r){return g("titan_spaceport",r,25e5,1.32)},Lumber(r){return g("titan_spaceport",r,75e4,1.32)},Cement(r){return g("titan_spaceport",r,35e4,1.32)},Mythril(r){return g("titan_spaceport",r,1e4,1.32)}},effect(){let r=e.resource.Water.display?`
${t("plus_max_resource",[$e(Q(250)),e.resource.Water.name])}
`:"",a=e.tech.enceladus&&e.tech.enceladus>=2?`
+${t("galaxy_alien2_support",[$(this)[0].support(),Y().enceladus])}
`:"",i=e.tech.titan&&e.tech.titan>=5?`
${t("space_titan_spaceport_storage",[25])}
`:"";return`${a}${r}${i}
${t("minus_power",[$(this)[0].powered()])}
`},support(){return 2},powered(){return de(10)},action(){return u($(this)[0])?(K("titan_spaceport"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["titan_spaceport","space"]}},post(){e.tech.titan===1&&(e.tech.titan=2,ce())}},electrolysis:{id:"space-electrolysis",title:t("space_electrolysis_title"),desc(){return`
${t("space_electrolysis_title")}
${t("space_electrolysis_req",[e.resource.Water.name])}
`},reqs:{titan:3},path:["truepath"],cost:{Money(r){return g("electrolysis",r,1e6,1.25)},Copper(r){return g("electrolysis",r,185e3,1.25)},Steel(r){return g("electrolysis",r,22e4,1.25)},Polymer(r){return g("electrolysis",r,38e4,1.25)}},effect(r){return`${`
+${t("galaxy_alien2_support",[$(this)[0].support(r),Y().titan])}
`}
${t("space_electrolysis_use",[$(this)[0].support_fuel().a,e.resource.Water.name,$(this)[0].powered()])}
`},support(r){return e.tech.titan_ai_core&&e.tech.titan_ai_core>=2&&(r?e.space.ai_core2.on:k.ai_core2)?3:2},support_fuel(){return{r:"Water",a:35}},powered(){return de(8)},action(){return u($(this)[0])?(K("electrolysis"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["electrolysis","space"]}},post(){e.tech.titan===3&&(e.tech.titan=4,ce())}},hydrogen_plant:{id:"space-hydrogen_plant",title:t("space_hydrogen_plant_title"),desc(){return`
${t("space_hydrogen_plant_title")}
${t("space_hydrogen_plant_req")}
`},reqs:{titan_power:1},path:["truepath"],cost:{Money(r){return g("hydrogen_plant",r,15e5,1.28)},Iridium(r){return g("hydrogen_plant",r,292e3,1.28)},Stanene(r){return g("hydrogen_plant",r,599e3,1.28)},Cement(r){return g("hydrogen_plant",r,18e4,1.28)}},effect(){return`${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}, ${t("space_hydrogen_plant_effect",[1,t("space_electrolysis_title")])}`},support(){return 2},powered(){return et(-22)},action(){return u($(this)[0])?(K("hydrogen_plant"),e.space.electrolysis.on>e.space.hydrogen_plant.on&&e.space.hydrogen_plant.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["hydrogen_plant","space"]}}},titan_quarters:{id:"space-titan_quarters",title:t("interstellar_habitat_title"),desc(){return`
${t("interstellar_habitat_title")}
${t("space_habitat_req",[Y().titan,e.resource.Food.name,e.resource.Water.name])}
`},reqs:{titan:4},path:["truepath"],cost:{Money(r){return g("titan_quarters",r,12e5,1.28)},Furs(r){return g("titan_quarters",r,85e3,1.28)},Plywood(r){return g("titan_quarters",r,1e5,1.28)},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=N(1);return`
${t("space_used_support",[Y().titan])}
${t("plus_max_resource",[N(1),e.race.truepath?t("job_colonist_tp",[Y().titan]):t("colonist")])}
${t("plus_max_resource",[r,t("citizen")])}
${t("spend",[$(this)[0].support_fuel()[0].a,e.resource[$(this)[0].support_fuel()[0].r].name])}
${t("spend",[$(this)[0].support_fuel()[1].a,e.resource[$(this)[0].support_fuel()[1].r].name])}
`},s_type:"titan",support(){return-1},support_fuel(){return[{r:"Water",a:12},{r:"Food",a:500}]},powered(){return 0},action(){if(u($(this)[0])){if(K("titan_quarters"),e.civic.titan_colonist.display=!0,re($(this)[0])){e.resource[e.race.species].max+=N(1);let r=N(1);e.civic.titan_colonist.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.titan_colonist.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["titan_quarters","space"]}},citizens(){let r=1;return e.race.high_pop&&(r*=b.high_pop.vars()[0]),r}},titan_mine:{id:"space-titan_mine",title(){return Ze("mine")},desc(){return`
${t("space_red_mine_desc")}
${t("space_support",[Y().titan])}
`},reqs:{titan:4},condition(){return!!(e.space.titan_quarters&&e.space.titan_quarters.count>0)},path:["truepath"],cost:{Money(r){return g("titan_mine",r,475e3,1.28)},Lumber(r){return g("titan_mine",r,568e3,1.28)},Wrought_Iron(r){return g("titan_mine",r,25e4,1.28)}},effect(){let r=D("titan_mine","adamantite"),a=D("titan_mine","aluminium"),i=+r.toFixed(3),s=+a.toFixed(3);return`
${t("space_used_support",[Y().titan])}
${t("space_red_mine_effect",[i,e.resource.Adamantite.name])}
${t("space_red_mine_effect",[s,e.resource.Aluminium.name])}
`},s_type:"titan",support(){return-1},powered(){return 0},special(){return!0},action(){return u($(this)[0])?(K("titan_mine"),e.resource.Adamantite.display=!0,re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,ratio:90},p:["titan_mine","space"]}}},storehouse:{id:"space-storehouse",title:t("space_storehouse_title"),desc:t("space_storehouse_title"),reqs:{titan:5},path:["truepath"],cost:{Money(r){return g("storehouse",r,175e3,1.28)},Lumber(r){return g("storehouse",r,1e5,1.28)},Aluminium(r){return g("storehouse",r,12e4,1.28)},Cement(r){return g("storehouse",r,45e3,1.28)}},wide:!0,res(){return["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Steel","Titanium","Alloy","Polymer","Iridium","Chrysotile","Nano_Tube","Neutronium","Adamantite"]},heavy(r){return!!["Copper","Iron","Steel","Titanium","Iridium","Neutronium","Adamantite"].includes(r)},val(r){switch(r){case"Lumber":return 3e3;case"Stone":return 3e3;case"Chrysotile":return 3e3;case"Furs":return 1700;case"Copper":return 1520;case"Iron":return 1400;case"Aluminium":return 1280;case"Cement":return 1120;case"Coal":return 480;case"Steel":return 240;case"Titanium":return 160;case"Alloy":return 180;case"Polymer":return 150;case"Iridium":return 175;case"Nano_Tube":return 120;case"Neutronium":return 64;case"Adamantite":return 72;default:return 0}},effect(r){let a='
',i=Ra("storehouse",!1,r),s=Ra("storehouse",!0,r);for(let n of $(this)[0].res())if(e.resource[n].display){let c=$(this)[0].heavy(n),l=$e(+(Q($(this)[0].val(n))*(c?s:i)).toFixed(0),1);a=a+`${t("plus_max_resource",[l,e.resource[n].name])}`}return a=a+"
",a},action(){if(u($(this)[0])){K("storehouse");let r=Ra("storehouse",!1),a=Ra("storehouse",!0);for(let i of $(this)[0].res())if(e.resource[i].display){let s=$(this)[0].heavy(i);e.resource[i].max+=Q($(this)[0].val(i))*(s?a:r)}return!0}return!1},struct(){return{d:{count:0},p:["storehouse","space"]}}},titan_bank:{id:"space-titan_bank",title:t("city_bank"),desc(){return t("city_bank_desc",[Y().titan])},reqs:{titan:6},path:["truepath"],cost:{Money(r){return g("titan_bank",r,25e5,1.32)},Titanium(r){return g("titan_bank",r,38e4,1.32)},Neutronium(r){return g("titan_bank",r,5e3,1.32)}},effect(){let r=yr()*2;return r=Q(r),r=(+r.toFixed(0)).toLocaleString(),t("plus_max_resource",[`$${r}`,t("resource_Money_name")])},action(){return u($(this)[0])?(e.resource.Money.max+=Q(1800),K("titan_bank"),!0):!1},struct(){return{d:{count:0},p:["titan_bank","space"]}}},g_factory:{id:"space-g_factory",title:t("interstellar_g_factory_title"),desc(){return`
${t("interstellar_g_factory_title")}
${t("space_support",[Y().titan])}
`},reqs:{graphene:1},path:["truepath"],cost:{Money(r){return g("g_factory",r,95e4,1.28)},Copper(r){return g("g_factory",r,165e3,1.28)},Stone(r){return g("g_factory",r,22e4,1.28)},Adamantite(r){return g("g_factory",r,12500,1.28)}},effect(){let r=.05;return e.race.high_pop&&(r=+ge(r).toFixed(3)),`
${t("space_used_support",[Y().titan])}
${t("space_red_mine_effect",[r,e.resource.Graphene.name])}
${t("interstellar_g_factory_effect")}
`},s_type:"titan",support(){return-1},powered(){return 0},special:!0,action(){return u($(this)[0])?(K("g_factory"),e.resource.Graphene.display=!0,re($(this)[0])&&(e.race.kindling_kindred||e.race.smoldering?e.space.g_factory.Oil++:e.space.g_factory.Lumber++),e.settings.showIndustry=!0,nt(),!0):!1},struct(){return{d:{count:0,on:0,Lumber:0,Coal:0,Oil:0},p:["g_factory","space"]}}},sam:{id:"space-sam",title:t("space_sam_title"),desc(){return`
${t("space_sam_desc")}
${t("requires_power")}
`},reqs:{titan:7},path:["truepath"],cost:{Money(r){return g("sam",r,25e5,1.28)},Steel(r){return g("sam",r,45e4,1.28)},Elerium(r){return g("sam",r,120,1.28)},Brick(r){return g("sam",r,16e4,1.28)}},effect(){return`
${t("galaxy_defense_platform_effect",[25])}
`+`
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return de(5)},action(){return u($(this)[0])?(K("sam"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["sam","space"]}},post(){H({el:"#spc_titansynd"},"update")}},decoder:{id:"space-decoder",title:t("space_decoder_title"),desc(){return`
${t("space_decoder_title")}
${t("requires_power_support_combo",[Y().titan,e.resource.Cipher.name])}
`},reqs:{titan:8},path:["truepath"],cost:{Money(r){return g("decoder",r,125e5,1.275)},Elerium(r){return g("decoder",r,750,1.275)},Orichalcum(r){return g("decoder",r,33e4,1.275)},Quantium(r){return g("decoder",r,18e4,1.275)}},effect(r){let a=$(this)[0].support_fuel().a,i=2500;e.race.high_pop&&(i=ge(i)),(r?e.space?.ai_core2?.on??0:k.ai_core2)&&(i*=1.25);let s=`
${t("space_used_support",[Y().titan])}
`;return s+=`
${t("space_red_exotic_lab_effect1",[i])}
`,s+`
${t("spend",[a,e.resource[$(this)[0].support_fuel().r].name])}
`},s_type:"titan",support(){return-1},powered(){return 0},support_fuel(){return{r:"Cipher",a:.06}},action(){return u($(this)[0])?(K("decoder"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["decoder","space"]}}},ai_core:{id:"space-ai_core",title:t("space_ai_core"),desc(r){return!e.space.hasOwnProperty("ai_core")||e.space.ai_core.count<100||r?`
${t("space_ai_core")}
${t("requires_segments",[100])}
`+(e.space.hasOwnProperty("ai_core")&&e.space.ai_core.count>=100?`
${t("requires_power")}
`:""):`
${t("space_ai_core")}
`},reqs:{titan:9},path:["truepath"],condition(){return!(e.space.ai_core.count>=100)},queue_size:10,queue_complete(){return 100-e.space.ai_core.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?25e5:0},Cement(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?18e4:0},Aluminium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?25e4:0},Elerium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?250:0},Nano_Tube(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?125e3:0},Orichalcum(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?5e4:0},Quantium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?1e5:0},Cipher(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?750:0}},effect(r){let a=`
${t("space_ai_core_effect")}
`,i=(r?.count??0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0);if(i<100){let s=100-i;a+=`
${t("space_dwarf_collider_effect2",[s])}
`}else return es.spc_titan.ai_core2.effect(r);return a},action(){return u($(this)[0])&&e.space.ai_core.count<100?(K("ai_core"),e.space.ai_core.count>=100&&(e.tech.titan_ai_core=1,e.space.ai_core2={count:1,on:0},re($(es.spc_titan.ai_core2)[0]),At(),ce(),e.city.ptrait.includes("kamikaze")&&!e.race.tidal_decay&&I(t("planet_kamikaze_stabilize",[E[e.race.species].home,100]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0},p:["ai_core","space"]}}},ai_core2:{id:"space-ai_core2",title:t("space_ai_core"),desc(){return`
${t("space_ai_core")}
${t("space_electrolysis_req",[e.resource[$(this)[0].p_fuel().r].name])}
`},reqs:{titan_ai_core:1},path:["truepath"],condition(){return!!(e.space.hasOwnProperty("ai_core")&&e.space.ai_core.count>=100)},wiki:!1,queue_complete(){return 0},cost:{},powered(){return de(100)},p_fuel(){return{r:"Water",a:1e3}},effect(r){let a=25,i=`
${t("interstellar_citadel_stat",[+va(r).toFixed(1)])}
`;if(i+=`
${t("interstellar_citadel_effect",[a])}
${t("space_ai_core_effect2",[a])}
`,e.tech.titan_ai_core&&e.tech.titan_ai_core>=2&&(i+=`
${t("space_ai_core_effect3",[50])}
`),i+=`
${t("space_electrolysis_use",[$(this)[0].p_fuel().a,e.resource[$(this)[0].p_fuel().r].name,$(this)[0].powered()])}
`,e.tech.titan_ai_core&&e.tech.titan_ai_core>=3){let s=+fc(r).toFixed(1);i+=`
${t("space_ai_core_effect4",[s])}
`}return i},action(){return!1},flair(){return e.space.hasOwnProperty("ai_core2")&&e.space.ai_core2.on>=1?t("space_ai_core_flair"):t("space_ai_core_flair2")}},ai_colonist:{id:"space-ai_colonist",title:t("space_ai_colonist_title"),desc(){return`
${t("space_ai_colonist_title")}
${t("requires_power")}
`},reqs:{titan_ai_core:3},path:["truepath"],cost:{Money(r){return g("ai_colonist",r,112e6,1.35)},Alloy(r){return g("ai_colonist",r,75e4,1.35)},Elerium(r){return g("ai_colonist",r,500,1.35)},Nano_Tube(r){return g("ai_colonist",r,525e3,1.35)},Quantium(r){return g("ai_colonist",r,15e4,1.35)},Cipher(r){return g("ai_colonist",r,1e4,1.35)}},effect(){return`
${t("plus_max_resource",[N(1),e.race.truepath?t("job_colonist_tp",[Y().titan]):t("colonist")])}
${t("space_ai_colonist_effect",[N(1),Y().titan])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return de(10)},action(){return u($(this)[0])?(K("ai_colonist"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["ai_colonist","space"]}},flair:t("tech_combat_droids_flair")},wonder_gardens:{id:"space-wonder_gardens",title(){return t("space_wonder_gardens",[Y().titan])},desc(){return t("space_wonder_gardens",[Y().titan])},reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.space.wonder_gardens)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}}},spc_enceladus:{info:{name(){return Y().enceladus},desc(){return t("space_enceladus_info_desc",[Y().enceladus,E[e.race.species].home])},support:"titan_spaceport",zone:"outer",syndicate(){return!!(e.tech.titan&&e.tech.titan>=3&&e.tech.enceladus&&e.tech.enceladus>=2)},syndicate_cap(){return e.tech.triton?e.tech.outer>=4?1500:1e3:600}},enceladus_mission:{id:"space-enceladus_mission",title(){return t("space_mission_title",[Y().enceladus])},desc(){return t("space_mission_desc",[Y().enceladus])},reqs:{outer:1},grant:["enceladus",1],path:["truepath"],queue_complete(){return e.tech.enceladus>=1?0:1},cost:{Helium_3(r,a){return+Ae(25e4,!1,a).toFixed(0)},Elerium(){return 100}},effect(){return t("space_titan_mission_effect",[Y().enceladus])},action(){return u($(this)[0])?(I(t("space_enceladus_mission_action",[Y().enceladus]),"info",!1,["progress"]),e.resource.Water.display=!0,!0):!1}},water_freighter:{id:"space-water_freighter",title:t("space_water_freighter_title"),desc(){return`
${t("space_water_freighter_title")}
${t("space_support",[Y().enceladus])}
`},reqs:{enceladus:2},path:["truepath"],cost:{Money(r){return g("water_freighter",r,45e4,1.25)},Iron(r){return g("water_freighter",r,362e3,1.25)},Nano_Tube(r){return g("water_freighter",r,125e3,1.25)},Sheet_Metal(r){return g("water_freighter",r,75e3,1.25)}},effect(r){let a=+Ae(5,!0,r).toFixed(2),i=+D("water_freighter").toFixed(2);return`
${t("space_used_support",[Y().enceladus])}
${t("produce",[i,e.resource.Water.name])}
${t("space_belt_station_effect3",[a])}
`},s_type:"enceladus",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("water_freighter"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["water_freighter","space"]}}},zero_g_lab:{id:"space-zero_g_lab",title:t("tech_zero_g_lab"),desc(){return`
${t("tech_zero_g_lab")}
${t("requires_power_support",[Y().enceladus])}
`},reqs:{enceladus:3},path:["truepath"],cost:{Money(r){return g("zero_g_lab",r,5e6,1.25)},Alloy(r){return g("zero_g_lab",r,125e3,1.25)},Graphene(r){return g("zero_g_lab",r,225e3,1.25)},Stanene(r){return g("zero_g_lab",r,6e5,1.25)}},effect(){let r=wt("spc_enceladus"),a=Math.round(1e4*r),i=`
${t("space_used_support",[Y().enceladus])}
${t("city_max_knowledge",[a])}
`;return e.resource.Quantium.display&&(i=i+`
${t("space_zero_g_lab_effect",[N(1)])}
`),e.resource.Cipher.display&&(i=i+`
${t("plus_max_resource",[1e4,e.resource.Cipher.name])}
`),i+`
${t("minus_power",[$(this)[0].powered()])}
`},s_type:"enceladus",support(){return-1},powered(){return de(12)},action(){return u($(this)[0])?(K("zero_g_lab"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["zero_g_lab","space"]}},post(){Dt()},postPower(r){Fi("Quantium")}},operating_base:{id:"space-operating_base",title:t("tech_operating_base"),desc(){return`
${t("tech_operating_base")}
${t("requires_power_support",[Y().enceladus])}
`},reqs:{enceladus:4},path:["truepath"],cost:{Money(r){return g("operating_base",r,75e5,1.3)},Furs(r){return g("operating_base",r,5e5,1.3)},Adamantite(r){return g("operating_base",r,375e3,1.3)},Stanene(r){return g("operating_base",r,75e4,1.3)},Mythril(r){return g("operating_base",r,225e3,1.3)},Horseshoe(){return e.race.hooved?4:0}},effect(){let r=`
${t("space_used_support",[Y().enceladus])}
`;if(r+=`
${t("galaxy_defense_platform_effect",[50])}
`,r+=t("plus_max_resource",[$(this)[0].soldiers(),t("civics_garrison_soldiers")]),e.race.orbit_decayed){let a=e.tech.medic*5;r+=`
${t("city_hospital_effect",[a])}
`}return r+`
${t("minus_power",[$(this)[0].powered()])}
`},s_type:"enceladus",support(){return-1},powered(){return de(10)},action(){return u($(this)[0])?(K("operating_base"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["operating_base","space"]}},soldiers(){let r=e.race.grenadier?3:4;return N(r)},post(){H({el:"#spc_enceladussynd"},"update")}},munitions_depot:{id:"space-munitions_depot",title:t("tech_munitions_depot"),desc:t("tech_munitions_depot"),category:"storage",era:"solar",reqs:{enceladus:5},path:["truepath"],cost:{Money(r){return g("munitions_depot",r,5e6,1.22)},Iron(r){return g("munitions_depot",r,185e3,1.22)},Sheet_Metal(r){return g("munitions_depot",r,1e5,1.22)}},effect(){let r=25;return`
${t("plus_max_crates",[r])}
${t("plus_max_containers",[r])}
`},action(){return u($(this)[0])?(K("munitions_depot"),e.resource.Crates.max+=25,e.resource.Containers.max+=25,e.resource.Containers.display||oa(),!0):!1},struct(){return{d:{count:0},p:["munitions_depot","space"]}}}},spc_triton:{info:{name(){return Y().triton},desc(){return t("space_triton_info_desc",[Y().triton,E[e.race.species].home])},zone:"outer",syndicate(){return!!(e.tech.triton&&e.tech.triton>=2)},syndicate_cap(){return e.tech.outer&&e.tech.outer>=4?5e3:3e3},extra(r){e.tech.triton&&e.tech.triton>=3&&($(`#${r}`).append(`
${t("space_ground_resist")}
`),H({el:`#${r}resist`,data:e.space.fob,methods:{threat(a,i){let s=e.civic.garrison.wounded-De();s<0&&(s=0);let n=+(a-Ye(i,"army",s)).toFixed(0);return n<0?0:n}}}))}},triton_mission:{id:"space-triton_mission",title(){return t("space_mission_title",[Y().triton])},desc(){return t("space_mission_desc",[Y().triton])},reqs:{outer:2},grant:["triton",1],path:["truepath"],queue_complete(){return e.tech.triton>=1?0:1},cost:{Helium_3(r,a){return+Ae(6e5,!1,a).toFixed(0)},Elerium(){return 2500}},effect(){return t("space_triton_mission_effect",[Y().triton])},action(){return u($(this)[0])?(I(t("space_triton_mission_action",[Y().triton]),"info",!1,["progress"]),e.space.syndicate.spc_triton=1250,e.space.syndicate.spc_titan+=250,e.space.syndicate.spc_enceladus+=250,!0):!1}},fob:{id:"space-fob",title:t("space_fob_title"),desc(){return`
${t("tech_fob")}
${t("requires_power_combo",[e.resource.Helium_3.name])}
`},reqs:{triton:2},path:["truepath"],queue_complete(){return 1-e.space.fob.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,25e7,1.1)},Copper(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,8e6,1.1)},Uranium(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,5e4,1.1)},Nano_Tube(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,25e5,1.1)},Graphene(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,3e6,1.1)},Sheet_Metal(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,75e5,1.1)},Quantium(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:g("fob",r,5e5,1.1)},Horseshoe(r){return e.race.hooved&&(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)<1?10:0}},effect(r){let a=De(),i=De(!0),s=`
${t("galaxy_defense_platform_effect",[500])}
`;s+=t("plus_max_resource",[$(this)[0].soldiers(),t("civics_garrison_soldiers")]),s+=`
${t("civics_garrison_soldiers")}: ${a} / ${i}
`,s+=`
${t("civics_garrison_wounded")}: ${e.civic.garrison?e.civic.garrison.wounded:0}
`,s+=`
${t("space_fob_landed",[e.space.fob?e.space.fob.troops:0])}
`;let n=+Ae(125,!0,r).toFixed(2);return s+`
${t("requires_power_combo_effect",[$(this)[0].powered(),n,e.resource.Helium_3.name])}
`},powered(){return de(50)},action(){return e.space.fob.count<1&&u($(this)[0])?(K("fob"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,troops:0,enemy:0},p:["fob","space"]}},soldiers(){let r=e.race.grenadier?6:10;return N(r)},post(){e.tech.triton===2&&(e.tech.triton=3,ce(),At(),I(t("space_fob_msg"),"info",!1,["progress"]))}},lander:{id:"space-lander",title:t("space_lander_title"),desc(){return`
${t("space_lander_title")}
${t("requires_soldiers")}
${t("space_red_space_barracks_desc_req")}
`},reqs:{triton:3},path:["truepath"],cost:{Money(r){return g("lander",r,24e5,1.15)},Aluminium(r){return g("lander",r,185e3,1.15)},Neutronium(r){return g("lander",r,1e4,1.15)},Nano_Tube(r){return g("lander",r,158e3,1.15)}},powered(){return 0},effect(r){let a=+Ae(50,!0,r).toFixed(2),i="";return e.space.crashed_ship&&e.space.crashed_ship.count===100&&(i=`
${t("space_lander_effect3",[D("lander"),e.resource.Cipher.name])}
`),`
${t("space_lander_effect",[Y().triton])}
${i}
${t("space_lander_effect2",[N(3)])}
${t("space_red_space_barracks_effect2",[a])}
`},action(){return u($(this)[0])?(K("lander"),e.space.lander.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["lander","space"]}}},crashed_ship:{id:"space-crashed_ship",title:t("space_crashed_ship_title"),desc(){return`
${t("space_crashed_ship_title")}
`},reqs:{triton:3},path:["truepath"],queue_complete(){return 0},cost:{},effect(){let r=e.space.crashed_ship?e.space.crashed_ship.count:0;return`
${t("space_crashed_ship_effect",[r])}
`},action(){return!1},struct(){return{d:{count:0},p:["crashed_ship","space"]}}}},spc_kuiper:{info:{name(){return t("space_kuiper_title")},desc(){return t("space_kuiper_desc")},zone:"outer",syndicate(){return!!e.tech.kuiper},syndicate_cap(){return 2500}},kuiper_mission:{id:"space-kuiper_mission",title(){return t("space_mission_title",[t("space_kuiper_title")])},desc(){return t("space_mission_desc",[t("space_kuiper_title")])},reqs:{outer:7},grant:["kuiper",1],path:["truepath"],queue_complete(){return e.tech.kuiper>=1?0:1},cost:{Helium_3(r,a){return+Ae(1e6,!1,a).toFixed(0)},Elerium(){return 1e3}},effect(){return t("space_kuiper_mission_effect")},action(){return u($(this)[0])?(P(es.spc_kuiper.orichalcum_mine),P(es.spc_kuiper.uranium_mine),P(es.spc_kuiper.neutronium_mine),e.space.syndicate.spc_kuiper=500,I(t("space_kuiper_mission_action"),"info",!1,["progress"]),!0):!1}},orichalcum_mine:{id:"space-orichalcum_mine",title(){return t("space_kuiper_mine",[e.resource.Orichalcum.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Orichalcum.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return g("orichalcum_mine",r,25e6,1.25)},Graphene(r){return g("orichalcum_mine",r,9e5,1.25)},Elerium(r){return g("orichalcum_mine",r,200,1.25)},Mythril(r){return g("orichalcum_mine",r,45e4,1.25)},Quantium(r){return g("orichalcum_mine",r,15e4,1.25)}},effect(r){let a=+D("orichalcum_mine").toFixed(3),i=+Ae($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Orichalcum_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return de(10)},p_fuel(){return{r:"Oil",a:200}},action(){return u($(this)[0])?(K("orichalcum_mine"),e.resource.Orichalcum.display=!0,re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["orichalcum_mine","space"]}}},uranium_mine:{id:"space-uranium_mine",title(){return t("space_kuiper_mine",[e.resource.Uranium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Uranium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return g("uranium_mine",r,5e6,1.25)},Iridium(r){return g("uranium_mine",r,25e4,1.25)},Steel(r){return g("uranium_mine",r,62e4,1.25)}},effect(r){let a=+D("uranium_mine").toFixed(3),i=+Ae($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Uranium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return de(5)},p_fuel(){return{r:"Oil",a:60}},action(){return u($(this)[0])?(K("uranium_mine"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["uranium_mine","space"]}}},neutronium_mine:{id:"space-neutronium_mine",title(){return t("space_kuiper_mine",[e.resource.Neutronium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Neutronium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return g("neutronium_mine",r,8e6,1.25)},Adamantite(r){return g("neutronium_mine",r,65e4,1.25)},Stanene(r){return g("neutronium_mine",r,125e4,1.25)}},effect(r){let a=+D("neutronium_mine").toFixed(3),i=+Ae($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Neutronium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return de(8)},p_fuel(){return{r:"Oil",a:60}},action(){return u($(this)[0])?(K("neutronium_mine"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["neutronium_mine","space"]}}},elerium_mine:{id:"space-elerium_mine",title(){return t("space_kuiper_mine",[e.resource.Elerium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Elerium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:2},path:["truepath"],cost:{Money(r){return g("elerium_mine",r,2e7,1.25)},Titanium(r){return g("elerium_mine",r,25e4,1.25)},Neutronium(r){return g("elerium_mine",r,12e4,1.25)},Orichalcum(r){return g("elerium_mine",r,175e3,1.25)}},effect(r){let a=+D("elerium_mine").toFixed(3),i=+Ae($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Elerium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return de(12)},p_fuel(){return{r:"Oil",a:125}},action(){return u($(this)[0])?(K("elerium_mine"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_mine","space"]}}}},spc_eris:{info:{name(){return Y().eris},desc(){return t("space_eris_info_desc",[Y().eris])},support:"drone_control",zone:"outer",syndicate(){return!!e.tech.eris},syndicate_cap(){return 7500},extra(r){e.tech.eris&&e.tech.eris===1&&($(`#${r}`).append(`
${t("space_scanned")} {{ eris_scan }}%
`),H({el:`#${r}scanned`,data:e.tech}))}},eris_mission:{id:"space-eris_mission",title(){return t("space_mission_title",[Y().eris])},desc(){return t("space_mission_desc",[Y().eris])},reqs:{outer:7},grant:["eris",1],path:["truepath"],queue_complete(){return e.tech.eris>=1?0:1},cost:{Helium_3(r,a){return+Ae(125e4,!1,a).toFixed(0)},Elerium(){return 1250}},effect(){return t("space_eris_mission_effect",[Y().eris])},action(){return u($(this)[0])?(e.space.syndicate.spc_eris=4e3,I(t("space_eris_mission_action",[Y().eris]),"info",!1,["progress"]),!0):!1}},drone_control:{id:"space-drone_control",title(){return t("space_drone_control",[Y().titan])},desc(){return`
${t("space_drone_control",[Y().titan])}
${t("requires_power_combo",[e.resource[$(this)[0].p_fuel().r].name])}
`},reqs:{eris:3},path:["truepath"],cost:{Money(r){return g("drone_control",r,75e6,1.3)},Neutronium(r){return g("drone_control",r,1e5,1.3)},Stanene(r){return g("drone_control",r,45e4,1.3)},Quantium(r){return g("drone_control",r,3e5,1.3)}},effect(){let r=$(this)[0].p_fuel().a;return`
+${t("galaxy_alien2_support",[$(this)[0].support(),Y().eris])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),r,e.resource[$(this)[0].p_fuel().r].name])}
`},support(){return 5},powered(){return de(25)},p_fuel(){return{r:"Uranium",a:5}},action(){return u($(this)[0])?(K("drone_control"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["drone_control","space"]}}},shock_trooper:{id:"space-shock_trooper",title:t("space_shock_trooper_title"),desc(){return`
${t("space_shock_trooper_title")}
${t("space_support",[Y().eris])}
`},reqs:{eris:3},path:["truepath"],cost:{Money(r){return g("shock_trooper",r,425e4,1.225)},Polymer(r){return g("shock_trooper",r,375e3,1.225)},Adamantite(r){return g("shock_trooper",r,5e5,1.225)},Graphene(r){return g("shock_trooper",r,22e4,1.225)},Elerium(r){return g("shock_trooper",r,350,1.225)}},effect(){let r=Math.round(Ye(1,"army",0)*wt("spc_eris")),a=`
${t("space_used_support",[Y().eris])}
`;return e.space.digsite&&e.space.digsite.count===100&&(a=`
${t("space_lander_effect3",[D("shock_trooper"),e.resource.Cipher.name])}
`),a+`
${t("space_digsite_offense",[r])}
`},s_type:"eris",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("shock_trooper"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["shock_trooper","space"]}}},tank:{id:"space-tank",title:t("space_tank_title"),desc(){return`
${t("space_tank_title")}
${t("space_support",[Y().eris])}
`},reqs:{eris:4},path:["truepath"],cost:{Money(r){return g("tank",r,1e8,1.25)},Alloy(r){return g("tank",r,125e4,1.25)},Orichalcum(r){return g("tank",r,6e5,1.25)},Mythril(r){return g("tank",r,5e5,1.25)},Uranium(r){return g("tank",r,25e3,1.25)}},effect(){let r=Math.round(100*wt("spc_eris")),a=`
${t("space_used_support",[Y().eris])}
`;return e.space.digsite&&e.space.digsite.count===100&&(a=`
${t("space_lander_effect3",[D("tank"),e.resource.Cipher.name])}
`),a+`
${t("space_digsite_offense",[r])}
`},s_type:"eris",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("tank"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tank","space"]}}},digsite:{id:"space-digsite",title:t("space_digsite_title"),desc(){return`
${t("space_digsite_title")}
`},reqs:{eris:3},path:["truepath"],queue_complete(){return 0},cost:{},effect(){let r=e.space.digsite?e.space.digsite.count:0;return`
${t("space_crashed_ship_effect",[r])}
`},action(){return!1},struct(){return{d:{count:0,enemy:1e4},p:["digsite","space"]}}}}},He={tau_star:{info:{name(){return t("tab_tauceti")},desc(){return t("tau_star",[t("tab_tauceti"),t("space_sun_info_name")])}},ringworld:{id:"tauceti-ringworld",title:t("tau_star_ringworld"),desc(r){return!e.tauceti.hasOwnProperty("ringworld")||e.tauceti.ringworld.count<1e3||r?`
${t("tau_star_ringworld")}
${t("requires_segments",[1e3])}
`:`
${t("tau_star_ringworld")}
`},reqs:{matrix:2},path:["truepath"],queue_size:50,queue_complete(){return 1e3-e.tauceti.ringworld.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?1e7:1e8:0},Neutronium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?2e4:1e5:0},Nano_Tube(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?7e4:35e4:0},Adamantite(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?2e5:1e6:0},Bolognium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?17600:88e3:0},Orichalcum(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?25e3:125e3:0},Unobtainium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?360:1800:0},Quantium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?ca(e.race.lone_survivor?10100:101e3):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0);if(i<1e3){let s=1e3-i;a+=`
${t("tau_star_ringworld_effect")}
`,a+=`
${t("space_dwarf_collider_effect2",[s])}
`}else a+=`
${t("space_dwarf_reactor_effect1",[e.race.lone_survivor?100:1e4])}
`;return a},action(){return u($(this)[0])&&e.tauceti.ringworld.count<1e3?(K("ringworld","tauceti"),e.tauceti.ringworld.count>=1e3&&(e.race.lone_survivor?e.tech.eden=1:(e.tech.matrix=3,e.tauceti.matrix={count:1,on:0}),Dr(),je()),!0):!1},struct(){return{d:{count:0},p:["ringworld","tauceti"]}}},matrix:{id:"tauceti-matrix",title:t("tau_star_matrix"),desc(){return`
${t("tau_star_matrix")}
${t("requires_power")}
`},reqs:{matrix:3},condition(){return e.tauceti.ringworld.count>=1e3},queue_complete(){return 0},cost:{},powered(){return 1e4},postPower(r){r?setTimeout(function(){e.tech.matrix=k.matrix?4:3,Dr()},250):(e.tech.matrix=3,Dr())},effect(){let r=Eo(),a=$(this)[0].powered(),i=a>0?`
${t("minus_power",[a])}
`:"";return`
${t("tau_star_matrix_effect")}
${r}${i}`},action(){return!1}},blue_pill:{id:"tauceti-blue_pill",title:t("tau_star_blue_pill"),desc:t("tau_star_blue_pill"),wiki:!1,reqs:{matrix:4},queue_complete(){return 0},no_multi:!0,cost:{},effect(){let r=Eo();return`
${t("tau_star_blue_pill_effect")}
${r}`},action(){if(u($(this)[0])){let l=function(){a.fillStyle="#0001",a.fillRect(0,0,i,s),a.fillStyle="#0f0",a.font="15pt monospace",c.forEach((o,d)=>{let y=String.fromCharCode(Math.rand(65382,65438)),p=d*20;a.fillText(y,p,o),o>100+Math.random()*1e4?c[d]=0:c[d]=o+20})};$("body").append('');let r=document.getElementById("matrix"),a=r.getContext("2d"),i=r.width=document.body.offsetWidth,s=r.height=document.body.offsetHeight,n=Math.floor(i/20)+1,c=Array(n).fill(0);return setInterval(l,50),setTimeout(function(){Fo()},5e3),!0}return!1}},goe_facility:{id:"tauceti-goe_facility",title:t("tau_star_goe_facility"),desc(){return`
${t("tau_star_goe_facility")}
`},reqs:{eden:2},condition(){return e.tauceti.ringworld.count>=1e3},queue_complete(){return 0},cost:{Money(r){return 1e6},Copper(r){return 1e7},Graphene(r){return 5e6},Stanene(r){return 8e6},Elerium(r){return 1e4}},effect(){let r=zu();return`
${t("tau_star_goe_facility_effect")}
${r}`},action(){if(u($(this)[0])){let r=Kr(He.tau_star.goe_facility);return Object.keys(r).forEach(function(a){e.resource[a].amount+=r[a]()}),To(),!1}return!1},struct(){return{d:{count:0},p:["goe_facility","tauceti"]}}}},tau_home:{info:{name(){return t("tau_planet",[E[e.race.species].home])},desc(){return t("tau_home",[E[e.race.species].home])},support:"orbital_station",extra(r){e.tech.tau_home&&e.tech.tau_home>=2&&!Or()&&($(`#${r}`).append(`
${t("resource_Materials_name")} {{ amount | round | locale }} / {{ max | locale }}
`),H({el:`#${r}Mats`,data:e.resource.Materials,methods:{tauShow(){return!Or()}},filters:{round(a){return+a.toFixed(0)},locale(a){return a.toLocaleString()}}}))}},home_mission:{id:"tauceti-home_mission",title(){return t("tau_new_mission_title",[E[e.race.species].home])},desc(){return t("tau_new_mission_title",[E[e.race.species].home])},reqs:{tauceti:2},grant:["tau_home",1],path:["truepath"],queue_complete(){return e.tech.tau_home>=1?0:1},cost:{Money(){return 1e9}},effect(){return t("tau_new_mission_effect",[E[e.race.species].home])},action(){return u($(this)[0])?(P(He.tau_home.colony),P(He.tau_home.mining_pit),I(t("tau_home_mission_result",[E[e.race.species].home]),"info",!1,["progress"]),!0):!1}},dismantle:{id:"tauceti-dismantle",title(){return t("tau_home_dismantle")},desc(){return t("tau_home_dismantle")},reqs:{tau_home:1},grant:["tau_home",2],path:["truepath"],queue_complete(){return e.tech.tau_home>=2?0:1},cost:{Money(){return 1e8}},effect(){let r="Explorer";if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")){let a=e.space.shipyard.ships.findIndex(i=>i.location==="tauceti"&&i.class==="explorer");a!==-1&&(r=e.space.shipyard.ships[a].name)}return t("tau_home_dismantle_effect",[r])},action(){let r=-1;if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")&&(r=e.space.shipyard.ships.findIndex(a=>a.location==="tauceti"&&a.class==="explorer")),r>=0&&u($(this)[0])){if(e.space.shipyard.ships.splice(r,1),K("orbital_station","tauceti"),K("colony","tauceti"),K("mining_pit","tauceti"),e.civic.pit_miner.display=!0,e.resource.Materials.display=!0,re($(He.tau_home.orbital_station)[0])){e.tauceti.colony.on++,e.tauceti.mining_pit.on++;let a=$(He.tau_home.mining_pit)[0].workers();e.civic.pit_miner.max+=a;let i=Math.min(a,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=i,e.civic.pit_miner.workers+=i}return e.settings.tabLoad&&Ai(),!0}return!1}},orbital_station:{id:"tauceti-orbital_station",title:t("tau_home_orbital_station"),desc:`
${t("tau_home_orbital_station")}
${t("requires_power")}
`,reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return g("orbital_station",r,8e7,1.3,"tauceti")},Materials(r){return Or()?0:g("orbital_station",r,5e5,1.3,"tauceti")},Helium_3(r){return Or()?g("orbital_station",r,Fe(25e4),1.3,"tauceti"):0},Copper(r){return Or()?g("orbital_station",r,125e4,1.3,"tauceti"):0},Adamantite(r){return Or()?g("orbital_station",r,9e5,1.3,"tauceti"):0}},effect(){let r=Q(15e3),a=+Fe($(this)[0].support_fuel().a).toFixed(1),i=`
${t("space_red_spaceport_effect1",[t("tau_planet",[E[e.race.species].home]),$(this)[0].support()])}
`;return i=i+`
${t("plus_max_resource",[r.toLocaleString(),e.resource.Helium_3.name])}
`,i=i+`
${t("spend_power",[a,e.resource[$(this)[0].support_fuel().r].name,$(this)[0].powered()])}
`,i},support_fuel(){return{r:"Helium_3",a:e.tech.isolation?e.race.lone_survivor?5:25:400}},support(){return 3},powered(){return de(e.tech.isolation?e.race.lone_survivor?4:6:30)},refresh:!0,action(){return u($(this)[0])?(K("orbital_station","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["orbital_station","tauceti"]}}},colony:{id:"tauceti-colony",title:t("tau_home_colony"),desc(){return`
${t("tau_home_colony_desc",[E[e.race.species].home])}
${t("requires_power_support_combo",[E[e.race.species].home,e.resource.Food.name])}
`},reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return g("colony",r,1575e4,1.225,"tauceti")},Materials(r){return Or()?0:g("colony",r,65e4,1.225,"tauceti")},Furs(r){return Or()?g("colony",r,72e4,1.225,"tauceti"):0},Graphene(r){return Or()?g("colony",r,485e3,1.225,"tauceti"):0},Brick(r){return Or()?g("colony",r,ca(88e4),1.225,"tauceti"):0}},effect(){let r=$(this)[0].citizens(),a=e.tech.isolation?900:250,i=+$(this)[0].support_fuel().a.toFixed(1),s=`
${t("tau_new_support",[$(this)[0].support(),E[e.race.species].home])}
`;if(e.race.lone_survivor||(s=s+`
${t("plus_max_citizens",[r])}
`),e.tech.isolation){let n=yr()*25;n=Q(n),n=(+n.toFixed(0)).toLocaleString(),s=s+`
${t("plus_max_resource",[`$${n}`,t("resource_Money_name")])}
`}if(s=s+`
${t("tau_home_colony_effect",[50,E[e.race.species].home])}
`,e.tech.isolation){let n=ue("gaslighter",0),c=(n?n+e.tech.broadcast:e.tech.broadcast)*2;s=s+`
${t("space_red_vr_center_effect1",[c])}
`}return s=s+`
${t("plus_max_resource",[a,t("resource_Crates_name")])}
${t("plus_max_resource",[a,t("resource_Containers_name")])}
`,e.race.lone_survivor?s=s+`
${t("gain",[-i,e.resource[$(this)[0].support_fuel().r].name])}
`:s=s+`
${t("spend",[i,e.resource[$(this)[0].support_fuel().r].name])}
`,s},s_type:"tau_home",support(){return-2},support_fuel(){return{r:"Food",a:e.tech.isolation?e.race.lone_survivor?-2:75:1e3}},powered(){return 0},action(){return u($(this)[0])?(K("colony","tauceti"),re($(this)[0]),e.resource.Containers.display||oa(),!0):!1},struct(){return{d:{count:0,on:0},p:["colony","tauceti"]}},citizens(){let r=e.tech.isolation?8:5;return e.race.high_pop&&(r*=b.high_pop.vars()[0]),e.race.lone_survivor?0:r}},tau_housing:{id:"tauceti-tau_housing",title(){return Ft("small")},desc(){return $(this)[0].citizens()===1?t("city_basic_housing_desc"):t("city_basic_housing_desc_plural",[$(this)[0].citizens()])},category:"residential",reqs:{housing:1,isolation:1},condition(){return!e.race.lone_survivor},cost:{Money(r){return g("tau_housing",r,15e4,1.15,"tauceti")},Lumber(r){return e.race.kindling_kindred||e.race.smoldering?0:g("tau_housing",r,125e3,1.25,"tauceti")},Stone(r){return e.race.kindling_kindred?g("tau_housing",r,125e3,1.25,"tauceti"):0},Chrysotile(r){return e.race.smoldering?g("tau_housing",r,5e4,1.25,"tauceti"):0},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=$(this)[0].citizens();return e.race.sappy?`
${t("plus_max_resource",[r,t("citizen")])}
${t("city_grove_effect",[2.5])}
`:t("plus_max_resource",[r,t("citizen")])},action(){return u($(this)[0])?(K("tau_housing","tauceti"),!0):!1},struct(){return{d:{count:0},p:["tau_housing","tauceti"]}},citizens(){let r=1;return e.race.high_pop&&(r*=b.high_pop.vars()[0]),r}},captive_housing:vr("captive_housing","tauceti"),pylon:{id:"tauceti-pylon",title:t("tau_home_pylon"),desc:t("tau_home_pylon"),reqs:{magic:2},condition(){return!!(e.tech.isolation&&e.tauceti.hasOwnProperty("pylon"))},cost:{Money(r){return g("pylon",r,50,1.48,"tauceti")},Stone(r){return g("pylon",r,100,1.42,"tauceti")},Crystal(r){return g("pylon",r,8,1.42,"tauceti")-3}},effect(){let r=Q(2),a=+(.0125*bt("magic")).toFixed(3);return`
${t("gain",[a,e.resource.Mana.name])}
${t("plus_max_resource",[r,e.resource.Mana.name])}
`},special(){return!!(e.tech.magic&&e.tech.magic>=3)},action(){return u($(this)[0])?(K("pylon","tauceti"),e.resource.Mana.max+=Q(2),!0):!1},struct(){return{d:{count:0},p:["pylon","tauceti"]}}},cloning_facility:{id:"tauceti-cloning_facility",title:t("tau_home_cloning"),desc(){return t("tau_home_cloning_desc",[E[e.race.species].name])},category:"military",reqs:{cloning:1},path:["truepath"],queue_complete(){return e.resource[e.race.species].max-e.resource[e.race.species].amount},cost:{Money(r){return e.resource[e.race.species].amount?g("citizen",r,Math.round((e.race.high_pop?1e5:125e3)/N(1)),e.race.high_pop?1.01:1.02,"tauceti",e.race.high_pop?1.003:1.005):0},Copper(r){return!e.race.artifical||e.race.deconstructor?0:e.resource[e.race.species].amount>=5?g("citizen",r,Math.round(50/N(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0},Aluminium(r){return!e.race.artifical||e.race.deconstructor?0:e.resource[e.race.species].amount>=5?g("citizen",r,Math.round(50/N(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0},Nanite(r){return e.race.deconstructor&&e.resource[e.race.species].amount>=3?g("citizen",r,Math.round(500/N(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0}},effect(){let r="";return e.resource[e.race.species].max===e.resource[e.race.species].amount&&(r=`
${t("city_assembly_effect_warn")}
`),`
${t("tau_home_cloning_effect",[E[e.race.species].name])}
${r}`},action(){return e.resource[e.race.species].max>e.resource[e.race.species].amount&&u($(this)[0])?(e.resource[e.race.species].amount++,!0):!1},struct(){return{d:{count:0,on:0},p:["cloning_facility","tauceti"]}}},horseshoe:vr("horseshoe","tauceti"),bonfire:vr("bonfire","tauceti"),firework:vr("firework","tauceti"),assembly:vr("assembly","tauceti"),nanite_factory:vr("nanite_factory","tauceti"),tau_farm:{id:"tauceti-tau_farm",title:t("tau_home_tau_farm"),desc(){return`
${t("tau_home_tau_farm")}
${t("requires_power")}
`},reqs:{tau_home:7},path:["truepath"],cost:{Money(r){return g("tau_farm",r,135e6,1.25,"tauceti")},Stone(r){return g("tau_farm",r,921e4,1.25,"tauceti")},Steel(r){return g("tau_farm",r,6295e3,1.25,"tauceti")},Water(r){return g("tau_farm",r,1e4,1.25,"tauceti")}},effect(){let r=`
${t("space_red_spaceport_effect1",[t("tau_planet",[E[e.race.species].home]),$(this)[0].support()])}
`;if(r=r+`
${t("produce",[+D("tau_farm","food").toFixed(2),e.resource.Food.name])}
`,!e.race.kindling_kindred&&!e.race.smoldering&&(r=r+`
${t("produce",[+D("tau_farm","lumber").toFixed(2),e.resource.Lumber.name])}
`),e.tech.isolation){let a=+D("tau_farm","water").toFixed(2);if(r=r+`
${t("produce",[a,e.resource.Water.name])}
`,e.race.artifical){let i=Q(350);r=r+`
${t("city_transmitter_effect",[i])}
`}}return r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},support(){return 1},powered(){return de(e.tech.isolation?1:4)},action(){return u($(this)[0])?(K("tau_farm","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tau_farm","tauceti"]}}},mining_pit:{id:"tauceti-mining_pit",title:t("tau_home_mining_pit"),desc(){return`
${t("tau_home_mining_pit")}
${t("space_support",[E[e.race.species].home])}
`},reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return g("mining_pit",r,425e4,1.225,"tauceti")},Materials(r){return Or()?0:g("mining_pit",r,35e4,1.225,"tauceti")},Lumber(r){return Or()?g("mining_pit",r,235e4,1.225,"tauceti"):0},Iron(r){return Or()?g("mining_pit",r,835e3,1.225,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),E[e.race.species].home])}
`;if(r=r+`
${t("plus_max_resource",[$(this)[0].workers(),t("job_pit_miner")])}
`,!Or())r=r+`
${t("plus_max_resource",[1e6,t("resource_Materials_name")])}
`,r=r+`
${t("tau_home_mining_pit_effect",[e.resource.Materials.name])}
`;else if(e.tech.isolation){if(e.race.lone_survivor){let a=[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name,e.resource.Copper.name,e.resource.Iron.name,e.resource.Aluminium.name,e.resource.Coal.name];e.race.smoldering?(a.push(e.resource.Chrysotile.name),r=r+`
${t("tau_home_mining_pit_effect2cs",a)}
`):r=r+`
${t("tau_home_mining_pit_effect2c",a)}
`}else{let a=[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name,e.resource.Copper.name,e.resource.Coal.name];e.race.smoldering?(a.push(e.resource.Chrysotile.name),r=r+`
${t("tau_home_mining_pit_effect2bs",a)}
`):r=r+`
${t("tau_home_mining_pit_effect2b",a)}
`}r=r+`
${t("production",[8,e.resource.Cement.name])}
`}else r=r+`
${t("tau_home_mining_pit_effect2",[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name])}
`;return r},s_type:"tau_home",support(){return-1},powered(){return 0},workers(){return N(e.tech.isolation?6:8)},action(){if(u($(this)[0])){if(K("mining_pit","tauceti"),re($(this)[0])){let r=$(this)[0].workers();e.civic.pit_miner.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.pit_miner.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["mining_pit","tauceti"]}}},excavate:{id:"tauceti-excavate",title:t("tau_home_excavate"),desc(){return`
${t("tau_home_excavate")}
`},reqs:{tau_home:2},grant:["tau_home",3],path:["truepath"],cost:{Money(r){return 165e7},Materials(r){return 75e4}},effect(){return t("tau_home_excavate_effect")},action(){return u($(this)[0])?(I(t("tau_home_excavate_msg"),"info",!1,["progress"]),!0):!1}},alien_outpost:{id:"tauceti-alien_outpost",title:t("tech_alien_outpost"),desc(){return`
${t("tech_alien_outpost")}
${t("requires_power")}
`},reqs:{tau_home:4},path:["truepath"],cost:{},queue_complete(){return 0},effect(){let r=`
${t("plus_max_resource",["20%",t("resource_Knowledge_name")])}
`;return e.tech.isolation&&(r=r+`
${t("plus_max_resource",[(e.race.lone_survivor?35e5:65e5).toLocaleString(),t("resource_Knowledge_name")])}
`,r=r+`
${t("plus_max_resource",[2e5.toLocaleString(),e.resource.Cipher.name])}
`,r=r+`
${t("space_lander_effect3",[D("alien_outpost"),e.resource.Cipher.name])}
`),e.tech.outpost_boost&&(r=r+`
${t("tech_alien_outpost_effect2")}
`),e.race.lone_survivor&&(r=r+`
${t("city_wardenclyffe_effect1",[N(1),e.civic.professor.name])}
`),r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return de(e.tech.isolation?e.race.lone_survivor?8:25:100)},special(){return!!e.tech.replicator},action(){return!1},struct(){return{d:{count:1,on:0},p:["alien_outpost","tauceti"]}}},jump_gate:{id:"tauceti-jump_gate",title:t("tau_jump_gate"),desc(r){return!e.tauceti.hasOwnProperty("jump_gate")||e.tauceti.jump_gate.count<100||r?`
${t("tau_jump_gate")}
${t("requires_segments",[100])}
`:`
${t("tau_jump_gate")}
`},reqs:{tauceti:3},condition(){return e.tech.isolation?0:1},path:["truepath"],queue_size:10,queue_complete(){return 100-e.tauceti.jump_gate.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0)<100?1e6:0},Materials(r){return(r||0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0)<100?12500:0}},effect(r){let a=(r?.count??0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0);if(a<100){let i=100-a;return`
${t("tau_jump_gate_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return t("tau_jump_gate_effect")},action(){return u($(this)[0])&&e.tauceti.jump_gate.count<100?(K("jump_gate","tauceti"),!0):!1},struct(){return{d:{count:0},p:["jump_gate","tauceti"]}}},fusion_generator:{id:"tauceti-fusion_generator",title:t("tech_fusion_generator"),desc(){return`
${t("tech_fusion_generator")}
${t("requires_res",[e.resource.Helium_3.name])}
`},reqs:{tau_home:6},path:["truepath"],cost:{Money(r){return g("fusion_generator",r,188e6,1.25,"tauceti")},Iridium(r){return g("fusion_generator",r,555e4,1.25,"tauceti")},Stanene(r){return g("fusion_generator",r,7003500,1.25,"tauceti")},Sheet_Metal(r){return g("fusion_generator",r,ca(95e3),1.25,"tauceti")}},effect(){let r=+Fe($(this)[0].p_fuel().a).toFixed(1),a=`
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}
`;return e.race.lone_survivor?a=a+`
${t("gain",[-r,e.resource[$(this)[0].p_fuel().r].name])}
`:a=a+`
${t("spend",[r,e.resource[$(this)[0].p_fuel().r].name])}
`,a},p_fuel(){return{r:"Helium_3",a:e.tech.isolation?e.race.lone_survivor?-15:75:500}},powered(){return et(-32)},action(){return u($(this)[0])?(K("fusion_generator","tauceti"),e.tauceti.fusion_generator.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["fusion_generator","tauceti"]}}},repository:{id:"tauceti-repository",title:t("tech_repository"),desc:t("tech_repository"),reqs:{tau_home:5},path:["truepath"],cost:{Money(r){return g("repository",r,1028e4,1.28,"tauceti")},Iron(r){return g("repository",r,18e5,1.28,"tauceti")},Cement(r){return g("repository",r,15e5,1.28,"tauceti")},Neutronium(r){return g("repository",r,215e3,1.28,"tauceti")}},wide:!0,res(){let r=["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Steel","Titanium","Crystal","Alloy","Polymer","Iridium","Chrysotile","Nano_Tube","Neutronium","Adamantite","Unobtainium"];return e.tech.isolation&&(r.push("Oil"),r.push("Helium_3"),r.push("Uranium"),r.push("Water")),r},val(r){switch(r){case"Lumber":return 3e4;case"Stone":return 3e4;case"Chrysotile":return 3e4;case"Crystal":return 10;case"Furs":return 17e3;case"Copper":return 15200;case"Iron":return 14e3;case"Aluminium":return 12800;case"Cement":return 11200;case"Coal":return 4800;case"Steel":return 2400;case"Titanium":return 1600;case"Alloy":return 1800;case"Polymer":return 1500;case"Iridium":return 1750;case"Nano_Tube":return 1200;case"Neutronium":return 640;case"Adamantite":return 720;case"Unobtainium":return 1e3;case"Oil":return 680;case"Helium_3":return 575;case"Uranium":return 125;case"Water":return 15;case"Elerium":return 3;default:return 0}},effect(r){let a='
',i=Ra("repository",!1,r),s=250;for(let n of $(this)[0].res())if(e.resource[n].display){let c=$e(+(Q($(this)[0].val(n))*i).toFixed(0),1);a=a+`${t("plus_max_resource",[c,e.resource[n].name])}`}return e.tech.isolation&&(a=a+`${t("plus_max_resource",[s,t("resource_Crates_name")])}${t("plus_max_resource",[s,t("resource_Containers_name")])}`),a=a+"
",a},action(){if(u($(this)[0])){K("repository","tauceti");let r=250;e.resource.Crates.max+=r,e.resource.Containers.max+=r,e.resource.Containers.display||oa();let a=Ra("repository");for(let i of $(this)[0].res())e.resource[i].display&&(e.resource[i].max+=Q($(this)[0].val(i))*a);return!0}return!1},struct(){return{d:{count:0},p:["repository","tauceti"]}}},tau_factory:{id:"tauceti-tau_factory",title:t("tau_home_tau_factory"),desc(){return`
${t("tau_home_tau_factory")}
${t("requires_power_support",[E[e.race.species].home])}
`},reqs:{tau_home:8},path:["truepath"],cost:{Money(r){return g("tau_factory",r,269e6,1.25,"tauceti")},Titanium(r){return g("tau_factory",r,3e6,1.25,"tauceti")},Elerium(r){return g("tau_factory",r,850,1.25,"tauceti")},Bolognium(r){return g("tau_factory",r,25e4,1.25,"tauceti")},Quantium(r){return g("tau_factory",r,ca(425e3),1.25,"tauceti")}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),E[e.race.species].home])}
`;return r=r+`
${t("tau_home_tau_factory_effect",[$(this)[0].manufacturing()])}
`,e.tech.isolation&&(e.race.flier||(r=r+`
${t("plus_max_resource",[N(2),t("job_cement_worker")])}
`),r=r+`
${t("space_red_fabrication_effect1",[N(5)])}
`),r=r+`
${t("city_crafted_mats",[e.tech.isolation?275:90])}
`,r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},special:!0,s_type:"tau_home",support(){return-1},powered(){return de(e.tech.isolation?2:5)},manufacturing(){return e.tech.isolation?5:3},action(){return u($(this)[0])?(e.civic.craftsman.display=!0,K("tau_factory","tauceti"),re($(this)[0])&&(e.city.factory.Alloy+=$(this)[0].manufacturing(),nt()),!0):!1},struct(){return{d:{count:0,on:0},p:["tau_factory","tauceti"]}}},infectious_disease_lab:{id:"tauceti-infectious_disease_lab",title(){return e.tech.isolation?t("tech_infectious_disease_lab_alt"):t(e.race.artifical?"tech_infectious_disease_lab_s":"tech_infectious_disease_lab")},desc(){return`
${$(this)[0].title()}
${t("requires_power_support",[E[e.race.species].home])}
`},reqs:{disease:1},path:["truepath"],cost:{Money(r){return g("infectious_disease_lab",r,1e9,1.25,"tauceti")},Alloy(r){return g("infectious_disease_lab",r,325e5,1.25,"tauceti")},Polymer(r){return g("infectious_disease_lab",r,5e7,1.25,"tauceti")},Bolognium(r){return g("infectious_disease_lab",r,25e5,1.25,"tauceti")},Unobtainium(r){return g("infectious_disease_lab",r,64e3,1.25,"tauceti")}},effect(){let r=39616;if(e.tech.supercollider&&e.tech.isolation){let i=e.tech.tp_particles||e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/i+1}let a=`
${t("tau_new_support",[$(this)[0].support(),E[e.race.species].home])}
`;if(a=a+`
${t("city_max_knowledge",[Math.round(r).toLocaleString()])}
`,e.tech.isolation){let i=Q(375);a=a+`
${t("plus_max_resource",[i,t("resource_Elerium_name")])}
`,a=a+`
${t("city_wardenclyffe_effect1",[N(2),e.civic.professor.name])}
`,a=a+`
${t("city_wardenclyffe_effect1",[N(1),e.civic.scientist.name])}
`,a=a+`
${t("space_zero_g_lab_effect",[N(1)])}
`,a=a+`
${t("city_library_effect",[75])}
`}return e.tech.alien_crafting&&(a=a+`
${t("production",[65,e.resource.Quantium.name])}
`),e.tech.focus_cure&&(a=a+`
${t("tau_home_disease_lab_cure",[+e.tauceti.infectious_disease_lab.cure.toFixed(1)])}
`,e.race.hasOwnProperty("vax")&&(a=a+`
${t("tau_home_disease_lab_vax",[+e.race.vax.toFixed(2)])}
`)),a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},s_type:"tau_home",support(){return-1},powered(){return de(e.tech.isolation?e.race.lone_survivor?2:8:35)},action(){return u($(this)[0])?(K("infectious_disease_lab","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,cure:0},p:["infectious_disease_lab","tauceti"]}},post(){e.tech.disease===1&&(e.tech.disease=2,I(t("tau_plague4",[t("tab_tauceti")]),"info",!1,["progress"]),ce()),Dt()},postPower(r){Fi("Quantium")}},tauceti_casino:{id:"tauceti-tauceti_casino",title:t("city_casino"),desc:t("city_casino"),category:"commercial",reqs:{gambling:1,isolation:1},cost:{Money(r){return g("tauceti_casino",r,145e4,1.35,"tauceti")},Furs(r){return g("tauceti_casino",r,95e3,1.35,"tauceti")},Cement(r){return g("tauceti_casino",r,12e4,1.35,"tauceti")},Plywood(r){return g("tauceti_casino",r,ca(55e3),1.35,"tauceti")}},effect(){let r=$(this)[0].citizens(),a=e.race.lone_survivor?"":`
${t("plus_max_resource",[r,t("citizen")])}
`;return a=a+As(),a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},powered(){return de(e.race.lone_survivor?1:2)},action(){return u($(this)[0])?(K("tauceti_casino","tauceti"),e.race.joyless||(e.civic.entertainer.max+=N(1),e.civic.entertainer.display=!0),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tauceti_casino","tauceti"]}},citizens(){let r=1;return e.race.high_pop&&(r*=b.high_pop.vars()[0]),e.race.lone_survivor?0:r},flair:t("city_casino_flair")},tau_cultural_center:{id:"tauceti-tau_cultural_center",title:t("tech_cultural_center"),desc(){return`
${t("tech_cultural_center")}
${t("space_electrolysis_req",[e.resource[$(this)[0].p_fuel().r].name])}
`},category:"commercial",reqs:{tau_culture:1},path:["truepath"],cost:{Money(r){return g("tau_cultural_center",r,9145e4,1.35,"tauceti")},Copper(r){return g("tau_cultural_center",r,585e4,1.35,"tauceti")},Coal(r){return g("tau_cultural_center",r,465e3,1.35,"tauceti")},Polymer(r){return g("tau_cultural_center",r,3792e3,1.35,"tauceti")}},effect(){let r=8,a=1;e.civic.govern.type==="corpocracy"?a=2:e.civic.govern.type==="socialist"&&(a=.8);let i=20*a,s=5*a,n=15*a,c=`
${t("tau_home_cultureal_effect1",[$(this)[0].p_fuel().a,e.resource[$(this)[0].p_fuel().r].name,$(this)[0].title])}
`;return c+=`
${t("city_tourist_center_effect2",[i,Ze("casino")])}
`,c+=`
${t("city_tourist_center_effect2",[s,t("arpa_project_monument_title")])}
`,c+=`
${t("tau_home_cultureal_effect2",[r,t("tau_red_womlings")])}
`,e.tech.tau_culture>=2&&(c+=`
${t("tau_home_cultureal_effect3",[n,t(`tau_gas2_alien_station_data2_r${e.race.tau_food_item||0}`)])}
`),c+=`
${t("minus_power",[$(this)[0].powered()])}
`,c},powered(){return de(1)},p_fuel(){return{r:"Food",a:e.race.lone_survivor?25:500}},action(){return u($(this)[0])?(K("tau_cultural_center","tauceti"),e.tauceti.tau_cultural_center.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["tau_cultural_center","tauceti"]}}}},tau_red:{info:{name(){return t("tau_planet",[Y().red])},desc(){return t("tau_red",[Y().red])},support:"orbital_platform",extra(r){e.tech.tau_red&&e.tech.tau_red>=5&&($(`#${r}`).append(`
${t("tau_red_womling_prod")} {{ prod }}%
`),H({el:`#${r}Womlings`,data:e.tauceti.overseer}))}},red_mission:{id:"tauceti-red_mission",title(){return t("tau_new_mission_title",[Y().red])},desc(){return t("tau_new_mission_title",[Y().red])},reqs:{tauceti:2},grant:["tau_red",1],path:["truepath"],queue_complete(){return e.tech.tau_red>=1?0:1},cost:{Money(){return 1e9}},effect(){return t("tau_new_mission_effect",[Y().red])},action(){return u($(this)[0])?(e.tauceti.settlement={count:0,on:0},I(t("tau_red_mission_result",[Y().red]),"info",!1,["progress"]),!0):!1}},orbital_platform:{id:"tauceti-orbital_platform",title:t("tau_red_orbital_platform"),desc:`
${t("tau_red_orbital_platform")}
${t("requires_power")}
`,reqs:{tau_red:1,tauceti:4},path:["truepath"],cost:{Money(r){return g("orbital_platform",r,5e7,1.3,"tauceti")},Oil(r){return Or()?g("orbital_platform",r,Fe(Tu(275e3)),1.3,"tauceti"):0},Aluminium(r){return g("orbital_platform",r,178e4,1.3,"tauceti")},Bolognium(r){return g("orbital_platform",r,45e4,1.3,"tauceti")}},effect(){let r=Q(17500),a=+Fe($(this)[0].support_fuel().a).toFixed(1),i=`
${t("space_red_spaceport_effect1",[t("tau_planet",[Y().red]),$(this)[0].support()])}
`;return i=i+`
${t("plus_max_resource",[r.toLocaleString(),e.resource.Oil.name])}
`,i=i+`
${t("spend_power",[a,e.resource[$(this)[0].support_fuel().r].name,$(this)[0].powered()])}
`,i},support_fuel(){return{r:e.race.lone_survivor?"Helium_3":"Oil",a:e.tech.isolation?e.race.lone_survivor?8:32:125}},support(){let r=e.tech.womling_logistics?2.5:2;return e.race.lone_survivor&&(r*=2),r},powered(){return de(e.tech.isolation?e.race.lone_survivor?2:3:18)},refresh:!0,action(){return Or()&&u($(this)[0])?(K("orbital_platform","tauceti"),re($(this)[0]),e.tech.tau_red===1&&(e.tech.tau_red=2,I(t("tau_red_orbital_platform_msg",[t("tau_planet",[Y().red]),t("tau_planet",[E[e.race.species].home])]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["orbital_platform","tauceti"]}}},contact:{id:"tauceti-contact",title(){return t("tau_red_contact")},desc(){return t("tau_red_contact")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Money(){return 6e8},Food(){return e.race.lone_survivor&&e.race.artifical?62e3:25e5}},effect(){return t("tau_red_contact_effect")},action(){return u($(this)[0])?(e.race.womling_friend=1,lc(),!0):!1}},introduce:{id:"tauceti-introduce",title(){return t("tau_red_introduce")},desc(){return t("tau_red_introduce")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Knowledge(){return 7e6}},effect(){return t("tau_red_introduce_effect")},action(){return u($(this)[0])?(e.race.womling_god=1,lc(),!0):!1}},subjugate:{id:"tauceti-subjugate",title(){return t("tau_red_subjugate")},desc(){return t("tau_red_subjugate")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Money(){return 285e7}},effect(){return t("tau_red_subjugate_effect")},action(){return u($(this)[0])?(e.race.womling_lord=1,lc(),!0):!1}},jeff:{id:"tauceti-jeff",title(){return t("tau_red_jeff")},desc(){return t("tau_red_jeff")},reqs:{tau_red:5},path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{},effect(){let r=e.tauceti.overseer?e.tauceti.overseer.injured:0;e.tauceti.overseer&&e.tauceti.overseer.pop${t("tau_red_jeff_effect1",[e.tauceti.overseer?e.tauceti.overseer.pop:0])}`;return a=a+`
${t("tau_red_jeff_effect2",[e.tauceti.overseer?e.tauceti.overseer.working:0])}
`,a=a+`
${t("tau_red_jeff_effect3",[r])}
`,a=a+`
${t("tau_red_jeff_effect4",[e.tauceti.overseer?e.tauceti.overseer.loyal:0])}
`,a=a+`
${t("tau_red_jeff_effect5",[e.tauceti.overseer?e.tauceti.overseer.morale:0])}
`,e.tech.hasOwnProperty("womling_tech")&&(a=a+`
${t("tau_red_jeff_effect6",[e.tech.womling_tech])}
`),a=a+`
${t("job_farmer")}: ${e.tauceti.womling_farm?e.tauceti.womling_farm.farmers:0}
`,a=a+`
${t("job_miner")}: ${e.tauceti.womling_mine?e.tauceti.womling_mine.miners:0}
`,e.tauceti.womling_lab&&(a=a+`
${t("job_scientist")}: ${e.tauceti.womling_lab?e.tauceti.womling_lab.scientist:0}
`),a},action(){return!1}},overseer:{id:"tauceti-overseer",title(){return $(this)[0].name()},desc(){return`
${$(this)[0].name()}
${t("space_support",[Y().red])}
`},name(){return e.race.womling_lord?t("tau_red_overseer"):e.race.womling_god?t("tau_red_womgod"):t("tau_red_womally")},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return g("overseer",r,6e6,1.28,"tauceti")},Cement(r){return g("overseer",r,245e4,1.28,"tauceti")},Alloy(r){return e.race.womling_friend?g("overseer",r,185e4,1.28,"tauceti"):0},Neutronium(r){return e.race.womling_lord?g("overseer",r,165e3,1.28,"tauceti"):0},Titanium(r){return e.race.womling_god?g("overseer",r,225e4,1.28,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return r=r+`
${t("tau_red_overseer_effect",[$(this)[0].val()])}
`,r},val(){let r=0;return e.race.womling_lord?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?12:10:e.race.womling_god?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?6:5:e.race.womling_friend&&(r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?10:8),e.race.lone_survivor&&(r*=2),r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("overseer","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,pop:0,working:0,injured:0,morale:0,loyal:0,prod:0},p:["overseer","tauceti"]}}},womling_village:{id:"tauceti-womling_village",title:t("tau_red_womling_village"),desc(){return`
${t("tau_red_womling_village")}
${t("space_support",[Y().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return g("womling_village",r,1e7,1.28,"tauceti")},Stone(r){return g("womling_village",r,225e4,1.28,"tauceti")},Plywood(r){return g("womling_village",r,ca(125e4),1.28,"tauceti")},Wrought_Iron(r){return g("womling_village",r,ca(4e5),1.28,"tauceti")}},effect(){let r=e.tech.womling_pop&&e.tech.womling_pop>=2?6:5,a=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return a=a+`
${t("tau_red_womling_village_effect",[r])}
`,e.tech.tau_junksale&&(a=a+`
${t("tau_red_womling_village_effect2",[40,t(`tau_gas2_alien_station_data4_r${e.race.tau_junk_item||0}`)])}
`),a},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("womling_village","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:1,on:1},p:["womling_village","tauceti"]}}},womling_farm:{id:"tauceti-womling_farm",title:t("tau_red_womling_farm"),desc(){return`
${t("tau_red_womling_farm")}
${t("space_support",[Y().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return g("womling_farm",r,24e6,1.28,"tauceti")},Iron(r){return g("womling_farm",r,95e5,1.28,"tauceti")},Water(r){return g("womling_farm",r,5e3,1.28,"tauceti")}},effect(){let r=e.tech.womling_pop?16:12;e.tech.womling_gene&&(r+=4);let a=e.tauceti.hasOwnProperty("womling_farm")?e.tauceti.womling_farm.farmers:0,i=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return i=i+`
${t("tau_red_womling_farm_effect",[r])}
`,i=i+`
${t("tau_red_womling_employ",[2])}
`,e.tech.isolation&&(i=i+`
${t("tau_red_womling_generate",[e.resource.Furs.name])}
`),i=i+`
${t("tau_red_womling_farm_effect2",[r/2*a])}
`,i},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("womling_farm","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:1,on:1,farmers:0},p:["womling_farm","tauceti"]}}},womling_mine:{id:"tauceti-womling_mine",title:t("tau_red_womling_mine"),desc(){return`
${t("tau_red_womling_mine")}
${t("space_support",[Y().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return g("womling_mine",r,125e5,1.28,"tauceti")},Lumber(r){return g("womling_mine",r,128e5,1.28,"tauceti")},Steel(r){return g("womling_mine",r,45e5,1.28,"tauceti")}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return e.tech.isolation?e.race.lone_survivor?r=r+`
${t("tau_red_womling_mine_effect_c",[e.resource.Unobtainium.name,e.resource.Uranium.name,e.resource.Titanium.name,e.resource.Iron.name,e.resource.Copper.name,e.resource.Aluminium.name,e.resource.Neutronium.name,e.resource.Iridium.name])}
`:r=r+`
${t("tau_red_womling_mine_effect_b",[e.resource.Unobtainium.name,e.resource.Uranium.name,e.resource.Titanium.name])}
`:r=r+`
${t("tau_red_womling_mine_effect_a",[e.resource.Unobtainium.name])}
`,r=r+`
${t("tau_red_womling_employ",[6])}
`,r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("womling_mine","tauceti"),e.resource.Unobtainium.display=!0,re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,miners:0},p:["womling_mine","tauceti"]}},flair(){return t("tau_red_womling_mine_flair")}},womling_fun:{id:"tauceti-womling_fun",title(){return $(this)[0].name()},desc(){return`
${$(this)[0].name()}
${t("space_support",[Y().red])}
`},name(){return e.race.womling_lord?t("tau_red_womling_fun1"):e.race.womling_god?t("tau_red_womling_fun2"):t("tau_red_womling_fun3")},reqs:{tau_red:6},path:["truepath"],cost:{Money(r){return g("womling_fun",r,38e5,1.28,"tauceti")},Food(r){return e.race.womling_friend?g("womling_fun",r,175e3,1.28,"tauceti"):0},Lumber(r){return g("womling_fun",r,5e5,1.28,"tauceti")},Stone(r){return g("womling_fun",r,5e5,1.28,"tauceti")},Furs(r){return e.race.womling_lord||e.race.womling_god?g("womling_fun",r,835e3,1.28,"tauceti"):0},Copper(r){return e.race.womling_lord?g("womling_fun",r,1125e3,1.28,"tauceti"):0},Alloy(r){return e.race.womling_god?g("womling_fun",r,656e3,1.28,"tauceti"):0},Water(r){return e.race.womling_friend?g("womling_fun",r,3500,1.28,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return r=r+`
${t("tau_red_womling_fun_effect",[$(this)[0].val()])}
`,r},val(){let r=0;return e.race.womling_lord?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?24:20:e.race.womling_god?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?12:10:e.race.womling_friend&&(r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?18:15),e.race.lone_survivor&&(r*=2),r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("womling_fun","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["womling_fun","tauceti"]}}},womling_lab:{id:"tauceti-womling_lab",title:t("interstellar_laboratory_title"),desc(){return`
${t("interstellar_laboratory_title")}
${t("space_support",[Y().red])}
`},reqs:{tau_red:7},path:["truepath"],cost:{Money(r){return g("womling_lab",r,65e6,1.28,"tauceti")},Elerium(r){return g("womling_lab",r,1200,1.28,"tauceti")},Orichalcum(r){return g("womling_lab",r,25e5,1.28,"tauceti")},Unobtainium(r){return g("womling_lab",r,1e4,1.28,"tauceti")},Quantium(r){return g("womling_lab",r,ca(95e3),1.28,"tauceti")}},effect(){let r=e.tauceti.hasOwnProperty("overseer")?e.tauceti.overseer.prod:100,a=Math.round(25e3*r/100),i=`
${t("tau_new_support",[$(this)[0].support(),Y().red])}
`;return i=i+`
${t("tau_red_womling_lab_effect",[a])}
`,i=i+`
${t("tau_red_womling_employ_single",[1])}
`,i},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("womling_lab","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,scientist:0,tech:0},p:["womling_lab","tauceti"]}}}},tau_gas:{info:{name(r,a){let i=a||"gas_name",s=i==="gas_name"?0:1;if(r||e.race[i])switch(r||e.race[i]){case 1:{let n=e.race.universe==="antimatter"?"plasmid":"antiplasmid";switch(Math.round(e.stats[n]+s)%3){case 1:return t("tau_planet",[Y().gas]);case 2:return t("tau_gas_title0a",[Y().gas]);default:return t("tau_gas_title0b",[Y().gas])}}case 2:switch(Math.round(e.stats.reset+s)%3){case 1:return t("tau_gas_title1a");case 2:return t("tau_gas_title1b");default:return t("tau_gas_title1c")}case 3:switch(Math.round(e.stats.mad+s)%3){case 1:return t("tau_gas_title2a");case 2:return t("tau_gas_title2b");default:return t("tau_gas_title2c")}case 4:switch(Math.round(e.stats.bioseed+s)%3){case 1:return t("tau_gas_title3a",[E[e.race.gods].solar.gas]);case 2:return t("tau_gas_title3b",[E[e.race.old_gods].name]);default:return t("tau_gas_title3c",[E[e.race.species].name])}case 5:switch(Math.round(e.stats.portals+s)%3){case 1:return t("tau_gas_title4a",[Y().gas]);case 2:return t("tau_gas_title4b",[ct("reverse",Y().gas)]);default:return t("tau_gas_title4c")}case 6:switch(Math.round(e.stats.womling.friend.l+e.stats.womling.lord.l+e.stats.womling.god.l+s)%3){case 1:return t("tau_gas_title5a");case 2:return t("tau_gas_title5b");default:return t("tau_gas_title5c")}case 7:switch(Math.round(e.stats.tdays+s)%3){case 1:return t("tau_gas_title6a");case 2:return t("tau_gas_title6b");default:return t("tau_gas_title6c")}default:return i==="gas_name"?t("tau_gas_title"):t("tau_gas2_title")}return i==="gas_name"?t("tau_gas_title"):t("tau_gas2_title")},desc(){return t("tau_gas_desc")}},gas_contest:{id:"tauceti-gas_contest",title(){return t("tau_gas_contest_title")},desc(){return t("tau_gas_contest_title")},reqs:{tauceti:5},grant:["tau_gas",1],path:["truepath"],queue_complete(){return e.tech.tau_gas>=1?0:1},cost:{Money(){return 1e7}},effect(){return e.race.lone_survivor?t("tau_gas_contest_effect_alt"):t("tau_gas_contest_effect")},action(){return!!u($(this)[0])}},refueling_station:{id:"tauceti-refueling_station",title(){return t("tau_gas_refueling_station_title")},desc(){return`
${t("tau_gas_refueling_station_title")}
${t("requires_power")}
`},reqs:{tau_gas:2},path:["truepath"],cost:{Money(r){return g("refueling_station",r,68e6,1.28,"tauceti")},Graphene(r){return g("refueling_station",r,25e5,1.28,"tauceti")},Unobtainium(r){return g("refueling_station",r,5500,1.28,"tauceti")},Mythril(r){return g("refueling_station",r,ca(6e4),1.28,"tauceti")}},powered(){return de(e.tech.isolation?2:5)},effect(){let r=+D("refueling_station").toFixed(2),a=Q(1e4),i=`
${t("space_gas_mining_effect1",[r])}
`;if(i=i+`
${t("plus_max_resource",[a.toLocaleString(),e.resource.Helium_3.name])}
`,e.tech.tau_whale>=2){let s=Q(6500);i=i+`
${t("plus_max_resource",[s.toLocaleString(),e.resource.Oil.name])}
`}return e.tech.isolation&&(i=i+`
${t("interstellar_g_factory_effect")}
`),i=i+`
${t("minus_power",[$(this)[0].powered()])}
`,i},special(){return!!e.tech.isolation},action(){return u($(this)[0])?(K("refueling_station","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["refueling_station","tauceti"]}},post(){e.tech.tau_gas===2&&(e.tech.tau_gas=3,ce())}},ore_refinery:{id:"tauceti-ore_refinery",title(){return t("tau_gas_ore_refinery_title")},desc(){return`
${t("tau_gas_ore_refinery_title")}
${t("requires_power")}
`},reqs:{tau_gas:4},path:["truepath"],cost:{Money(r){return g("ore_refinery",r,52e6,1.28,"tauceti")},Iridium(r){return g("ore_refinery",r,16e5,1.28,"tauceti")},Unobtainium(r){return g("ore_refinery",r,800,1.28,"tauceti")},Sheet_Metal(r){return g("ore_refinery",r,ca(118e3),1.28,"tauceti")}},powered(){return de(e.tech.isolation?2:8)},smelting(){return e.tech.isolation?12:4},effect(){let r=e.tauceti.hasOwnProperty("ore_refinery")?e.tauceti.ore_refinery.fill:0,a=e.tauceti.hasOwnProperty("ore_refinery")?e.tauceti.ore_refinery.max:0,i=+D("ore_refinery").toFixed(2),s=`
${t("tau_gas_ore_refinery_effect",[+r.toFixed(2)])}
`;return s=s+`
${t("tau_gas_ore_refinery_effect2",[a])}
`,s=s+`
${t("tau_gas_ore_refinery_effect3",[i])}
`,s=s+`
${t("interstellar_stellar_forge_effect3",[$(this)[0].smelting()])}
`,s=s+`
${t("minus_power",[$(this)[0].powered()])}
`,s},special:!0,action(){if(u($(this)[0])){if(K("ore_refinery","tauceti"),re($(this)[0])){let r=$(this)[0].smelting();e.city.smelter.cap+=r,e.city.smelter.Steel+=r,e.race.evil?e.city.smelter.Wood+=r:e.city.smelter.Oil+=r}return!0}return!1},struct(){return{d:{count:0,on:0,max:0,fill:0},p:["ore_refinery","tauceti"]}},post(){e.tech.tau_roid===3&&(e.tech.tau_roid=4,Dr(),ce())}},whaling_station:{id:"tauceti-whaling_station",title(){return t("tau_gas_whaling_station_title")},desc(){return`
${t("tau_gas_whaling_station_title")}
${t("requires_power")}
`},reqs:{tau_whale:1},path:["truepath"],cost:{Money(r){return g("whaling_station",r,72e6,1.28,"tauceti")},Steel(r){return g("whaling_station",r,18e5,1.28,"tauceti")},Polymer(r){return g("whaling_station",r,955e3,1.28,"tauceti")},Orichalcum(r){return g("whaling_station",r,268e3,1.28,"tauceti")}},powered(){return de(e.tech.isolation?2:6)},effect(){let r=e.tauceti.hasOwnProperty("whaling_station")?e.tauceti.whaling_station.fill:0,a=e.tauceti.hasOwnProperty("whaling_station")?e.tauceti.whaling_station.max:0,i=+D("whaling_station").toFixed(2),s=`
${t("tau_gas_whaling_station_effect",[+r.toFixed(2)])}
`;return s=s+`
${t("tau_gas_whaling_station_effect2",[a])}
`,s=s+`
${t("tau_gas_whaling_station_effect3",[i])}
`,s=s+`
${t("minus_power",[$(this)[0].powered()])}
`,s},action(){return u($(this)[0])?(K("whaling_station","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,max:0,fill:0},p:["whaling_station","tauceti"]}},post(){e.tech.tau_whale===1&&(e.tech.tau_whale=2,Dr())}},womling_station:{id:"tauceti-womling_station",title(){return t("tau_gas_womling_station_title")},desc(){return`
${t("tau_gas_womling_station_desc")}
${t("requires_power")}
`},reqs:{womling_technicians:1},path:["truepath"],cost:{Money(r){return g("womling_station",r,1334e5,1.26,"tauceti")},Furs(r){return g("womling_station",r,3805e3,1.26,"tauceti")},Aluminium(r){return g("womling_station",r,85e5,1.26,"tauceti")},Nano_Tube(r){return g("womling_station",r,909e3,1.26,"tauceti")}},powered(){return de(e.tech.isolation?3:6)},effect(){let r=e.tech.isolation?30:8;e.tech.womling_gene&&(r*=1.25);let a=`
${t("production",[r,He.tau_gas.info.name()])}
`;return e.race.flier||(a=a+`
${t("plus_max_resource",[N(1),t("job_cement_worker")])}
`),a=a+`
${t("space_red_fabrication_effect1",[N(1)])}
`,a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},action(){return u($(this)[0])?(e.civic.craftsman.display=!0,K("womling_station","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["womling_station","tauceti"]}}}},tau_roid:{info:{name(){return t("tau_roid_title")},desc(){return t("tau_roid_desc")},support:"patrol_ship"},roid_mission:{id:"tauceti-roid_mission",title(){return t("space_mission_title",[t("tau_roid_title")])},desc(){return t("space_mission_desc",[t("tau_roid_title")])},reqs:{tauceti:5},grant:["tau_roid",1],path:["truepath"],queue_complete(){return e.tech.tau_roid>=1?0:1},cost:{Helium_3(r,a){return+Fe(125e4,!1,a).toFixed(0)}},effect(){return t("tau_roid_mission_effect",[t("tau_roid_title")])},action(){return u($(this)[0])?(I(t("tau_roid_mission_result"),"info",!1,["progress"]),!0):!1}},patrol_ship:{id:"tauceti-patrol_ship",title:t("tau_roid_patrol_ship"),desc(){return`
${t("tau_roid_patrol_ship")}
${t("requires_res",[e.resource.Helium_3.name])}
`},reqs:{tau_roid:3},path:["truepath"],cost:{Money(r){return g("patrol_ship",r,45e6,1.25,"tauceti")},Adamantite(r){return g("patrol_ship",r,18e5,1.25,"tauceti")},Elerium(r){return g("patrol_ship",r,520,1.25,"tauceti")},Stanene(r){return g("patrol_ship",r,2675e3,1.25,"tauceti")},Bolognium(r){return g("patrol_ship",r,115e4,1.25,"tauceti")}},effect(){let r=+Fe($(this)[0].support_fuel().a).toFixed(1),a=`
${t("tau_roid_patrol_ship_security",[$(this)[0].support()])}
`;return a=a+`
${t("tau_roid_patrol_ship_effect")}
`,a=a+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,a},support_fuel(){return{r:"Helium_3",a:e.tech.isolation?15:250}},support(){return 1},powered(){return 0},refresh:!0,action(){return u($(this)[0])?(K("patrol_ship","tauceti"),e.tauceti.patrol_ship.on++,!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["patrol_ship","tauceti"]}}},mining_ship:{id:"tauceti-mining_ship",title:t("tau_roid_mining_ship"),desc(){return`
${t("tau_roid_mining_ship")}
`},reqs:{tau_roid:4},path:["truepath"],cost:{Money(r){return g("mining_ship",r,28e6,1.28,"tauceti")},Uranium(r){return g("mining_ship",r,12500,1.28,"tauceti")},Titanium(r){return g("mining_ship",r,22e5,1.28,"tauceti")},Alloy(r){return g("mining_ship",r,175e4,1.28,"tauceti")}},effect(){let r=+Fe($(this)[0].support_fuel().a).toFixed(1),a=+D("mining_ship").toFixed(2),i=`
${t("tau_roid_mining_ship_effect",[a])}
`;return i=i+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,i},s_type:"tau_roid",support_fuel(){return{r:"Helium_3",a:e.tech.isolation?12:75}},support(){return-1},powered(){return 0},special:!0,action(){return u($(this)[0])?(K("mining_ship","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,common:50,uncommon:50,rare:50},p:["mining_ship","tauceti"]}}},whaling_ship:{id:"tauceti-whaling_ship",title:t("tau_roid_whaling_ship"),desc(){return`
${t("tau_roid_whaling_ship")}
`},reqs:{tau_whale:2},path:["truepath"],cost:{Money(r){return g("whaling_ship",r,35e6,1.28,"tauceti")},Aluminium(r){return g("whaling_ship",r,34e5,1.28,"tauceti")},Neutronium(r){return g("whaling_ship",r,168e3,1.28,"tauceti")},Nano_Tube(r){return g("whaling_ship",r,8e5,1.28,"tauceti")}},effect(){let r=+Fe($(this)[0].support_fuel().a).toFixed(1),a=+D("whaling_ship").toFixed(2),i=`
${t("tau_roid_whaling_ship_effect",[a])}
`;return i=i+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,i},s_type:"tau_roid",support_fuel(){return{r:"Helium_3",a:e.tech.isolation?14:90}},support(){return-1},powered(){return 0},action(){return u($(this)[0])?(K("whaling_ship","tauceti"),re($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["whaling_ship","tauceti"]}}}},tau_gas2:{info:{name(r){return He.tau_gas.info.name(r||e.race.gas_name2||!1,"gas_name2")},desc(){return t("tau_gas2_desc",[He.tau_gas.info.name()])}},gas_contest2:{id:"tauceti-gas_contest2",title(){return t("tau_gas2_contest_title")},desc(){return t("tau_gas2_contest_title")},reqs:{tau_gas2:1},grant:["tau_gas2",2],path:["truepath"],queue_complete(){return e.tech.tau_gas2>=1?0:1},cost:{Money(){return 25e6}},effect(){return t("tau_gas2_contest_effect")},action(){return!!u($(this)[0])},flair(){return t("tau_gas2_contest_flair")}},alien_station_survey:{id:"tauceti-alien_station_survey",title:t("tau_gas2_alien_station"),desc:t("tau_gas2_alien_station"),reqs:{tau_gas2:3},grant:["tau_gas2",4],path:["truepath"],queue_complete(){return e.tech.tau_gas3>=4?0:1},cost:{Money(){return e.race.lone_survivor?15e8:3e9},Helium_3(){return 5e6}},effect(){return t("tau_gas2_alien_station_repair_effect",[He.tau_gas2.info.name()])},action(){return u($(this)[0])?(P(He.tau_gas2.alien_station),I(t("tau_gas2_alien_station_msg",[He.tau_gas2.info.name()]),"info",!1,["progress"]),!0):!1}},alien_station:{id:"tauceti-alien_station",title:t("tau_gas2_alien_station"),desc(r){return!e.tauceti.hasOwnProperty("alien_station")||e.tauceti.alien_station.count<100||r?`
${t("tau_gas2_alien_station")}
`+(e.tauceti.hasOwnProperty("alien_station")&&e.tauceti.alien_station.count>=100?`
${t("space_dwarf_reactor_desc_req")}
`:`
${t("tau_gas2_alien_station_repair")}
`):`
${t("tau_gas2_alien_station")}
`},reqs:{tau_gas2:4},condition(){return e.tauceti.alien_station.count<100},path:["truepath"],queue_size:5,queue_complete(){return 100-e.tauceti.alien_station.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?12e6:5e7:0},Aluminium(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?256e3:256e4:0},Polymer(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?198900:989e3:0},Mythril(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?ca(125e3):0},Cipher(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?256:2001:0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0);return i<100?(a+=`
${t("tau_gas2_alien_station_repaired",[i])}
`,a):He.tau_gas2.alien_space_station.effect(r)},action(){return u($(this)[0])&&e.tauceti.alien_station.count<100?(K("alien_station","tauceti"),e.tauceti.alien_station.count>=100&&(e.tech.tau_gas2=5,e.tauceti.alien_space_station={count:1,on:0}),!0):!1},struct(){return{d:{count:0},p:["alien_station","tauceti"]}},post(){e.resource.Elerium.diff>=10&&(e.tauceti.alien_space_station.on=1),Dr()}},alien_space_station:{id:"tauceti-alien_space_station",title:t("tau_gas2_alien_station"),desc(){return`
${t("tau_gas2_alien_station")}
${t("space_dwarf_reactor_desc_req")}
`},reqs:{tau_gas2:5},path:["truepath"],cost:{},queue_complete(){return 0},special(){return!!(e.tech.tau_gas2&&e.tech.tau_gas2===6&&(!e.tech.alien_data||e.tech.alien_data<6))},wiki:!1,effect(){let r=$(this)[0].p_fuel().a,a=`
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}
`;if(e.tech.tau_gas2&&e.tech.tau_gas2>=6&&e.tauceti.alien_space_station.hasOwnProperty("decrypted")){let i=e.race.lone_survivor?1e5:25e6,s=+(e.tauceti.alien_space_station.decrypted/i).toFixed(2);s>100&&(s=100),a=a+`
${t("tau_gas2_alien_station_effect",[s])}
`}return a=a+`
${t("spend",[r,e.resource[$(this)[0].p_fuel().r].name])}
`,a},p_fuel(){return{r:"Elerium",a:e.race.lone_survivor?1:10}},powered(){return et(-75)},action(){return!1}},matrioshka_brain:{id:"tauceti-matrioshka_brain",title:t("tech_matrioshka_brain"),desc(r){return!e.tauceti.hasOwnProperty("matrioshka_brain")||e.tauceti.matrioshka_brain.count<1e3||r?`
${t("tech_matrioshka_brain")}
${t("requires_segments",[1e3])}
`:`
${t("tech_matrioshka_brain")}
`},reqs:{tau_gas2:7},condition(){return!!e.tauceti.matrioshka_brain},path:["truepath"],queue_size:50,queue_complete(){return 1e3-e.tauceti.matrioshka_brain.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?2e7:0},Neutronium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?45e3:0},Nano_Tube(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?16e4:0},Adamantite(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?666e3:0},Stanene(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?61600:0},Bolognium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?44e3:0},Unobtainium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?1200:0},Mythril(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?ca(64e3):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0);return i<1e3&&(a+=`
${t("tau_gas2_matrioshka_brain_seg",[1e3-i])}
`),a},action(){return u($(this)[0])&&e.tauceti.matrioshka_brain.count<1e3?(K("matrioshka_brain","tauceti"),e.tauceti.matrioshka_brain.count>=1e3&&(e.tech.m_brain=1),!0):!1},struct(){return{d:{count:0},p:["matrioshka_brain","tauceti"]}}},ignition_device:{id:"tauceti-ignition_device",title:t("tech_ignition_device"),desc(r){return!e.tauceti.hasOwnProperty("ignition_device")||e.tauceti.ignition_device.count<10||r?`
${t("tech_ignition_device")}
${t("requires_segments",[10])}
`:`
${t("tech_ignition_device")}
`},reqs:{tau_gas2:8},condition(){return!!(e.tauceti.ignition_device&&e.tauceti.ignition_device.count<10)},path:["truepath"],queue_size:1,queue_complete(){return 10-e.tauceti.ignition_device.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?25e7:0},Uranium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?5e4:0},Elerium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?25e3:0},Graphene(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?225e5:0},Orichalcum(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?15e6:0},Quantium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?ca(8e6):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0);return i<10&&(a+=`
${t("tau_gas2_ignition_device_seg",[10-i])}
`),a},action(){return u($(this)[0])&&e.tauceti.ignition_device.count<10?(K("ignition_device","tauceti"),e.tauceti.ignition_device.count>=10&&(e.tech.m_ignite=1),!0):!1},struct(){return{d:{count:0},p:["ignition_device","tauceti"]}}},ignite_gas_giant:{id:"tauceti-ignite_gas_giant",title(){return t("tau_gas2_ignite_gas_giant",[He.tau_gas2.info.name()])},desc(){return t("tau_gas2_ignite_gas_giant",[He.tau_gas2.info.name()])},reqs:{tau_gas2:8,m_ignite:1},grant:["m_ignite",2],queue_size:1,queue_complete(){return!1},path:["truepath"],cost:{Helium_3(){return 75e5}},effect(){let r=`
${t("tau_gas2_ignite_gas_giant_effect",[t("tech_matrioshka_brain")])}
`;return e.tech.m_brain?(r=r+`
${t("tau_gas2_ignite_gas_giant_effect3")}
`,r+=Fu()):r=r+`
${t("tau_gas2_ignite_gas_giant_effect2",[t("tech_matrioshka_brain")])}
`,r},action(){return e.tech.m_brain&&u($(this)[0])?(zo(),!0):!1}}}};for(let r=1;r<9;r++)He.tau_gas[`gas_contest-a${r}`]={id:`tauceti-gas_contest-a${r}`,title(){return He.tau_gas.info.name(r)},desc(){return He.tau_gas.info.name(r)},reqs:{tau_gas:1},grant:["tau_gas",2],path:["truepath"],wiki:!1,queue_complete(){return e.tech.tau_gas>=2?0:1},cost:{},effect(){return t(r===8?"tau_gas_contest_reject":"tau_gas_contest_pick",[He.tau_gas.info.name(r)])},action(){return u($(this)[0])?(e.race.gas_name=r,P(He.tauceti.tau_gas.refueling_station),!0):!1}},He.tau_gas2[`gas_contest-b${r}`]={id:`tauceti-gas_contest-b${r}`,title(){return He.tau_gas2.info.name(r)},desc(){return He.tau_gas2.info.name(r)},reqs:{tau_gas2:2},grant:["tau_gas2",3],path:["truepath"],wiki:!1,queue_complete(){return e.tech.tau_gas2>=3?0:1},cost:{},effect(){return t(r===8?"tau_gas2_contest_reject":"tau_gas_contest_pick",[He.tau_gas2.info.name(r)])},action(){return u($(this)[0])?(e.race.gas_name2=r,!0):!1}};function Eo(){let r=it("matrix"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name"),i=e.stats.retire===e.stats.matrix+1?`
${t("tau_star_matrix_skilled",[1])}
`:"";return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
${i}`}function Fu(){let r=it("retired"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name"),i=e.stats.retire+1===e.stats.matrix?`
${t("tau_star_matrix_skilled",[1])}
`:"";return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
${i}`}function zu(){let r=it("eden"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
`}function lc(){P(He.tau_red.overseer),P(He.tau_red.womling_village),P(He.tau_red.womling_mine),P(He.tau_red.womling_fun),P(He.tau_red.womling_farm),e.race.lone_survivor&&(e.tauceti.womling_village.count=2,e.tauceti.womling_village.on=2,e.tauceti.womling_mine.count=1,e.tauceti.womling_mine.on=1)}function Tu(r){return e.tech.womling_tech&&e.tech.womling_logistics&&e.tech.womling_logistics>=2&&(r*=.94**e.tech.womling_tech),r}function ca(r){return e.tech.womling_tech&&e.tech.womling_recycling&&e.tech.womling_recycling>=1&&(r*=(e.tech.isolation?.97:.98)**e.tech.womling_tech),r}function rs(){return es}function Lo(){return He}function Or(){return!!(e.tech.tauceti&&e.tech.tauceti>=4)}function Ko(r,a,i){switch(r){case"tauceti":return Ar(He,a,i)}}function Dr(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==6))return;let r=$("#tauceti");ne(r),r.append($(`

${t("tab_tauceti")}

`)),!(!e.tech.tauceti||e.tech.tauceti<2)&&Object.keys(He).forEach(function(a){let i=a.replace("tau_","");if(e.settings.tau[`${i}`]){let s=typeof He[a].info.name=="string"?He[a].info.name:He[a].info.name(),n="";if(He[a].info.hasOwnProperty("prop")&&(n=He[a].info.prop()),He[a].info.support){let c=He[a].info.support;He[a].info.hide_support?r.append(`

${s}

${n}
`):r.append(`

${s}

{{ support }}/{{ s_max }}${n}
`),H({el:`#sr${a}`,data:e.tauceti[c],filters:{filter(){return He[a].info.filter(...arguments)}}})}else r.append(`

${s}

${n}
`);_e(a,function(){return typeof He[a].info.desc=="string"?He[a].info.desc:He[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),Object.keys(He[a]).forEach(function(c){if(c!=="info"&&Ar(He,a,c)){let l=He[a][c];Br(l,"tauceti",c)}}),He[a].info.hasOwnProperty("extra")&&He[a].info.extra(a)}})}function _c(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==2||e.settings.govTabs!==5))&&(hc(),as(),ne($("#dwarfShipYard")),e.space.hasOwnProperty("shipyard")&&e.settings.showShipYard)){let r=$("#dwarfShipYard");e.space.shipyard.hasOwnProperty("blueprint")||(e.space.shipyard.blueprint={class:"corvette",armor:"steel",weapon:"railgun",engine:"ion",power:"diesel",sensor:"radar",name:ln()});let a=$('
');r.append(a);let i=$('
');a.append(i),i.append(`
${t("outer_shipyard_registry")}:
`),i.append(`
${t("crew")}
`),i.append(`
${t("power")}
`),i.append(`
${t("firepower")}
`),i.append(`
${t("outer_shipyard_sensors")}
`),i.append(`
${t("speed")}
`),i.append(`
${t("outer_shipyard_fuel")}
`),a.append('
');let s=$('
');a.append(s);let n={class:["corvette","frigate","destroyer","cruiser","battlecruiser","dreadnought","explorer"],power:["solar","diesel","fission","fusion","elerium"],weapon:["railgun","laser","p_laser","plasma","phaser","disruptor"],armor:["steel","alloy","neutronium"],engine:["ion","tie","pulse","photon","vacuum","emdrive"],sensor:["visual","radar","lidar","quantum"]};Object.keys(n).forEach(function(o){let d="";n[o].forEach(function(y,p){d+=`${t(`outer_shipyard_${o}_${y}`)}`}),s.append(` ${d} diff --git a/src/truepath.js b/src/truepath.js index a82eafd8d0..d35704a220 100644 --- a/src/truepath.js +++ b/src/truepath.js @@ -3952,6 +3952,7 @@ function defineWomlings(){ initStruct(tauCetiModules.tau_red.womling_village); initStruct(tauCetiModules.tau_red.womling_mine); initStruct(tauCetiModules.tau_red.womling_fun); + initStruct(tauCetiModules.tau_red.womling_farm); if (global.race['lone_survivor']){ global.tauceti.womling_village.count = 2; global.tauceti.womling_village.on = 2; diff --git a/wiki/wiki.js b/wiki/wiki.js index 5fbd825d0c..bf981d2d35 100644 --- a/wiki/wiki.js +++ b/wiki/wiki.js @@ -1,4 +1,4 @@ -(()=>{var pe=window.localStorage,e={seed:1,warseed:1,resource:{},evolution:{},tech:{},city:{},space:{},interstellar:{},portal:{},eden:{},tauceti:{},civic:{},race:{},genes:{},blood:{},stats:{start:Date.now(),days:0,tdays:0},event:{t:200,l:!1},m_event:{t:499,l:!1}},Se={},Te={c:{},p:{}},Ea={},H={},be={},kn={},Mr={},ps={},zi=0,Nl=0,Rl=0,hs={t:0};function $n(r){Nl=r}function xn(r){Rl=r}var Xt={},Ia={},La={view:"all"},Fi=["all","progress","queue","building_queue","research_queue","combat","spy","events","major_events","minor_events","achievements","hell"];Math.rand=function(r,a){return Math.floor(Math.random()*(a-r))+r};e.seed=2;e.warseed=2;function T(r,a,i){a=a||1,r=r||0,e[i?"warseed":"seed"]=(e[i?"warseed":"seed"]*9301+49297)%233280;let s=e[i?"warseed":"seed"]/233280;return r+s*(a-r)}{let r=pe.getItem("evolved")||!1;if(r){let a=JSON.parse(LZString.decompressFromUTF16(r));a?e=a:Gc()}else Gc()}function Nc(r){e=r}e.version||(e.version="0.2.0");J(e.version)<2060&&Object.keys(e.resource).forEach(function(r){e.resource[r].crates&&(e.resource[r].crates=Math.ceil(e.resource[r].crates/5)),e.resource[r].containers&&(e.resource[r].containers=Math.ceil(e.resource[r].containers/5))});if(J(e.version)<2062&&e.civic.taxes!==void 0)switch(Number(e.civic.taxes.tax_rate)){case 0:e.civic.taxes.tax_rate=0;break;case 1:e.civic.taxes.tax_rate=10;break;case 2:e.civic.taxes.tax_rate=20;break;case 3:e.civic.taxes.tax_rate=30;break;case 4:e.civic.taxes.tax_rate=40;break;case 5:e.civic.taxes.tax_rate=50;break}J(e.version)===2062&&e.civic.taxes!==void 0&&e.civic.taxes.tax_rate==2&&(e.civic.taxes.tax_rate=20);J(e.version)<2065&&e.race!==void 0&&e.race.species==="sporgar"&&(delete e.race.crafty,delete e.race.hydrophilic,e.race.infectious=1,e.race.parasite=1,!e.tech.military&&e.tech.primitive&&e.tech.primitive>=3&&(e.civic.garrison.display=!0,e.settings.showCivic=!0,e.city.garrison={count:0}));J(e.version)<3002&&e.space&&(e.tech.space&&e.tech.space>=4&&(e.space.living_quarters||(e.space.living_quarters={count:0,on:0}),e.space.garage||(e.space.garage={count:0}),e.space.red_mine||(e.space.red_mine={count:0,on:0}),e.space.fabrication||(e.space.fabrication={count:0,on:0}),e.space.laboratory||(e.space.laboratory={count:0,on:0})),e.tech.space&&e.tech.space>=3&&(e.space.iridium_mine||(e.space.iridium_mine={count:0,on:0}),e.space.helium_mine||(e.space.helium_mine={count:0,on:0})),e.tech.hell&&(e.space.geothermal||(e.space.geothermal={count:0,on:0})));J(e.version)<3004&&e.settings&&e.settings.space&&e.settings.space.belt&&(e.space.space_station={count:0,on:0,support:0,s_max:0});J(e.version)<4001&&e.city&&e.city.factory&&!e.city.factory.Nano&&(e.city.factory.Nano=0);J(e.version)<4003&&e.stats.achieve&&Object.keys(e.stats.achieve).forEach(function(r){e.stats.achieve[r]=1});J(e.version)<4010&&e.stats.achieve&&e.stats.achieve.doomed&&(e.stats.portals=1);J(e.version)<4028&&e.stats.achieve&&e.stats.achieve.genus_demonic&&(e.stats.achieve.biome_hellscape=e.stats.achieve.genus_demonic);if(J(e.version)<4029&&e.race.mutation&&e.race.mutation>0){e.resource.Genes={name:"Genes",display:!0,value:0,amount:0,crates:0,diff:0,delta:0,max:-2,rate:0};for(let r=0;r=3&&(e.tech.wind_plant=1,e.tech.hunting=2);let r=["Human","Humano","Elf","Elfo","Orc","Cath","Wolven","Centaur","Centauro","Kobold","Goblin","Gnome","Ogre","Ogro","Cyclops","Ciclope","Troll","Tortoisan","Gecko","Slitheryn","Arraak","Pterodacti","Dracnid","Ent","Cacti","Sporgar","Shroomi","Mantis","Scorpid","Antid","Sharkin","Octigoran","Balorg","Imp"];for(let a=0;a0){let r=1;e.race.no_trade&&r++,e.race.no_craft&&r++,e.race.no_crispr&&r++,e.race.weak_mastery&&r++,e.stats.achieve.cross={l:r,a:r}}J(e.version)<7e3&&(e.civic.govern||(e.civic.govern={type:"oligarchy",rev:0,fr:0}));if(J(e.version)<7004&&e.queue&&e.queue.queue)for(let r=0;r"u"&&(e.civic.foreign.gov0.anx=!1),typeof e.civic.foreign.gov1.anx>"u"&&(e.civic.foreign.gov1.anx=!1),typeof e.civic.foreign.gov2.anx>"u"&&(e.civic.foreign.gov2.anx=!1),typeof e.civic.foreign.gov0.buy>"u"&&(e.civic.foreign.gov0.buy=!1),typeof e.civic.foreign.gov1.buy>"u"&&(e.civic.foreign.gov1.buy=!1),typeof e.civic.foreign.gov2.buy>"u"&&(e.civic.foreign.gov2.buy=!1));J(e.version)<8e3&&e.settings&&e.settings.hasOwnProperty("tLabels")&&delete e.settings.tLabels;J(e.version)<8003&&e.stats.harmony&&e.stats.harmony>0&&(e.stats.harmony=parseFloat(e.stats.harmony.toFixed(2)),e.race.Harmony.count=parseFloat(e.race.Harmony.count.toFixed(2)));J(e.version)<8017&&e.city.garrison&&(e.city.garrison.on=e.city.garrison.count);J(e.version)<9e3&&e.settings&&e.settings.showCity&&(e.settings.showCiv=e.settings.showCity);J(e.version)<9005&&e.race.hasOwnProperty("terrifying")&&e.tech.hasOwnProperty("gambling")&&!e.space.hasOwnProperty("spc_casino")&&(e.space.spc_casino={count:0,on:0});J(e.version)<9009&&e.genes.hasOwnProperty("ancients")&&e.genes.ancients>=3&&(e.genes.ancients===4?e.genes.ancients=5:e.race.Plasmid.count+=300);J(e.version)<9010&&(["species","gods","old_gods"].forEach(r=>{e.race[r]==="orge"&&(e.race[r]="ogre")}),e.stats.hasOwnProperty("achieve")&&e.stats.achieve.hasOwnProperty("extinct_orge")&&(e.stats.achieve.extinct_ogre=e.stats.achieve.extinct_orge,delete e.stats.achieve.extinct_orge),e.resource.hasOwnProperty("orge")&&(e.resource.ogre=e.resource.orge,delete e.resource.orge),e.city&&e.city.factory&&!e.city.factory.Furs&&(e.city.factory.Furs=0));J(e.version)<9014&&(["seraph","unicorn","custom"].forEach(r=>{e.race.species===r&&(r==="custom"&&e.hasOwnProperty("custom")&&e.custom.race0.genus==="angelic"||r!=="custom")&&(e.race.holy=1)}),e.hasOwnProperty("arpa")&&e.arpa.hasOwnProperty("sequence")&&(e.arpa.sequence.labs=0));J(e.version)<1e5&&(delete e.city.lumber,delete e.city.stone,e.stats.dark=0,e.race.Dark&&(e.stats.dark=e.race.Dark.count),e.city.hasOwnProperty("smelter")&&(e.city.smelter.hasOwnProperty("Star")||(e.city.smelter.Star=0),e.city.smelter.hasOwnProperty("StarCap")||(e.city.smelter.StarCap=0),e.city.smelter.hasOwnProperty("Inferno")||(e.city.smelter.Inferno=0)),e.hasOwnProperty("warseed")||(e.warseed=e.seed+1,Math.war=e.hasOwnProperty("warseed")?e.warseed:e.seed),e.portal.hasOwnProperty("bireme")&&(e.portal.bireme.crew=0,e.portal.bireme.mil=0),e.portal.hasOwnProperty("transport")&&(e.portal.transport.crew=0,e.portal.transport.mil=0,e.portal.transport.cargo||(e.portal.transport.cargo={used:0,max:0,Crystal:0,Lumber:0,Stone:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Deuterium:0,Neutronium:0,Adamantite:0,Infernite:0,Elerium:0,Nano_Tube:0,Graphene:0,Stanene:0,Bolognium:0,Vitreloy:0,Orichalcum:0,Plywood:0,Brick:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0})),e.hasOwnProperty("settings")&&e.settings.portal&&e.settings.portal.spire&&!e.portal.hasOwnProperty("purifier")&&(e.settings.portal.spire=!1),e.portal.hasOwnProperty("mechbay")&&!Array.isArray(e.portal.mechbay.mechs)&&(e.portal.mechbay.mechs=[]),e.portal.transport&&e.portal.transport.count>=1&&!e.tech.hell_spire&&(e.tech.hell_spire=1,e.settings.portal.spire=!0,e.settings.showCargo=!0,e.portal.purifier={count:0,on:0,support:0,s_max:0,supply:0,sup_max:100,diff:0},e.portal.port={count:0,on:0}),e.tech.hasOwnProperty("waygate")&&!e.portal.hasOwnProperty("waygate")&&delete e.tech.waygate,e.hasOwnProperty("blood")||(e.blood={}));J(e.version)<100013&&e.hasOwnProperty("settings")&&e.settings.hasOwnProperty("showPowerGrid")&&e.hasOwnProperty("race")&&e.race.infiltrator&&e.hasOwnProperty("tech")&&e.tech.hasOwnProperty("high_tech")&&e.tech.high_tech>=2&&(e.settings.showPowerGrid=!0);if(J(e.version)<100014&&(e.race.Dark&&(e.stats.dark=e.race.Dark.count),e.race.casting&&e.race.evil&&(e.race.casting.total-=e.race.casting.lumberjack,e.race.casting.lumberjack=0),e.queue&&e.queue.queue))for(let r=0;r=2,events:!0,major_events:!0,minor_events:!0,achievements:e.stats.achieve&&Object.keys(e.stats.achieve).length>0||e.stats.feat&&Object.keys(e.stats.feat).length>0,hell:e.settings.showPortal||e.stats.blackhole||e.stats.ascend||e.stats.descend}),e.race.hasOwnProperty("inflation")&&["supercollider","stock_exchange","launch_facility","monuments","railway","roid_eject","nexus","syphon"].forEach(function(r){e.tech.hasOwnProperty(r)&&(e.race.inflation+=e.tech[r]*10)}));J(e.version)<101012&&e.civic.garrison&&(e.civic.garrison.rate=0);if(J(e.version)<101014&&(e.hasOwnProperty("settings")&&e.settings.hasOwnProperty("msgFilters")&&Object.keys(e.settings.msgFilters).forEach(function(r){e.settings.msgFilters[r]={unlocked:!!e.settings.msgFilters[r],vis:!!e.settings.msgFilters[r],max:60,save:3}}),e.hasOwnProperty("lastMsg")&&e.lastMsg)){let r={};Fi.forEach(function(a){r[a]=[]}),e.lastMsg.forEach(function(a){a.t?a.t.forEach(function(i){r[i].push({m:a.m,c:a.c})}):r.all.push({m:a.m,c:a.c})}),e.lastMsg=r}J(e.version)<=101014&&!e.revision&&e.race.cataclysm&&e.race.universe&&e.race.universe==="magic"&&e.tech.magic&&e.tech.magic>=2&&(e.space.pylon={count:0});J(e.version)<101015&&e.hasOwnProperty("special")&&e.special.hasOwnProperty("trick")&&(e.special.trick[2020]=JSON.parse(JSON.stringify(e.special.trick)),delete e.special.trick.trick1,delete e.special.trick.trick2,delete e.special.trick.trick3,delete e.special.trick.trick4,delete e.special.trick.trick5,delete e.special.trick.trick6,delete e.special.trick.trick7,delete e.special.trick.trick8,delete e.special.trick.trick9,delete e.special.trick.trick10,delete e.special.trick.trick11,delete e.special.trick.trick12);J(e.version)<102e3&&(e.hasOwnProperty("portal")&&e.portal.hasOwnProperty("fortress")&&!e.portal.fortress.hasOwnProperty("nocrew")&&(e.portal.fortress.nocrew=!1),e.city.hasOwnProperty("smelter")&&!e.city.smelter.hasOwnProperty("Iridium")&&(e.city.smelter.Iridium=0),e.hasOwnProperty("portal")&&e.portal.hasOwnProperty("mechbay")&&!e.portal.mechbay.hasOwnProperty("active")&&(e.portal.mechbay.active=0,e.portal.mechbay.scouts=0));J(e.version)<102001&&(e.race.blood_thirst&&e.race.blood_thirst>3&&(e.race.blood_thirst=1),e.race.rainbow&&e.race.rainbow>3&&(e.race.rainbow=1));J(e.version)<102005&&!e.stats.cores&&e.race.hasOwnProperty("AICore")&&(e.stats.cores=e.race.AICore.count);J(e.version)<102006&&e.race.artifical&&(e.race.calm&&(e.resource.hasOwnProperty("Zen")&&(e.resource.Zen.display=!0),e.city.meditation={count:0}),e.race.cannibalize&&(e.city.s_alter={count:0,rage:0,mind:0,regen:0,mine:0,harvest:0}),e.race.magnificent&&(e.city.shrine={count:0,morale:0,metal:0,know:0,tax:0}));J(e.version)<102007&&e.stats.hasOwnProperty("achieve")&&delete e.stats.achieve.extinct_sludge;J(e.version)<102012&&(e.city.hasOwnProperty("ptrait")&&(e.city.ptrait=e.city.ptrait==="none"?[]:[e.city.ptrait]),e.tech.hell_ruins&&e.tech.hell_ruins>=3&&(e.tech.hell_vault=1));if(J(e.version)<102015){if(e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("tasks"))for(let r in e.race.governor.tasks)e.race.governor.tasks[r]==="asssemble"&&(e.race.governor.tasks[r]="assemble");e.settings&&e.settings.hasOwnProperty("restoreCheck")&&delete e.settings.restoreCheck}J(e.version)<102017&&(e.portal.hasOwnProperty("fortress")&&(e.portal.observe={settings:{expanded:!1,average:!1,hyperSlow:!1,display:"game_days",dropKills:!0,dropGems:!0},stats:{total:{start:{year:e.city.calendar.year,day:e.city.calendar.day},days:0,wounded:0,died:0,revived:0,surveyors:0,sieges:0,kills:{drones:0,patrols:0,sieges:0,guns:0,soul_forge:0,turrets:0},gems:{patrols:0,guns:0,soul_forge:0,crafted:0,turrets:0}},period:{start:{year:e.city.calendar.year,day:e.city.calendar.day},days:0,wounded:0,died:0,revived:0,surveyors:0,sieges:0,kills:{drones:0,patrols:0,sieges:0,guns:0,soul_forge:0,turrets:0},gems:{patrols:0,guns:0,soul_forge:0,crafted:0,turrets:0}}},graphID:0,graphs:{}}),e.tech.hasOwnProperty("genetics")&&e.tech.genetics>1&&e.hasOwnProperty("arpa")&&(e.arpa.hasOwnProperty("sequence")||(e.arpa.sequence={max:5e4,progress:0,time:5e4,on:!1}),e.arpa.sequence.boost||(e.arpa.sequence.boost=!1),e.arpa.sequence.auto||(e.arpa.sequence.auto=!1),e.arpa.sequence.labs||(e.arpa.sequence.labs=0)));if(J(e.version)<102021&&e.hasOwnProperty("custom")&&!e.custom.hasOwnProperty("race0")){let r=e.race.hasOwnProperty("species")?e.race.species:"protoplasm";e.galaxy.hasOwnProperty("alien1")&&e.galaxy.alien1.id==="custom"&&(e.galaxy.alien1.id=r==="human"?"elven":"human"),e.galaxy.hasOwnProperty("alien2")&&e.galaxy.alien2.id==="custom"&&(e.galaxy.alien2.id=r==="orc"||e.galaxy.alien1.id==="orc"?"cath":"orc")}J(e.version)<103e3&&(e.hasOwnProperty("tauceti")||(e.tauceti={}),e.race.species==="protoplasm"&&(e.evolution.hasOwnProperty("sexual_reproduction")&&(e.tech.evo=e.evolution.sexual_reproduction.count>0?2:1,delete e.evolution.sexual_reproduction),[["phagocytosis",{evo:3,evo_animal:1}],["chloroplasts",{evo:3,evo_plant:1}],["chitin",{evo:3,evo_fungi:1}],["exterminate",{evo:7,evo_synthetic:2}],["multicellular",{evo:4}],["spores",{evo:5}],["poikilohydric",{evo:5}],["bilateral_symmetry",{evo:5,evo_insectoid:1,evo_mammals:1,evo_eggshell:1,evo_aquatic:1,evo_fey:1,evo_sand:1,evo_heat:1,evo_polar:1}],["bryophyte",{evo:7}],["athropods",{evo:7,evo_insectoid:2}],["mammals",{evo:6,evo_humanoid:1,evo_giant:1,evo_small:1,evo_animalism:1,evo_demonic:1,evo_angelic:1}],["humanoid",{evo:7,evo_humanoid:2}],["gigantism",{evo:7,evo_giant:2}],["dwarfism",{evo:7,evo_small:2}],["animalism",{evo:7,evo_animalism:2}],["carnivore",{evo_animalism:3,evo_carnivore:2}],["herbivore",{evo_animalism:3,evo_herbivore:2}],["omnivore",{evo_animalism:3,evo_omnivore:2}],["celestial",{evo:7,evo_angelic:2}],["demonic",{evo:7,evo_demonic:2}],["aquatic",{evo:7,evo_aquatic:2}],["fey",{evo:7,evo_fey:2}],["heat",{evo:7,evo_heat:2}],["polar",{evo:7,evo_polar:2}],["sand",{evo:7,evo_sand:2}],["eggshell",{evo:6,evo_eggshell:2}],["endothermic",{evo:7,evo_avian:2}],["ectothermic",{evo:7,evo_reptilian:2}],["bunker",{evo_challenge:1}]].forEach(function(r){if(e.evolution.hasOwnProperty(r[0])&&e.evolution[r[0]].count>0)for(let[a,i]of Object.entries(r[1]))e.tech[a]=i;delete e.evolution[r[0]]}),e.evolution.mloaded=1,e.evolution.gmloaded=1));J(e.version)<103001&&(e.hasOwnProperty("prestige")||(e.prestige={}),e.race.Plasmid&&e.race.Plasmid.hasOwnProperty("anti")&&(e.prestige.AntiPlasmid={count:e.race.Plasmid.anti}),["Plasmid","Phage","AICore","Dark","Harmony"].forEach(function(r){e.race.hasOwnProperty(r)&&(e.prestige[r]={count:e.race[r].count},delete e.race[r])}),["Artifact","Blood_Stone"].forEach(function(r){e.resource.hasOwnProperty(r)&&(e.prestige[r]={count:e.resource[r].amount},delete e.resource[r])}),!e.stats.hasOwnProperty("synth")&&e.race.hasOwnProperty("srace")&&(e.stats.synth={},e.stats.synth[e.race.srace]=!0),e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("config")&&e.race.governor.config.hasOwnProperty("trash")&&["Infernite","Elerium","Copper","Iron"].forEach(function(r){e.race.governor.config.trash.hasOwnProperty(r)&&typeof e.race.governor.config.trash[r]=="number"&&(e.race.governor.config.trash[r]={v:e.race.governor.config.trash[r],s:!0})}));J(e.version)<103002&&e.portal.hasOwnProperty("observe")&&e.portal.observe.hasOwnProperty("stats")&&(e.portal.observe.stats.period.gems.surveyors=0,e.portal.observe.stats.total.gems.surveyors=0);J(e.version)<103011&&e.city.hasOwnProperty("slave_pen")&&e.city.slave_pen.hasOwnProperty("slaves")&&(e.resource.Slave.amount=e.city.slave_pen.slaves,delete e.city.slave_pen.slaves);J(e.version)<103014&&(e.race.cataclysm&&!e.race.start_cataclysm&&(e.civic.craftsman.display=!0),e.race.lone_survivor&&(e.tauceti.tau_factory&&e.tauceti.tau_factory.count>0||e.tauceti.womling_station&&e.tauceti.womling_station.count>0)&&(e.civic.craftsman.display=!0));J(e.version)<=103015&&e.portal.hasOwnProperty("harbour")&&(e.portal.harbor=e.portal.harbour,delete e.portal.harbour);J(e.version)<=103017&&e.race.broody&&(e.race.gloomy=e.race.broody,delete e.race.broody);J(e.version)<=104e3&&e.city.hasOwnProperty("shrine")&&!e.city.shrine.hasOwnProperty("cycle")&&(e.city.shrine.cycle=0);e.version="1.4.0";delete e.revision;delete e.beta;e.hasOwnProperty("prestige")||(e.prestige={});["Plasmid","AntiPlasmid","Phage","Dark","Harmony","AICore","Artifact","Blood_Stone","Supercoiled"].forEach(function(r){e.prestige.hasOwnProperty(r)||(e.prestige[r]={count:0})});e.hasOwnProperty("power")||(e.power=[]);e.hasOwnProperty("support")||(e.support={});["moon","red","belt","alpha","nebula","gateway","alien2","lake","spire","titan","enceladus","eris","tau_home","tau_red","tau_roid","asphodel"].forEach(function(r){e.support.hasOwnProperty(r)||(e.support[r]=[])});e.civic.cement_worker&&e.civic.cement_worker.impact===.25&&(e.civic.cement_worker.impact=.4);e.settings||(e.settings={showEvolve:!0,showAchieve:!1,animated:!0,disableReset:!1,font:"standard",q_merge:"merge_nearby",cLabels:!0,theme:"gruvboxDark",locale:"en-US",icon:"star"});e.settings.space||(e.settings.space={});e.settings.space.hasOwnProperty("home")||(e.settings.space.home=!0);Rc(!1);e.settings.icon||(e.settings.icon="star");e.settings.showResources||(e.settings.showResources=e.settings.showMarket);e.settings.showStorage||(e.city.warehouse||e.city.storage_yard?e.settings.showStorage=!0:e.settings.showStorage=!1);e.settings.hasOwnProperty("touch")||(e.settings.touch=!1);e.settings.hasOwnProperty("lowPowerBalance")||(e.settings.lowPowerBalance=!1);e.queue||(e.queue={display:!1,queue:[]});e.r_queue||(e.r_queue={display:!1,queue:[]});e.queue.rename||(e.queue.rename=!1);e.queue.max||(e.queue.max=0);e.r_queue.max||(e.r_queue.max=0);e.queue.pause||(e.queue.pause=!1);e.r_queue.pause||(e.r_queue.pause=!1);e.lastMsg||(e.lastMsg={});e.settings.msgFilters||(e.settings.msgFilters={});["all","progress","events","major_events","minor_events"].forEach(function(r){e.settings.msgFilters[r]||(e.settings.msgFilters[r]={unlocked:!0,vis:!0,max:60,save:3})});Fi.forEach(function(r){e.lastMsg[r]||(e.lastMsg[r]=[]),e.settings.msgFilters[r]||(e.settings.msgFilters[r]={unlocked:!1,vis:!1,max:60,save:3})});e.settings.msgQueueHeight||(e.settings.msgQueueHeight=$("#msgQueue").outerHeight(),e.settings.buildQueueHeight=$("#buildQueue").outerHeight());e.space||(e.space={});e.starDock||(e.starDock={});e.interstellar||(e.interstellar={});e.galaxy||(e.galaxy={});e.eden||(e.eden={});e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Bolognium&&(e.interstellar.mass_ejector.Bolognium=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Vitreloy&&(e.interstellar.mass_ejector.Vitreloy=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Orichalcum&&(e.interstellar.mass_ejector.Orichalcum=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Nanoweave&&(e.interstellar.mass_ejector.Nanoweave=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Scarletite&&(e.interstellar.mass_ejector.Scarletite=0);e.hasOwnProperty("pillars")||(e.pillars={});e.settings.space.alpha||(e.settings.space.alpha=!1,e.settings.space.proxima=!1,e.settings.space.nebula=!1,e.settings.space.neutron=!1,e.settings.space.blackhole=!1);e.settings.showAchieve||(e.settings.showAchieve=!1);e.settings.locale||(e.settings.locale="en-US");typeof e.settings.pause>"u"&&(e.settings.pause=!1);typeof e.settings.mKeys>"u"&&(e.settings.mKeys=!0);typeof e.settings.keyMap>"u"&&(e.settings.keyMap={x10:"Control",x25:"Shift",x100:"Alt",q:"q"});typeof e.settings.keyMap.showCiv>"u"&&(e.settings.keyMap.showCiv="1",e.settings.keyMap.showCivic="2",e.settings.keyMap.showResearch="3",e.settings.keyMap.showResources="4",e.settings.keyMap.showGenetics="5",e.settings.keyMap.showAchieve="6",e.settings.keyMap.settings="7");delete e.settings.keyMap.d;typeof e.settings.qAny>"u"&&(e.settings.qAny=!1);typeof e.settings.sPackOn>"u"&&(e.settings.sPackOn=!0);typeof e.settings.qAny_res>"u"&&(e.settings.qAny_res=!1);typeof e.settings.sPackMsg>"u"&&(e.settings.sPackMsg=!1);typeof e.settings.expose>"u"&&(e.settings.expose=!1);typeof e.settings.alwaysPower>"u"&&(e.settings.alwaysPower=!1);typeof e.settings.tabLoad>"u"&&(e.settings.tabLoad=!1);typeof e.settings.boring>"u"&&(e.settings.boring=!1);e.settings.hasOwnProperty("mtorder")||(e.settings.mtorder=[]);function qn(){["reset","plasmid","antiplasmid","universes","phage","starved","tstarved","died","tdied","sac","tsac","know","tknow","portals","dkills","attacks","cfood","tfood","cstone","tstone","clumber","tlumber","mad","bioseed","cataclysm","blackhole","ascend","descend","apotheosis","terraform","aiappoc","matrix","retire","eden","geck","dark","harmony","blood","cores","artifact","supercoiled","cattle","tcattle","murders","tmurders","psykill","tpsykill","pdebt","uDead"].forEach(function(r){e.stats.hasOwnProperty(r)||(e.stats[r]=0)}),e.stats.achieve||(e.stats.achieve={}),e.stats.feat||(e.stats.feat={}),e.stats.hasOwnProperty("womling")||(e.stats.womling={god:{l:0},lord:{l:0},friend:{l:0}}),e.stats.spire||(e.stats.spire={}),e.stats.synth||(e.stats.synth={}),e.stats.hasOwnProperty("banana")||(e.stats.banana={b1:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b2:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b3:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b4:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b5:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1}}),e.stats.hasOwnProperty("endless_hunger")||(e.stats.endless_hunger={b1:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b2:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b3:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b4:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b5:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1}}),e.stats.hasOwnProperty("death_tour")||(e.stats.death_tour={ct:{l:0,h:0,a:0,e:0,m:0,mg:0},bh:{l:0,h:0,a:0,e:0,m:0,mg:0},di:{l:0,h:0,a:0,e:0,m:0,mg:0},ai:{l:0,h:0,a:0,e:0,m:0,mg:0},vc:{l:0,h:0,a:0,e:0,m:0,mg:0},md:{l:0,h:0,a:0,e:0,m:0,mg:0}}),e.stats.death_tour&&!e.stats.death_tour.hasOwnProperty("md")&&(e.stats.death_tour.md={l:0,h:0,a:0,e:0,m:0,mg:0})}qn();e.race.seeded||(e.race.seeded=!1);e.race.deterioration||(e.race.deterioration=0);e.race.gene_fortify||(e.race.gene_fortify=0);e.race.old_gods||(e.race.old_gods="none");e.race.universe||(e.race.universe="standard");e.genes.minor||(e.genes.minor={});e.race.minor||(e.race.minor={});e.hasOwnProperty("govern")||(e.govern={governor:{},candidate:[],policy:{}});e.settings.hasOwnProperty("showMil")||(e.settings.showMil=!0);e.settings.hasOwnProperty("showPowerGrid")||(e.settings.showPowerGrid=!!(e.hasOwnProperty("tech")&&e.tech.hasOwnProperty("high_tech")&&e.tech.high_tech>=2));e.settings.affix||(e.settings.affix="si");e.special||(e.special={});e.special.gift||(e.special.gift={});e.special.hasOwnProperty("egg")||(e.special.egg={});e.special.hasOwnProperty("trick")||(e.special.trick={trick1:!1,trick2:!1,trick3:!1,trick4:!1,trick5:!1,trick6:!1,trick7:!1,trick8:!1,trick9:!1,trick10:!1,trick11:!1,trick12:!1});e.civic.govern||(e.civic.govern={type:"oligarchy",rev:2e3,fr:0});e.civic.govern.fr=0;e.hasOwnProperty("custom")||(e.custom={});e.custom.hasOwnProperty("planet")&&e.custom.planet.hasOwnProperty("biome")&&delete e.custom.planet;e.city.hasOwnProperty("smelter")&&!e.city.smelter.hasOwnProperty("cap")&&(e.city.smelter.cap=0);e.civic.homeless||(e.civic.homeless=0);e.civic.foreign||(e.civic.foreign={gov0:{unrest:0,hstl:100,mil:100,eco:75,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov1:{unrest:0,hstl:0,mil:150,eco:100,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov2:{unrest:0,hstl:50,mil:250,eco:150,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1}});typeof e.civic.foreign.gov0.trn>"u"&&(e.civic.foreign.gov0.trn=0,e.civic.foreign.gov1.trn=0,e.civic.foreign.gov2.trn=0,e.civic.foreign.gov0.sab=0,e.civic.foreign.gov1.sab=0,e.civic.foreign.gov2.sab=0,e.civic.foreign.gov0.act="none",e.civic.foreign.gov1.act="none",e.civic.foreign.gov2.act="none");typeof e.civic.foreign.gov0.name<"u"&&e.civic.foreign.gov0.name.s1==="evo_organism_title"&&(e.civic.foreign.gov0.name.s1="Northern");typeof e.civic.foreign.gov1.name<"u"&&e.civic.foreign.gov1.name.s1==="evo_organism_title"&&(e.civic.foreign.gov1.name.s1="Southern");typeof e.civic.foreign.gov2.name<"u"&&e.civic.foreign.gov2.name.s1==="evo_organism_title"&&(e.civic.foreign.gov2.name.s1="Divine");if(!e.race.evil&&e.race.immoral&&e.race!==void 0&&e.race.species!=="wendigo")delete e.race.immoral;else if(e.race!==void 0&&e.race.species==="wendigo"){let r=new Date;e.settings.hasOwnProperty("boring")&&!e.settings.boring&&r.getMonth()===11&&r.getDate()>=17&&(e.race.immoral=3)}if(e.hasOwnProperty("special")&&e.special.hasOwnProperty("gift")){let r=new Date(e.stats.start),a=new Date;Object.keys(e.special.gift).forEach(function(i){let s=Number(i.substring(1,5));(s=1?e.civic.d_job="farmer":e.civic.d_job="unemployed");e.settings.animated=!0;e.settings.disableReset=!1;e.arpa&&e.arpa.launch_facility&&e.arpa.launch_facility.rank>0&&!e.tech.space&&(e.tech.space=1);function Gc(){e.race={species:"protoplasm",gods:"none",old_gods:"none",seeded:!1},e.seed=Math.rand(0,1e4),e.warseed=Math.rand(0,1e4),e.new=!0}var Nr={x10:!1,x25:!1,x100:!1,q:!1};function W(){let r=1;return e.settings.mKeys&&(Nr.x10&&(r*=10),Nr.x25&&(r*=25),Nr.x100&&(r*=100)),r}function J(r){let a=r.split(".",3);return a[0]*=1e5,a[1]*=1e3,Number(a[0])+Number(a[1])+Number(a[2])}function ms(){if($(window).width()>=1400&&$("#msgQueue:not(.right)")){let r=$("#buildQueue").detach();r.addClass("right"),r.removeClass("has-text-info");let a=$("#msgQueue").detach();a.addClass("right"),a.removeClass("has-text-info"),a.css("resize","none"),$("#queueColumn").addClass("is-one-quarter"),$("#queueColumn").append(r),$("#queueColumn").append(a),$("#mainColumn").removeClass("is-three-quarters"),$("#mainColumn").addClass("is-half")}else if($(window).width()<1400&&$("#msgQueue").hasClass("right")){let r=$("#buildQueue").detach();r.removeClass("right"),r.addClass("has-text-info");let a=$("#msgQueue").detach();a.removeClass("right"),a.addClass("has-text-info"),a.css("resize","vertical"),$("#queueColumn").removeClass("is-one-quarter"),$("#sideQueue").append(r),$("#sideQueue").append(a),$("#mainColumn").removeClass("is-half"),$("#mainColumn").addClass("is-three-quarters")}}var Hl={si:["K","M","G","T","P","E","Z","Y"],sln:["K","M","B","t","q","Q","s","S"]},Vl=new Intl.NumberFormat(void 0,{maximumFractionDigits:2,maximumSignificantDigits:3,roundingMode:"trunc",roundingPriority:"lessPrecision"}),Ul=new Intl.NumberFormat(void 0,{maximumFractionDigits:2,maximumSignificantDigits:4,roundingMode:"trunc",roundingPriority:"lessPrecision"}),Wl=1+16*Number.EPSILON;function X(r,a=1,i=!1,s=!1){let n=Math.abs(r),c=Math.floor(Math.log10(n));if(n*=Wl,r=r<0?-n:r>0?n:r,s)return r.toLocaleString(void 0,{maximumFractionDigits:a,roundingMode:"trunc"});if(c<4||i){let o=Math.max(c+1,a+1,5);return r.toLocaleString(void 0,{maximumSignificantDigits:o,maximumFractionDigits:a,roundingMode:"trunc",roundingPriority:"lessPrecision"})}else{let o=c%3,l=c===4,u=e.settings.affix!=="eng"&&c>=27;e.settings.affix!=="sci"&&!u&&(c-=o);let p;return e.settings.affix==="sci"||e.settings.affix==="eng"||u?p="e"+c:p=Hl[e.settings.affix][c/3-1],r/=10**c,l?Vl.format(r)+p:Ul.format(r)+p}}$(window).resize(function(){ms()});function Ai(r,a){var i=document.createElement("div"),s="speak-"+Date.now();i.setAttribute("id",s),i.setAttribute("aria-live",a||"polite"),i.classList.add("sr-only"),document.body.appendChild(i),window.setTimeout(function(){document.getElementById(s).innerHTML=r},100),window.setTimeout(function(){document.body.removeChild(document.getElementById(s))},1e3)}window.soft_reset=function(a){try{a=a&&a==="replicator"?"replicator":"soft",gtag("event","reset",{end:a})}catch{}a||or();let i=e.race.hasOwnProperty("srace")?e.race.srace:!1,s=e.race.hasOwnProperty("geck")?e.race.geck:0;e.race.hasOwnProperty("gecked")&&(s+=e.race.gecked,e.stats.geck-=e.race.gecked);let n={species:"protoplasm",universe:e.race.universe,seeded:e.race.seeded,probes:e.race.probes,seed:e.race.seed,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1,rejuvenated:e.race.hasOwnProperty("rejuvenated")?e.race.rejuvenated:!1};s>0&&(n.geck=s),i&&(n.srace=i),e.race.bigbang&&(n.bigbang=!0),e.race.gods&&(n.gods=e.race.gods),e.race.old_gods&&(n.old_gods=e.race.old_gods),e.race.rapid_mutation&&e.race.rapid_mutation>0&&(n.rapid_mutation=e.race.rapid_mutation),e.race.ancient_ruins&&e.race.ancient_ruins>0&&(n.ancient_ruins=e.race.ancient_ruins),e.race.bigbang&&(n.universe="bigbang"),e.race.hasOwnProperty("corruption")&&(n.corruption=e.race.corruption),e.race=n;let c=e.city.calendar.orbit,o=e.city.biome,l=e.city.ptrait,u=e.city.geology;e.city={calendar:{day:0,year:0,weather:2,temp:1,moon:0,wind:0,orbit:c},biome:o,ptrait:l,geology:u},e.tech.theology&&e.tech.theology>=1?e.tech={theology:1}:e.tech={},Pn(),e.new=!0,e.seed=Math.rand(0,1e4),e.warseed=Math.rand(0,1e4),e.stats.current=Date.now(),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()};var ge={w:!1,s:!1,mt:250},Da={};function or(){Fi.forEach(function(r){r!=="achievements"&&(e.lastMsg[r]=[])})}function Rc(r){let a={base:["showCiv","showCity","showIndustry","showPowerGrid","showMechLab","showShipYard","showResearch","showCivic","showMil","showResources","showMarket","showStorage","showGenetics","showSpace","showDeep","showGalactic","showPortal","showEden","showOuter","showTau","showEjector","showCargo","showAlchemy","showGovernor","arpa","showPsychic","showWish"],space:["moon","red","hell","sun","gas","gas_moon","belt","dwarf","alpha","proxima","nebula","neutron","blackhole","sirius","stargate","gateway","gorddon","alien1","alien2","chthonian","titan","enceladus","triton","eris","kuiper"],portal:["fortress","badlands","pit","ruins","gate","lake","spire"],eden:["asphodel","elysium","isle","palace"],tau:["home","red","roid","gas","gas2","star"]};Object.keys(a).forEach(function(i){i==="base"?a[i].forEach(function(s){(!e.settings.hasOwnProperty(s)||r)&&(e.settings[s]=!1)}):(e.settings.hasOwnProperty(i)||(e.settings[i]={}),a[i].forEach(function(s){(!e.settings[i].hasOwnProperty(s)||r)&&(e.settings[i][s]=!1)}))}),["civTabs","govTabs","govTabs2","hellTabs","resTabs","spaceTabs","marketTabs","statsTabs"].forEach(function(i){(!e.settings.hasOwnProperty(i)||r)&&(e.settings[i]=0)})}function Pn(){ge.w&&ge.w.terminate(),e.queue={display:!1,queue:[]},e.r_queue={display:!1,queue:[]},e.space={},e.interstellar={},e.galaxy={},e.portal={},e.eden={},e.starDock={},e.tauceti={},e.civic={new:0},e.civic.foreign={gov0:{unrest:0,hstl:Math.floor(T(80,100)),mil:Math.floor(T(75,125)),eco:Math.floor(T(60,90)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov1:{unrest:0,hstl:Math.floor(T(0,20)),mil:Math.floor(T(125,175)),eco:Math.floor(T(80,120)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov2:{unrest:0,hstl:Math.floor(T(40,60)),mil:Math.floor(T(200,300)),eco:Math.floor(T(130,170)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1}},e.genes.blood||(e.prestige.Blood_Stone.count=0),e.resource={},e.evolution={},e.event={t:100,l:!1},e.m_event={t:499,l:!1},e.stats.days=0,e.stats.know=0,e.stats.starved=0,e.stats.died=0,e.stats.attacks=0,e.stats.dkills=0,e.stats.cfood=0,e.stats.cstone=0,e.stats.clumber=0,e.stats.sac=0,e.stats.cattle=0,e.stats.murders=0,e.stats.uDead=0,e.settings.at=0,e.settings.showEvolve=!0,e.settings.space.home=!0,Rc(!0),e.settings.disableReset=!1,e.settings.pause=!1,e.arpa={},delete e.race.hrt,e.genes.queue&&(e.tech.queue=1,e.queue.display=!0)}window.reset=function(){try{gtag("event","reset",{end:"hard"})}catch{}localStorage.removeItem("evolved"),e=null,ge.w&&ge.w.terminate(),window.location.reload()};var Mn;Ql(e.settings.locale);function t(r,a){let i=Mn[r];if(!i)return e.settings.expose&&(console.error(`string ${r} not found`),console.log(Mn)),r;if(a)if(a instanceof Array){for(let c=0;c{a=s}),r!="en-US"){let s;try{$.getJSON(`strings/strings.${r}.json`,c=>{s=c})}catch(c){console.error(c,c.stack)}let n=a.length;s&&Object.assign(a,s),a.length!=n&&e.settings.expose&&console.error(`string.${r}.json has extra keys.`)}let i=pe.getItem("string_pack")||!1;if(i&&e.settings.sPackOn){let s;try{s=JSON.parse(LZString.decompressFromUTF16(i))}catch(c){console.error(c,c.stack)}let n=a.length;s&&Object.assign(a,s),a.length!=n&&e.settings.expose&&console.error("string pack has extra keys.")}$.ajaxSetup({async:!0}),Mn=a}function he(r){return e.race.high_pop&&(r*=v.high_pop.vars()[1]/100),r}function Ja(r){if(e.race.gravity_well&&e.race.teamster&&e.race.teamster>0){let a=On();a<1&&(a=1);let i=e.civic.teamster.workers>a?a:e.civic.teamster.workers;r*=i/a}return r}function ie(r,a,i){switch(r){case"transmitter":return 2.5;case"oil_well":{let s=e.tech.oil>=4?.48:.4;e.tech.oil>=7?s*=2:e.tech.oil>=5&&(s*=e.tech.oil>=6?1.75:1.25),e.city.geology.Oil&&(s*=e.city.geology.Oil+1),e.city.biome==="desert"?s*=xe.desert.vars()[1]:e.city.biome==="tundra"?s*=xe.tundra.vars()[1]:e.city.biome==="taiga"&&(s*=xe.taiga.vars()[2]);let n=Q("dirty_jobs",2);return n&&(s*=1+n/100),s}case"iridium_mine":switch(a){case"iridium":{let s=.035;e.city.geology.Iridium&&(s*=e.city.geology.Iridium+1);let n=s,c=Ti(3);return{b:n,g:c-1,f:n*c}}case"coal":return .55}case"helium_mine":{let s=.18,n=Ti(3);return{b:s,g:n-1,f:s*n}}case"red_mine":switch(a){case"copper":{let s=he(.25),n=Ti(3);return{b:s,g:n-1,f:s*n}}case"titanium":{let s=he(.02),n=Ti(3);return{b:s,g:n-1,f:s*n}}case"stone":return he(.75);case"asbestos":return he(1.25);case"aluminium":return he(.066)}case"biodome":switch(a){case"food":return he(.25);case"cat_food":return 2;case"lumber":return he(1.5)}case"gas_mining":return e.tech.helium?.65:.5;case"outpost":{let s={b:.025,d:0,n:0};if(e.tech.drone){let n=e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=3?.12:.06;s.d=e.space.drone.count*n,s.n=s.b*(1+s.d)}else s.n=s.b;return a?s:s.n}case"oil_extractor":{let s=e.tech.oil>=4?.48:.4;return e.tech.oil>=7?s*=2:e.tech.oil>=5&&(s*=e.tech.oil>=6?1.75:1.25),s}case"elerium_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?.009:.0075:.005;case"iridium_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?.1:.08:.055;case"iron_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?4:3:2;case"g_factory":if(e.race.truepath){if(e.tech.isolation)return 1.8;{let n=.05*(H.ai_colonist?e.civic.titan_colonist.workers+E(H.ai_colonist):e.civic.titan_colonist.workers);return e.race.high_pop&&(n=he(n)),n}}else return .6;case"harvester":switch(a){case"helium":return .85;case"deuterium":return .15}case"elerium_prospector":return .014;case"neutron_miner":return .055;case"bolognium_ship":return .008;case"excavator":return .2;case"vitreloy_plant":{let s=.18;return e.civic.govern.type==="corpocracy"&&(s*=e.tech.high_tech&&e.tech.high_tech>=16?1.4:1.3),e.civic.govern.type==="socialist"&&(s*=1.1),s}case"infernite_mine":return .5*Rr("gate",0,i).supress;case"water_freighter":return 1.25;case"titan_mine":switch(a){case"adamantite":return he(.02)*(e.space.titan_mine?e.space.titan_mine.ratio:50)/100;case"aluminium":return he(.12)*(100-(e.space.titan_mine?e.space.titan_mine.ratio:50))/100}case"lander":return e.space.crashed_ship.count===100?.005:0;case"orichalcum_mine":return .08;case"uranium_mine":return .025;case"neutronium_mine":return .04;case"elerium_mine":return .009;case"shock_trooper":return e.space.digsite.count===100?.0018:0;case"tank":return e.space.digsite.count===100?.0018:0;case"mining_pit":{let s=0;switch(a){case"materials":{s=e.tech.isolation?.12:.09;break}case"bolognium":{s=e.tech.isolation?.0288:.0216;break}case"stone":{s=e.tech.isolation?.8:.6;break}case"adamantite":{s=e.tech.isolation?.448:.336;break}case"copper":{s=.58;break}case"coal":{s=.13;break}case"iron":{s=.74;break}case"aluminium":{s=.88;break}case"chrysotile":{s=1.44;break}}e.race.tough&&(s*=1+v.tough.vars()[0]/100);let n=re("ogre");return n>0&&(s*=1+v.tough.vars(1)[0]/100*n),e.tech.tau_pit_mining&&(s*=1.18),s}case"tau_farm":switch(a){case"food":return e.tech.isolation?15:9;case"lumber":return e.tech.isolation?12:5.5;case"water":return .35}case"womling_mine":{let s=1;switch(e.tech.womling_mining&&(s+=e.tech.womling_mining*.15),e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5&&(s*=1.1),e.tech.womling_gene&&(s*=1.25),a){case"unobtainium":return .0305*s;case"uranium":return .047*s;case"titanium":return .616*s;case"copper":return 1.191*s;case"iron":return 1.377*s;case"aluminium":return 1.544*s;case"neutronium":return .382*s;case"iridium":return .535*s}}case"refueling_station":return e.tech.isolation?18.5:9.35;case"ore_refinery":return e.tech.tau_ore_mining?40:25;case"whaling_station":return 12;case"mining_ship":{if(e.tauceti.patrol_ship){let s=1;return e.tauceti.patrol_ship.support>e.tauceti.patrol_ship.s_max&&(s=lt("curve",e.tauceti.patrol_ship.s_max/e.tauceti.patrol_ship.support,1.4)),(e.tech.tau_ore_mining&&e.tech.tau_ore_mining>=2?12:10)*s}return 0}case"mining_ship_ore":switch(a){case"iron":return e.tech.isolation?2.22:1.85;case"aluminium":return e.tech.isolation?2.22:1.85;case"iridium":return e.tech.isolation?.42:.35;case"neutronium":return e.tech.isolation?.42:.35;case"orichalcum":return e.tech.isolation?.3:.25;case"elerium":return e.tech.isolation?.024:.02}case"whaling_ship":{if(e.tauceti.patrol_ship){let s=1;return e.tauceti.patrol_ship.support>e.tauceti.patrol_ship.s_max&&(s=lt("curve",e.tauceti.patrol_ship.s_max/e.tauceti.patrol_ship.support,1.4)),8*s}return 0}case"whaling_ship_oil":return e.tech.isolation?.78:.42;case"alien_outpost":return .01;case"psychic_boost":{if(e.tech.psychic&&e.race.psychic&&e.race.psychicPowers&&e.race.psychicPowers.boost.r===a&&e.race.psychicPowers.hasOwnProperty("boostTime")){let s=0;if(e.race.psychicPowers.boostTime>0&&(s+=v.psychic.vars()[3]/100),e.tech.psychic>=4&&e.race.psychicPowers.channel){let n=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;s+=+(v.psychic.vars()[3]/5e4*n*e.race.psychicPowers.channel.boost).toFixed(3)}return 1+s}return 1}case"psychic_cash":{if(e.tech.psychic&&e.race.psychic&&e.race.psychicPowers&&e.race.psychicPowers.hasOwnProperty("cash")){let s=0;if(e.race.psychicPowers.cash>0&&(s+=v.psychic.vars()[3]/100),e.tech.psychic>=4&&e.race.psychicPowers.channel){let n=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;s+=+(v.psychic.vars()[3]/5e4*n*e.race.psychicPowers.channel.cash).toFixed(3)}return 1+s}return 1}case"asphodel_harvester":{let s=.075;return e.tech.hell_lake&&e.tech.hell_lake>=7&&e.tech.railway&&(s*=1+e.tech.railway/100),s}}}function Pe(r){switch(r){case"Physics":Wc();break;case"Genetics":sa();break;case"Monument":return Uc();case"PhysicsTech":return de;case"GeneTech":return _t;case"BloodTech":return We;case"Crispr":Qc();break;case"Blood":jn();break}}var de={lhc:{title(){return ke("fool",2022)?t("arpa_projects_railway_title"):t("arpa_projects_lhc_title")},desc(){return ke("fool",2022)?t("arpa_projects_railway_desc"):t("arpa_projects_lhc_desc")},reqs:{high_tech:6},grant:"supercollider",effect(r){if(ke("fool",2022)&&!r)return de.railway.effect(!0);let a=e.tech.tp_particles||e.tech.particles&&e.tech.particles>=3?e.race.cataclysm?20:8:e.race.cataclysm?10:4;return e.tech.storage>=6?e.tech.particles&&e.tech.particles>=4?e.race.cataclysm?t("arpa_projects_lhc_cataclysm3",[a]):t("arpa_projects_lhc_effect3",[a,e.race.orbit_decayed?t("space_home_satellite_title"):Kt()]):e.race.cataclysm?t("arpa_projects_lhc_cataclysm2",[a]):t("arpa_projects_lhc_effect2",[a,e.race.orbit_decayed?t("space_home_satellite_title"):Kt()]):e.race.cataclysm?t("arpa_projects_lhc_cataclysm1",[a]):e.tech.isolation?t("arpa_projects_lhc_iso1",[a,t("tech_infectious_disease_lab_alt")]):t("arpa_projects_lhc_effect1",[a,e.race.orbit_decayed?t("space_home_satellite_title"):Kt()])},cost:{Money(r,a){return qe("lhc",r,25e5,1.05,a)},Knowledge(r,a){return qe("lhc",r,5e5,1.05,a)},Copper(r,a){return qe("lhc",r,125e3,1.05,a)},Cement(r,a){return qe("lhc",r,25e4,1.05,a)},Aluminium(r,a){return qe("lhc",r,35e4,1.05,a)},Titanium(r,a){return qe("lhc",r,5e4,1.05,a)},Polymer(r,a){return qe("lhc",r,12e3,1.05,a)}}},stock_exchange:{title:t("arpa_projects_stock_exchange_title"),desc:t("arpa_projects_stock_exchange_desc"),reqs:{banking:9},grant:"stock_exchange",effect(){return e.tech.banking>=10?e.race.cataclysm?e.tech.gambling&&e.tech.gambling>=4?t("arpa_projects_stock_exchange_cataclysm2",[t("space_red_spaceport_title"),10,Ce("casino"),5,1]):t("arpa_projects_stock_exchange_cataclysm1",[t("space_red_spaceport_title"),10]):e.tech.gambling&&e.tech.gambling>=4?t("arpa_projects_stock_exchange_effect3",[t("city_bank"),10,t("job_banker"),2,Ce("casino"),5,1]):t("arpa_projects_stock_exchange_effect2",[t("city_bank"),10,t("job_banker"),2]):t("arpa_projects_stock_exchange_effect1",[t("city_bank"),10])},cost:{Money(r,a){return qe("stock_exchange",r,3e6,1.06,a)},Plywood(r,a){return qe("stock_exchange",r,25e3,1.06,a)},Brick(r,a){return qe("stock_exchange",r,2e4,1.06,a)},Wrought_Iron(r,a){return qe("stock_exchange",r,1e4,1.06,a)}}},tp_depot:{title:t("galaxy_gateway_depot"),desc:t("arpa_projects_depot_desc"),reqs:{high_tech:6,storage:4},grant:"tp_depot",path:["truepath"],effect(){return t(e.tech.isolation?"arpa_projects_depot_effect_iso":"arpa_projects_depot_effect",[5,50])},cost:{Money(r,a){return qe("tp_depot",r,18e5,1.08,a)},Stone(r,a){return qe("tp_depot",r,75e4,1.08,a)},Iron(r,a){return qe("tp_depot",r,25e4,1.08,a)},Alloy(r,a){return qe("tp_depot",r,3e4,1.08,a)}}},launch_facility:{id:"arpalaunch_facility",title:t("arpa_projects_launch_facility_title"),desc:t("arpa_projects_launch_facility_desc"),reqs:{high_tech:7},condition(){return!(e.race.cataclysm||e.race.lone_survivor)},grant:"launch_facility",rank:1,queue_complete(){return e.tech.space>=1?0:1},effect(){return t("arpa_projects_launch_facility_effect1")},cost:{Money(r){return qe("launch_facility",r,2e6,1.1)},Knowledge(r){return qe("launch_facility",r,5e5,1.1)},Cement(r){return qe("launch_facility",r,15e4,1.1)},Oil(r){return qe("launch_facility",r,2e4,1.1)},Sheet_Metal(r){return qe("launch_facility",r,15e3,1.1)},Alloy(r){return qe("launch_facility",r,25e3,1.1)}}},monument:{title(r){if(r)return t("arpa_project_monument_title");switch(e.arpa.m_type){case"Obelisk":return t("arpa_project_monument_obelisk");case"Statue":return t("arpa_project_monument_statue");case"Sculpture":return t("arpa_project_monument_sculpture");case"Monolith":return t("arpa_project_monument_monolith");case"Pillar":return t("arpa_project_monument_pillar");case"Megalith":return t("arpa_project_monument_megalith")}},desc:t("arpa_projects_monument_desc"),reqs:{monument:1},grant:"monuments",effect(){let r=Q("gaslighter",2),a=r?2-r:2;return t("arpa_projects_monument_effect1",[a])},cost:{Stone(r,a){return Za("Stone",r,a)},Aluminium(r,a){return Za("Aluminium",r,a)},Cement(r,a){return Za("Cement",r,a)},Steel(r,a){return Za("Steel",r,a)},Lumber(r,a){return Za("Lumber",r,a)},Crystal(r,a){return Za("Crystal",r,a)}}},railway:{title(){return ke("fool",2022)?t("arpa_projects_lhc_title"):t("arpa_projects_railway_title")},desc(){return ke("fool",2022)?t("arpa_projects_lhc_desc"):t("arpa_projects_railway_desc")},reqs:{high_tech:6,trade:3},grant:"railway",effect(r){if(ke("fool",2022)&&!r)return de.lhc.effect(!0);let a=e.stats.achieve.banana&&e.stats.achieve.banana.l>=2?1:0,i=e.stats.achieve.banana&&e.stats.achieve.banana.l>=1?3:2,s="";return e.race.cataclysm||e.race.orbit_decayed?(a+=e.space.gps?Math.floor(e.space.gps.count/3):0,s=t("arpa_projects_railway_cataclysm1",[a,i,3,1])):(a+=e.city.storage_yard?Math.floor(e.city.storage_yard.count/6):0,s=t("arpa_projects_railway_effect1",[a,i,6,1])),e.tech.hell_lake&&e.tech.hell_lake>=7&&(s+=` ${t("arpa_projects_railway_highway",[1,e.resource.Asphodel_Powder.name,t("eden_asphodel_harvester_title"),1])}`),s},cost:{Money(r,a){return qe("railway",r,25e5,1.08,a)},Lumber(r,a){return qe("railway",r,75e4,1.08,a)},Iron(r,a){return qe("railway",r,3e5,1.08,a)},Steel(r,a){return qe("railway",r,45e4,1.08,a)}}},roid_eject:{title(){return t("arpa_projects_roid_eject_title",[Sn()])},desc(){return t(e.tech.roid_eject<=10?"arpa_projects_roid_eject_desc":"arpa_projects_roid_eject_desc2",[Sn()])},reqs:{blackhole:6,gateway:3},grant:"roid_eject",effect(){let r=0,a=0;return e.tech.roid_eject&&(r+=.225*e.tech.roid_eject*(1+e.tech.roid_eject/12),a=.225*(e.tech.roid_eject+1)*(1+(e.tech.roid_eject+1)/12)-r),`
${t("arpa_projects_roid_eject_effect1")}
${t("arpa_projects_roid_eject_effect2",[+r.toFixed(3),+a.toFixed(3),Sn()])}
`},cost:{Money(r,a){return qe("roid_eject",r,1875e4,1.075,a)},Deuterium(r,a){return qe("roid_eject",r,375e3,1.075,a)},Bolognium(r,a){return qe("roid_eject",r,15e3,1.075,a)}}},nexus:{title:t("arpa_projects_nexus_title"),desc:t("arpa_projects_nexus_desc"),reqs:{magic:5},grant:"nexus",effect(){return e.tech.roguemagic&&e.tech.roguemagic>=7?`
${t("arpa_projects_nexus_effect1",[5])}
${t("witch_hunter_nexus",[8])}
`:t("arpa_projects_nexus_effect1",[5])},cost:{Money(r,a){return qe("nexus",r,5e6,1.12,a)},Crystal(r,a){return qe("nexus",r,6e4,1.12,a)},Iridium(r,a){return qe("nexus",r,35e3,1.12,a)}}},syphon:{title:t("arpa_syphon_title"),desc(){let r="";return e.tech.syphon&&e.tech.syphon>=0?r=`
${t("arpa_syphon_desc")}
${t("arpa_syphon_desc_warn2")}
`:r=`
${t("arpa_syphon_desc")}
${t("arpa_syphon_desc_warn1")}
`,e.race.witch_hunter&&(r+=`
${t("witch_hunter_suspicion")}
`),r},reqs:{veil:2},grant:"syphon",effect(){let r=+(.3333333333333333*Me("magic")).toFixed(3);if(e.tech.syphon&&e.tech.syphon>=60){let a=$e("vacuum"),i=t("resource_Plasmid_plural_name");return`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect4")}
${t("arpa_syphon_effect_reward",[a.plasmid,a.phage,a.dark,i,80])}
`}else return e.tech.syphon&&e.tech.syphon>=40?`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect3")}
`:e.tech.syphon&&e.tech.syphon>=20?`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect2")}
`:`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect1")}
`},cost:{Money(r,a){return qe("syphon",r,75e5,1.025,a)},Mana(r,a){return qe("syphon",r,5e3,1.025,a)},Crystal(r,a){return qe("syphon",r,1e5,1.025,a)},Infernite(r,a){return qe("syphon",r,1e4,1.025,a)}}}};function Sn(){return!e.tech.roid_eject||e.tech.roid_eject<=10?t("arpa_projects_roid_eject_asteroid"):e.tech.roid_eject<=25?t("arpa_projects_roid_eject_moon"):e.tech.roid_eject<=40?t("arpa_projects_roid_eject_dwarf"):e.tech.roid_eject<=60?t("arpa_projects_roid_eject_planet"):t("arpa_projects_roid_eject_remnant")}var _t={genetic_memory:{id:"genes-genetic_memory",title:t("arpa_genepool_genetic_memory_title"),desc:t("arpa_genepool_genetic_memory_desc"),reqs:{},grant:["creep",1],cost:{Plasmid(){return 25}},action(){return!!se("genetic_memory")}},animus:{id:"genes-animus",title:t("arpa_genepool_animus_title"),desc:t("arpa_genepool_animus_desc"),reqs:{creep:1},grant:["creep",2],cost:{Plasmid(){return 75}},action(){return!!se("animus")}},divine_remembrance:{id:"genes-divine_remembrance",title:t("arpa_genepool_divine_remembrance_title"),desc:t("arpa_genepool_divine_remembrance_desc"),reqs:{creep:2},grant:["creep",3],cost:{Plasmid(){return 225}},action(){return!!se("divine_remembrance")}},divine_proportion:{id:"genes-divine_proportion",title:t("arpa_genepool_divine_proportion_title"),desc:t("arpa_genepool_divine_proportion_desc"),reqs:{creep:3},grant:["creep",4],cost:{Plasmid(){return 618}},action(){return!!se("divine_proportion")}},genetic_repository:{id:"genes-genetic_repository",title:t("arpa_genepool_genetic_repository_title"),desc:t("arpa_genepool_genetic_repository_desc"),reqs:{creep:4},grant:["creep",5],cost:{Plasmid(){return 999}},action(){return!!se("genetic_repository")}},spatial_reasoning:{id:"genes-spatial_reasoning",title:t("arpa_genepool_spatial_reasoning_title"),desc:t("arpa_genepool_spatial_reasoning_desc"),reqs:{},grant:["store",1],cost:{Plasmid(){return 50}},action(){return!!se("spatial_reasoning")}},spatial_superiority:{id:"genes-spatial_superiority",title:t("arpa_genepool_spatial_superiority_title"),desc:t("arpa_genepool_spatial_superiority_desc"),reqs:{store:1},grant:["store",2],cost:{Plasmid(){return 125}},action(){return!!se("spatial_superiority")}},spatial_supremacy:{id:"genes-spatial_supremacy",title:t("arpa_genepool_spatial_supremacy_title"),desc:t("arpa_genepool_spatial_supremacy_desc"),reqs:{store:2},grant:["store",3],cost:{Plasmid(){return 325}},action(){return!!se("spatial_supremacy")}},dimensional_warping:{id:"genes-dimensional_warping",title:t("arpa_genepool_dimensional_warping_title"),desc:t("arpa_genepool_dimensional_warping_desc"),reqs:{store:3},grant:["store",4],cost:{Plasmid(){return 500}},action(){return!!se("dimensional_warping")}},enhanced_muscle_fiber:{id:"genes-enhanced_muscle_fiber",title:t("arpa_genepool_enhanced_muscle_fiber_title"),desc:t("arpa_genepool_enhanced_muscle_fiber_desc"),reqs:{},grant:["enhance",1],cost:{Plasmid(){return 25}},action(){return!!se("enhanced_muscle_fiber")}},morphogenesis:{id:"genes-morphogenesis",title:t("arpa_genepool_morphogenesis_title"),desc:t("arpa_genepool_morphogenesis_desc"),reqs:{},grant:["evolve",1],cost:{Plasmid(){return 10}},action(){return!!se("morphogenesis")}},recombination:{id:"genes-recombination",title:t("arpa_genepool_recombination_title"),desc:t("arpa_genepool_recombination_desc"),reqs:{evolve:1},grant:["evolve",2],cost:{Plasmid(){return 35}},action(){return!!se("recombination")}},homologous_recombination:{id:"genes-homologous_recombination",title:t("arpa_genepool_homologous_recombination_title"),desc:t("arpa_genepool_homologous_recombination_desc"),reqs:{evolve:2},grant:["evolve",3],cost:{Plasmid(){return 70}},action(){return!!se("homologous_recombination")}},genetic_reshuffling:{id:"genes-genetic_reshuffling",title:t("arpa_genepool_genetic_reshuffling_title"),desc:t("arpa_genepool_genetic_reshuffling_desc"),reqs:{evolve:3},grant:["evolve",4],cost:{Plasmid(){return 175}},action(){return!!se("genetic_reshuffling")}},recombinant_dna:{id:"genes-recombinant_dna",title:t("arpa_genepool_recombinant_dna_title"),desc:t("arpa_genepool_recombinant_dna_desc"),reqs:{evolve:4},grant:["evolve",5],cost:{Plasmid(){return 440}},action(){return!!se("recombinant_dna")}},chimeric_dna:{id:"genes-chimeric_dna",title:t("arpa_genepool_chimeric_dna_title"),desc:t("arpa_genepool_chimeric_dna_desc"),reqs:{evolve:5},grant:["evolve",6],cost:{Plasmid(){return 1100}},action(){return!!se("chimeric_dna")}},molecular_cloning:{id:"genes-molecular_cloning",title:t("arpa_genepool_molecular_cloning_title"),desc:t("arpa_genepool_molecular_cloning_desc"),reqs:{evolve:6},grant:["evolve",7],cost:{Plasmid(){return 2750}},action(){return!!se("molecular_cloning")}},transgenes:{id:"genes-transgenes",title:t("arpa_genepool_transgenes_title"),desc:t("arpa_genepool_transgenes_desc"),reqs:{evolve:7},grant:["evolve",8],cost:{Plasmid(){return 6875}},action(){return!!se("transgenes")}},synthesis:{id:"genes-synthesis",title:t("arpa_genepool_synthesis_title"),desc:t("arpa_genepool_synthesis_desc",[2,10]),reqs:{evolve:1},grant:["synthesis",1],cost:{Plasmid(){return 25}},action(){return!!se("synthesis")}},karyokinesis:{id:"genes-karyokinesis",title:t("arpa_genepool_karyokinesis_title"),desc:t("arpa_genepool_synthesis_desc",[3,25]),reqs:{synthesis:1},grant:["synthesis",2],cost:{Plasmid(){return 40}},action(){return!!se("karyokinesis")}},cytokinesis:{id:"genes-cytokinesis",title:t("arpa_genepool_cytokinesis_title"),desc:t("arpa_genepool_synthesis_desc",[4,50]),reqs:{synthesis:2},grant:["synthesis",3],cost:{Plasmid(){return 55}},action(){return!!se("cytokinesis")}},mitosis:{id:"genes-mitosis",title:t("arpa_genepool_mitosis_title"),desc:t("arpa_genepool_mitosis_desc",[3]),reqs:{synthesis:3,evolve:2},grant:["plasma",1],cost:{Plasmid(){return 90}},action(){return!!se("mitosis")}},metaphase:{id:"genes-metaphase",title:t("arpa_genepool_metaphase_title"),desc:t("arpa_genepool_mitosis_desc",[5]),reqs:{plasma:1},grant:["plasma",2],cost:{Plasmid(){return 165}},action(){return!!se("metaphase")}},mutation:{id:"genes-mutation",title:t("arpa_genepool_mutation_title"),desc:t("arpa_genepool_mutation_desc"),reqs:{synthesis:3,creep:5},grant:["mutation",1],cost:{Plasmid(){return 1250}},action(){return se("mutation")?(e.genes.mutation=1,sa(),!0):!1}},transformation:{id:"genes-transformation",title:t("arpa_genepool_transformation_title"),desc:t("arpa_genepool_transformation_desc"),reqs:{mutation:1},grant:["mutation",2],cost:{Plasmid(){return 1500}},action(){return se("transformation")?(e.genes.mutation=2,sa(),!0):!1}},metamorphosis:{id:"genes-metamorphosis",title:t("arpa_genepool_metamorphosis_title"),desc:t("arpa_genepool_metamorphosis_desc"),reqs:{mutation:2},grant:["mutation",3],cost:{Plasmid(){return 1750}},action(){return se("metamorphosis")?(e.genes.mutation=3,sa(),!0):!1}},replication:{id:"genes-replication",title:t("arpa_genepool_replication_title"),desc:t("arpa_genepool_replication_desc"),reqs:{evolve:1},grant:["birth",1],cost:{Plasmid(){return 65}},action(){return!!se("replication")}},artificer:{id:"genes-artificer",title:t("arpa_genepool_artificer_title"),desc:t("arpa_genepool_artificer_desc"),reqs:{evolve:1},grant:["crafty",1],cost:{Plasmid(){return 45}},action(){return!!se("artificer")}},detail_oriented:{id:"genes-detail_oriented",title:t("arpa_genepool_detail_oriented_title"),desc:t("arpa_genepool_crafting_desc",["50"]),reqs:{crafty:1},grant:["crafty",2],cost:{Plasmid(){return 90}},action(){return!!se("detail_oriented")}},rigorous:{id:"genes-rigorous",title:t("arpa_genepool_rigorous_title"),desc:t("arpa_genepool_crafting_desc",["100"]),reqs:{crafty:2},grant:["crafty",3],cost:{Plasmid(){return 135}},action(){return!!se("rigorous")}},geographer:{id:"genes-geographer",title:t("arpa_genepool_geographer_title"),desc:t("arpa_genepool_geographer_desc"),reqs:{store:1},grant:["queue",1],cost:{Plasmid(){return 75}},action(){return!!se("geographer")}},architect:{id:"genes-architect",title:t("arpa_genepool_architect_title"),desc:t("arpa_genepool_architect_desc"),reqs:{queue:1},grant:["queue",2],cost:{Plasmid(){return 160}},action(){return!!se("architect")},post(){Or(),ca()}},precognition:{id:"genes-precognition",title:t("arpa_genepool_precognition_title"),desc:t("arpa_genepool_precognition_desc"),reqs:{queue:2},grant:["queue",3],condition(){return e.stats.aiappoc>0},cost:{Plasmid(){return 3500},Phage(){return 100},AICore(){return 1}},action(){return!!se("precognition")}},governance:{id:"genes-governance",title:t("arpa_genepool_governance_title"),desc:t("arpa_genepool_governance_desc"),reqs:{queue:2},grant:["governor",1],cost:{Plasmid(){return 300},Phage(){return 25}},action(){return!!se("governance")}},civil_service:{id:"genes-civil_service",title:t("arpa_genepool_civil_service_title"),desc:t("arpa_genepool_civil_service_desc"),reqs:{governor:1},grant:["governor",2],cost:{Plasmid(){return 1e3},Harmony(){return 1}},action(){return!!se("civil_service")},post(){if(e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("tasks"))for(let r=0;r<6;r++)e.race.governor.tasks.hasOwnProperty(`t${r}`)||(e.race.governor.tasks[`t${r}`]="none");Ne()}},bureaucratic_efficiency:{id:"genes-bureaucratic_efficiency",title:t("arpa_genepool_bureaucratic_efficiency_title"),desc:t("arpa_genepool_bureaucratic_efficiency_desc"),reqs:{governor:2},grant:["governor",3],cost:{Plasmid(){return 2500},Artifact(){return 1}},action(){return!!se("bureaucratic_efficiency")},post(){Ne()},flair(){return t("arpa_genepool_bureaucratic_efficiency_flair")}},hardened_genes:{id:"genes-hardened_genes",title:t("arpa_genepool_hardened_genes_title"),desc:t("arpa_genepool_hardened_genes_desc"),reqs:{},grant:["challenge",1],cost:{Plasmid(){return 5}},action(){return!!se("hardened_genes")}},unlocked:{id:"genes-unlocked",title:t("arpa_genepool_unlocked_title"),desc:t("arpa_genepool_unlocked_desc"),reqs:{challenge:1},grant:["challenge",2],cost:{Plasmid(){return 50}},action(){return!!se("unlocked")},post(){jt(!0)}},universal:{id:"genes-universal",title:t("arpa_genepool_universal_title"),desc:t("arpa_genepool_universal_desc"),reqs:{challenge:2},grant:["challenge",3],condition(){return e.race.universe!=="standard"},cost:{Plasmid(){return 400}},action(){return!!se("universal")},post(){jt(!0)}},standard:{id:"genes-standard",title:t("arpa_genepool_standard_title"),desc:t("arpa_genepool_standard_desc"),reqs:{challenge:3},grant:["challenge",4],condition(){return e.race.universe!=="standard"},cost:{Plasmid(){return 2500}},action(){return!!se("standard")},post(){jt(!0)}},mastered:{id:"genes-mastered",title:t("arpa_genepool_mastered_title"),desc:t("arpa_genepool_mastered_desc"),reqs:{challenge:4},grant:["challenge",5],cost:{Plasmid(){return 4e3}},action(){return!!se("mastered")}},negotiator:{id:"genes-negotiator",title:t("arpa_genepool_negotiator_title"),desc:t("arpa_genepool_negotiator_desc"),reqs:{challenge:2},grant:["trader",1],cost:{Plasmid(){return 750}},action(){return se("negotiator")?(e.genes.trader=1,fs(),!0):!1}},haggler:{id:"genes-haggler",title:t("arpa_genepool_haggler_title"),desc:t("arpa_genepool_haggler_desc"),reqs:{trader:1},condition(){return!!e.stats.achieve.godslayer},grant:["trader",2],cost:{Supercoiled(){return 10}},action(){return se("haggler")?(e.genes.trader=2,fs(),!0):!1}},ancients:{id:"genes-ancients",title:t("arpa_genepool_ancients_title"),desc:t("arpa_genepool_ancients_desc"),reqs:{evolve:2},condition(){return!!e.genes.old_gods},grant:["ancients",1],cost:{Plasmid(){return 120}},action(){return se("ancients")?(e.genes.ancients=1,ae(),!0):!1}},faith:{id:"genes-faith",title:t("arpa_genepool_faith_title"),desc:t("arpa_genepool_faith_desc"),reqs:{ancients:1},grant:["ancients",2],cost:{Plasmid(){return 300}},action(){return se("faith")?(e.civic.priest.display=!0,!0):!1}},devotion:{id:"genes-devotion",title:t("arpa_genepool_devotion_title"),desc:t("arpa_genepool_devotion_desc"),reqs:{ancients:2},grant:["ancients",3],cost:{Plasmid(){return 600}},action(){return!!se("devotion")}},acolyte:{id:"genes-acolyte",title:t("arpa_genepool_acolyte_title"),desc:t("arpa_genepool_acolyte_desc"),reqs:{ancients:3},grant:["ancients",4],cost:{Plasmid(){return 1e3}},action(){return!!se("acolyte")}},conviction:{id:"genes-conviction",title:t("arpa_genepool_conviction_title"),desc:t("arpa_genepool_conviction_desc"),reqs:{ancients:4},grant:["ancients",5],cost:{Plasmid(){return 1500}},action(){return!!se("conviction")}},doctrine:{id:"genes-doctrine",title:t("arpa_genepool_doctrine_title"),desc:t("arpa_genepool_doctrine_desc"),reqs:{ancients:5},condition(){return!!e.stats.achieve.godslayer},grant:["ancients",6],cost:{Supercoiled(){return 50}},action(){return!!se("doctrine")}},ideology:{id:"genes-ideology",title:t("arpa_genepool_ideology_title"),desc:t("arpa_genepool_ideology_desc"),reqs:{ancients:6},grant:["ancients",7],cost:{Supercoiled(){return 75}},action(){return!!se("ideology")}},transcendence:{id:"genes-transcendence",title:t("arpa_genepool_transcendence_title"),desc:t("arpa_genepool_transcendence_desc"),reqs:{ancients:1,mutation:3},grant:["transcendence",1],cost:{Plasmid(){return 3e3}},action(){return se("transcendence")?(e.genes.transcendence=1,ae(),!0):!1}},preeminence:{id:"genes-preeminence",title:t("arpa_genepool_preeminence_title"),desc:t("arpa_genepool_preeminence_desc"),reqs:{transcendence:1,challenge:5,ancients:7},grant:["transcendence",2],cost:{Supercoiled(){return 250},Harmony(){return 10}},action(){return!!se("preeminence")}},bleeding_effect:{id:"genes-bleeding_effect",title:t("arpa_genepool_bleeding_effect_title"),desc:t("arpa_genepool_bleeding_effect_desc",[2.5]),reqs:{creep:2},grant:["bleed",1],condition(){return e.race.universe==="antimatter"},cost:{Plasmid(){return 100}},action(){return!!se("bleeding_effect")}},synchronicity:{id:"genes-synchronicity",title:t("arpa_genepool_synchronicity_title"),desc:t("arpa_genepool_synchronicity_desc",[25]),reqs:{bleed:1},grant:["bleed",2],cost:{Plasmid(){return 500}},action(){return!!se("synchronicity")}},astral_awareness:{id:"genes-astral_awareness",title:t("arpa_genepool_astral_awareness_title"),desc:t("arpa_genepool_astral_awareness_desc"),reqs:{bleed:2},grant:["bleed",3],cost:{Plasmid(){return 1e3}},action(){return!!se("astral_awareness")}},blood_remembrance:{id:"genes-blood_remembrance",title:t("arpa_genepool_blood_remembrance_title"),desc:t("arpa_genepool_blood_remembrance_desc"),reqs:{},grant:["blood",1],condition(){return e.prestige.Blood_Stone.count>=1},cost:{Plasmid(){return 1e3},Phage(){return 10}},action(){return!!se("blood_remembrance")}},blood_sacrifice:{id:"genes-blood_sacrifice",title:t("arpa_genepool_blood_sacrifice_title"),desc:t("arpa_genepool_blood_sacrifice_desc"),reqs:{blood:1},grant:["blood",2],cost:{Plasmid(){return 3e3},Phage(){return 100},Artifact(){return 1}},action(){return!!se("blood_sacrifice")}},essence_absorber:{id:"genes-essence_absorber",title:t("arpa_genepool_essence_absorber_title"),desc:t("arpa_genepool_essence_absorber_desc"),reqs:{blood:2},grant:["blood",3],cost:{Plasmid(){return 7500},Phage(){return 250},Artifact(){return 1}},action(){return!!se("essence_absorber")},post(){jn()}}},We={purify:{id:"blood-purify",title:t("arpa_blood_purify_title"),desc:t("arpa_blood_purify_desc"),reqs:{},grant:["spire",1],cost:{Blood_Stone(){return 10}},action(){return!!Rt($(this)[0].cost)}},chum:{id:"blood-chum",title:t("arpa_blood_chum_title"),desc:t("arpa_blood_chum_desc"),reqs:{spire:1},grant:["spire",2],cost:{Blood_Stone(){return 25}},action(){return!!Rt($(this)[0].cost)}},lust:{id:"blood-lust",title:t("arpa_blood_lust_title"),desc:t("arpa_blood_lust_desc"),reqs:{},grant:["lust","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.lust||0))*15+15},Artifact(r){return((r||0)+(e.blood.lust||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},illuminate:{id:"blood-illuminate",title:t("arpa_blood_illuminate_title"),desc:t("arpa_blood_illuminate_desc"),reqs:{},grant:["illuminate","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.illuminate||0))*12+12},Artifact(r){return((r||0)+(e.blood.illuminate||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},greed:{id:"blood-greed",title:t("arpa_blood_greed_title"),desc:t("arpa_blood_greed_desc"),reqs:{},grant:["greed","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.greed||0))*16+16},Artifact(r){return((r||0)+(e.blood.greed||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},hoarder:{id:"blood-hoarder",title:t("arpa_blood_hoarder_title"),desc:t("arpa_blood_hoarder_desc"),reqs:{},grant:["hoarder","*"],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(r){return((r||0)+(e.blood.hoarder||0))*14+14},Artifact(r){return((r||0)+(e.blood.hoarder||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},artisan:{id:"blood-artisan",title:t("arpa_blood_artisan_title"),desc:t("arpa_blood_artisan_desc"),reqs:{},grant:["artisan","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.artisan||0))*8+8},Artifact(r){return((r||0)+(e.blood.artisan||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},attract:{id:"blood-attract",title:t("arpa_blood_attract_title"),desc:t("arpa_blood_attract_desc"),reqs:{},grant:["attract","*"],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(r){return((r||0)+(e.blood.attract||0))*4+4},Artifact(r){return((r||0)+(e.blood.attract||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},wrath:{id:"blood-wrath",title:t("arpa_blood_wrath_title"),desc:t("arpa_blood_wrath_desc"),reqs:{},grant:["wrath","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.wrath||0))*2+2},Artifact(){return 1}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},prepared:{id:"blood-prepared",title:t("arpa_blood_prepared_title"),desc:t("arpa_blood_prepared_desc"),reqs:{},grant:["prepared",1],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 50}},action(){return!!Rt($(this)[0].cost)},post(){Xa()}},compact:{id:"blood-compact",title:t("arpa_blood_compact_title"),desc:t("arpa_blood_compact_desc"),reqs:{prepared:1},grant:["prepared",2],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 75}},action(){return!!Rt($(this)[0].cost)}},infernal:{id:"blood-infernal",title:t("arpa_blood_infernal_title"),desc:t("arpa_blood_infernal_desc"),reqs:{prepared:2},grant:["prepared",3],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 125},Artifact(){return 1}},action(){return!!Rt($(this)[0].cost)}},unbound:{id:"blood-unbound",title:t("arpa_blood_unbound_title"),desc:t("arpa_blood_unbound_desc"),reqs:{},grant:["unbound",1],cost:{Blood_Stone(){return 50}},action(){return!!Rt($(this)[0].cost)}},unbound_resistance:{id:"blood-unbound_resistance",title:t("arpa_blood_unbound_resistance_title"),desc:t("arpa_blood_unbound_resistance_desc"),reqs:{unbound:1},grant:["unbound",2],cost:{Blood_Stone(){return 100}},action(){return!!Rt($(this)[0].cost)}},shadow_war:{id:"blood-shadow_war",title:t("arpa_blood_shadow_war_title"),desc:t("arpa_blood_shadow_war_desc"),reqs:{unbound:2},grant:["unbound",3],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 250},Artifact(){return 2}},action(){return!!Rt($(this)[0].cost)}},unbound_immunity:{id:"blood-unbound_immunity",title:t("arpa_blood_unbound_immunity_title"),desc:t("arpa_blood_unbound_immunity_desc"),reqs:{unbound:3},grant:["unbound",4],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 500}},action(){return!!Rt($(this)[0].cost)}},blood_aware:{id:"blood-blood_aware",title:t("arpa_blood_blood_aware_title"),desc:t("arpa_blood_blood_aware_desc"),reqs:{},grant:["aware",1],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 10}},action(){return!!Rt($(this)[0].cost)}}};function se(r){let a=!0,i=_t[r].cost;return Object.keys(i).forEach(function(s){let n=s;s==="Plasmid"&&e.race.universe==="antimatter"&&(s="AntiPlasmid"),e.prestige[s].countNumber(e.resource[i].amount))return a=!1,!1}),a}function Vr(r,a,i){return r=au(r,a,i),Ct({cost:r},a,i)}function au(r,a,i){let s=re("human");if(i&&i.creative||!i&&e.race.creative||!i&&s>0){var n={};return Object.keys(r).forEach(function(c){n[c]=function(){let o=r[c](a,i);return(i&&i.creative||!i&&e.race.creative)&&(o*=1-v.creative.vars()[1]/100),s>0&&(o*=1-v.creative.vars(1)[1]/100*s),o}}),n}return r}function qe(r,a,i,s,n){var c=e.arpa[r]?e.arpa[r].rank:0;return(n&&n.creative||!n&&e.race.creative)&&r!=="syphon"&&(s-=v.creative.vars()[0]),a&&(c+=a),Math.round(s**c*i)}function Wc(){if(e.tech.high_tech&&e.tech.high_tech>=6){let r=$("#arpaPhysics");K(r),Object.keys(de).forEach(function(a){nu(r,a)})}}function Cn(){let r=$("#geneticMinor")[0];if(r){let a=Sortable.get(r);a&&a.destroy()}}function iu(){let r=$("#geneticMinor")[0];r&&Sortable.create(r,{onEnd(a){let i=e.settings.mtorder;i.splice(a.newDraggableIndex,0,i.splice(a.oldDraggableIndex,1)[0]),e.settings.mtorder=i,sa()}})}function sa(){let r=$("#arpaGenetics");if(Cn(),K(r),!e.settings.arpa.genetics)return!1;if(e.tech.genetics>1){let a=$('
');r.append(a);let i=e.tech.genetics>2?t("arpa_gene_mutation"):t("arpa_sequence_genome");e.race.artifical&&(i=e.tech.genetics>2?t("arpa_code_modification"):t("arpa_decompile_source"));let s=$(`
${i} - ${t("arpa_to_complete")}
`);a.append(s);let n=$(`{{ progress }}%`);a.append(n);let c=e.tech.genetics>2?t("arpa_mutate"):t("arpa_sequence");e.race.artifical&&(c=e.tech.genetics>2?t("arpa_modify"):t("arpa_decompile"));let o=$(``);if(a.append(o),e.tech.genetics>=5){let l=$(``);a.append(l)}if(e.tech.genetics>=6){let l=$(``);a.append(l)}if(e.tech.genetics>=7){let l=$(``);a.append(l)}e.arpa.sequence.on&&$("#arpaSequence button.seq").addClass("has-text-success"),e.arpa.sequence.boost&&$("#arpaSequence button.boost").addClass("has-text-success"),e.arpa.sequence.auto&&$("#arpaSequence button.auto").addClass("has-text-success"),C({el:"#arpaSequence",data:e.arpa.sequence,methods:{toggle(){e.arpa.sequence.on?(e.arpa.sequence.on=!1,$("#arpaSequence button.seq").removeClass("has-text-success")):(e.arpa.sequence.on=!0,$("#arpaSequence button.seq").addClass("has-text-success"))},booster(){e.arpa.sequence.boost?(e.arpa.sequence.boost=!1,$("#arpaSequence button.boost").removeClass("has-text-success")):(e.arpa.sequence.boost=!0,$("#arpaSequence button.boost").addClass("has-text-success"))},boostLabel(l){return t(e.race.artifical?"arpa_boost_artifical_label":"arpa_boost_label")+(l?e.arpa.sequence.boost?t("city_on"):t("city_off"):"")},novo(){let l=W(),u=2e5;if(e.resource.Knowledge.amount>=u){let p=Math.floor(e.resource.Knowledge.amount/u),h=Math.min(l,p);e.resource.Knowledge.amount-=u*h,e.resource.Genes.amount+=h;let d=mt(8,12,!1);d.length>0&&$("#arpaSequence > div:first").append(d)}},novoLabel(){return t(e.race.artifical?"arpa_novo_artifical_label":"arpa_novo_label",["200k"])},auto_seq(){e.arpa.sequence.auto?(e.arpa.sequence.auto=!1,$("#arpaSequence button.auto").removeClass("has-text-success")):(e.arpa.sequence.auto=!0,$("#arpaSequence button.auto").addClass("has-text-success"))},autoLabel(l){return t(e.race.artifical?"arpa_auto_compile_label":"arpa_auto_seq_label")+(l?e.arpa.sequence.boost?t("city_on"):t("city_off"):"")}},filters:{timer(l){if(e.arpa.sequence.on&&e.arpa.sequence.labs>0)return e.arpa.sequence.boost?ut(l/(e.arpa.sequence.labs*2)):ut(l/e.arpa.sequence.labs);{let u=ht(14,12);return u.length>0?u:t("time_never")}}}}),N("popArpaSeq",function(){return e.tech.genetics>2?e.race.artifical?t("arpa_modify_desc"):t("arpa_mutate_desc"):e.race.artifical?t("arpa_decompile_desc"):t("arpa_sequence_desc")},{elm:"#arpaSequence .seqlbl",classes:"has-background-light has-text-dark"})}if(e.tech.genetics>2){let a=$('
');$("#arpaGenetics").append(a);let i=$('
');a.append(i),e.tech.decay&&e.tech.decay>=2&&(e.settings.mtorder.includes("fortify")||e.settings.mtorder.push("fortify")),Object.keys(e.race).forEach(function(q){v[q]&&v[q].type==="minor"&&(e.settings.mtorder.includes(q)||e.settings.mtorder.push(q))}),e.genes.challenge&&e.genes.challenge>=5&&(e.settings.mtorder.includes("mastery")||e.settings.mtorder.push("mastery"));let s=!1,n=[];e.settings.mtorder.forEach(function(q){(v[q]&&v[q].type==="minor"||q==="mastery"||q==="fortify")&&(q!=="fortify"||e.tech.decay&&e.tech.decay>=2)&&(!["promiscuous","content","resilient","industrious","tactical","fibroblast"].includes(q)&&e.race.lone_survivor||!e.race.lone_survivor)&&(s=!0,su(i,q),n.push(q))}),a.append(`
${t("arpa_race_genetic_traids",[lt("name")])}
`);let c=Tt("name"),o=[],l=[],u=$('
');a.append(u);let p=Re(e.race);ke("fool",2023)&&(p.hooved=1),Object.keys(p).forEach(function(q){if(v[q]&&v[q].type!=="minor"&&v[q].type!=="special"&&q!=="evil"&&q!=="soul_eater"&&q!=="artifical"){let P=!1;if(e.race.ss_traits&&e.race.ss_traits.includes(q)||e.race.iTraits&&e.race.iTraits.hasOwnProperty(q)||["sludge","ultra_sludge"].includes(e.race.species)&&(q==="ooze"||e.race.modified)?P=!0:e.race.hasOwnProperty(q)||(P=!0),!P&&(v[q].type==="major"&&e.genes.mutation||v[q].type==="genus"&&e.genes.mutation&&e.genes.mutation>=2)){let O=$('
'),U=$(`${t("arpa_remove_button")}`);o.push(q),O.append(U),O.append($(`${c[q]?c[q]:v[q].name} (${t("arpa_genepool_rank",[p[q]])})`)),u.append(O)}else l.push(q),u.append(`
${c[q]?c[q]:v[q].name} (${t("arpa_genepool_rank",[p[q]])})
`)}});let h=[],d=[];if(e.genes.mutation&&e.genes.mutation>=3&&(e.race.species!=="sludge"&&e.race.species!=="ultra_sludge"||!e.race.modified)){a.append(`
${t("arpa_race_genetic_gain")}
`);let q=["dumb","smart"],P=x[e.race.species].type==="hybrid"?e.race.maintype:x[e.race.species].type,O=x[e.race.species].type==="hybrid"?x[e.race.species].hybrid:[x[e.race.species].type];Object.keys(x).forEach(function(Z){Z!=="junker"&&Z!=="sludge"&&Z!=="ultra_sludge"&&Z!=="custom"&&(O.includes(x[Z].type)||x[Z].type==="hybrid"&&Z===e.race.species)&&Object.keys(x[Z].traits).forEach(function(z){if(!e.race[z]&&z!=="soul_eater"){let Y=q.indexOf(z);if(Y===-1)d.push(z),x[Z].type!==P&&Z!==e.race.species&&h.push(z);else{let tt=!1;switch(Y%2){case 0:e.race[q[Y+1]]&&(tt=!0);break;case 1:e.race[q[Y-1]]&&(tt=!0);break}tt||(d.push(z),x[Z].type!==P&&h.push(z))}}})});let U=$('
');a.append(U);for(let Z=0;Z'),tt=$(`${t("arpa_gain_button")}`);Y.append(tt),Y.append($(`${c[z]?c[z]:v[z].name}`)),U.append(Y)}}s&&a.prepend(`
${t("arpa_race_genetic_minor_traits",[lt("name")])}
`);let g=function(q){let P=v[q].val*5;return["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(P*=10),x[e.race.species].type==="hybrid"&&(P*=2),P<0&&(P*=-1),t("arpa_remove",[Tt("name",q),P,e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name")])},w=function(q){let P=v[q].val*5;return["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(P*=10),x[e.race.species].type==="hybrid"&&(P*=2),P<0&&(P*=-1),t("arpa_gain",[Tt("name",q),P,e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name")])},k=function(q){let P=ia(e.race.minor[q]?e.race.minor[q]+4:4);return q==="mastery"&&(P*=5),t("arpa_gene_buy",[Tt("name",q),X(P),e.resource.Genes.name])},M=function(q){let P=ia(e.genes.minor[q]?e.genes.minor[q]+4:4);return q==="mastery"&&(P*=2),t("arpa_phage_buy",[Tt("name",q),X(P),t("resource_Phage_name")])};C({el:"#geneticBreakdown",data:{genes:e.genes,race:e.race},methods:{gene(q){let P=0,O=W(),U=!0,Z=!1;for(;P=z?(e.resource.Genes.amount-=z,e.race.minor[q]?e.race.minor[q]++:e.race.minor[q]=1,e.race[q]?e.race[q]++:e.race[q]=1,Z=!0):U=!1,P++}Z&&(q==="mastery"&&jt(!0),sa(),q==="persuasive"&&fs())},phage(q){let P=0,O=W(),U=!0,Z=!1;for(;P=z?(e.prestige.Phage.count-=z,e.genes.minor[q]?e.genes.minor[q]++:e.genes.minor[q]=1,e.race[q]?e.race[q]++:e.race[q]=1,Z=!0):U=!1,P++}Z&&(q==="mastery"&&jt(!0),sa(),q==="persuasive"&&fs())},purge(q){if(["sludge","ultra_sludge"].includes(e.race.species)&&(e.race.modified||q==="ooze"))return;let P=v[q].val*5;["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(P*=10),x[e.race.species].type==="hybrid"&&(P*=2),P<0&&(P*=-1);let O=e.race.universe==="antimatter"?"AntiPlasmid":"Plasmid";if(e.prestige[O].count>=P){e.prestige[O].count-=P;let U=e.race[q];delete e.race[q],e.race.modified?e.race.modified++:e.race.modified=1,Ei(q,U),sa(),ae(),Ht();let Z=0;Object.keys(e.race).forEach(function(z){v[z]&&(v[z].type=="major"||v[z].type=="genus")&&z!=="evil"&&Z++}),Z===0&&oe("blank_slate")}},gain(q){if(["sludge","ultra_sludge"].includes(e.race.species)&&e.race.modified)return;let P=v[q].val*5;["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(P*=10),x[e.race.species].type==="hybrid"&&(P*=2),P<0&&(P*=-1);let O=e.race.universe==="antimatter"?"AntiPlasmid":"Plasmid";e.prestige[O].count>=P&&(e.prestige[O].count-=P,e.race[q]=1,e.race.modified?e.race.modified++:e.race.modified=1,Ka(q),h.includes(q)&&me(q,{down:!0}),sa(),ae(),Ht())},geneCost(q){return k(q)},phageCost(q){return M(q)},traitEffect(q){return t(`trait_${q}_effect`)},removeCost(q){return g(q)},addCost(q){return w(q)},genePurchasable(q){let P=ia(e.race.minor[q]?e.race.minor[q]+4:4);return q==="mastery"&&(P*=5),e.resource.Genes.amount>=P},phagePurchasable(q){let P=ia(e.genes.minor[q]?e.genes.minor[q]+4:4);return q==="mastery"&&(P*=2),e.prestige.Phage.count>=P}}}),n.forEach(function(q){N(`popGenetrait${q}`,function(){return k(q)},{elm:`#geneticBreakdown .t-${q} .gbuy`,classes:"has-background-light has-text-dark"}),e.prestige.Phage.count>0&&N(`popGenetrait${q}`,function(){return M(q)},{elm:`#geneticBreakdown .t-${q} .pbuy`,classes:"has-background-light has-text-dark"}),N(`popGenetrait${q}`,function(){return e.stats.feat.novice&&e.stats.achieve.apocalypse&&e.stats.achieve.apocalypse.l>0?`
${Tt("desc",q)}
${t(`trait_${q}_effect`)}
`:Tt("desc",q)},{elm:`#geneticBreakdown .t-${q} .name`,classes:"has-background-light has-text-dark"})}),o.forEach(function(q){N(`popRemoveBkdwn${q}`,function(){return g(q)},{elm:`#geneticBreakdown .remove${q}`,classes:"has-background-light has-text-dark"});let P=`raceTrait${q}`,O=$("
");Hr(O,q,{trank:e.race[q]}),N(P,O,{wide:!0,classes:"w30"})}),l.forEach(function(q){let P=`raceTrait${q}`,O=$("
");Hr(O,q,{trank:e.race[q]}),N(P,O,{elm:`#geneticBreakdown .trait${q}`,wide:!0,classes:"w30"})}),d.forEach(function(q){N(`popAddBkdwn${q}`,function(){return w(q)},{elm:`#geneticBreakdown .add${q}`,classes:"has-background-light has-text-dark"});let P=`raceTrait${q}`,O=$("
");Hr(O,q,{trank:h.includes(q)?.5:1}),N(P,O,{wide:!0,classes:"w30"})}),iu()}}function su(r,a){let i=$(`
`),s=$(`${e.resource.Genes.name} (${e.race.minor[a]||0})`);if(i.append(s),e.prestige.Phage.count>0){let c=$(`${t("resource_Phage_name")} (${e.genes.minor[a]||0})`);i.append(c)}let n=e.race[a]>1?`(${e.race[a]}) `:"";i.append(`${n}${Tt("name",a)}`),r.append(i)}function Qc(){(e.tech.genetics&&e.tech.genetics>3||e.sim)&&(K($("#arpaCrispr")),$("#arpaCrispr").append(`
${t("arpa_crispr_desc")}
`),$("#arpaCrispr").append('
'),Jl())}function jn(){e.tech.b_stone&&e.tech.b_stone>=2&&(K($("#arpaBlood")),$("#arpaBlood").append(`
${t("arpa_blood_desc")}
`),$("#arpaBlood").append('
'),Zl())}function nu(r,a){if(eu(a)){if(e.arpa[a]||(e.arpa[a]={complete:0,rank:0}),de[a].rank&&e.arpa[a].rank>=de[a].rank)return;let i=$(`
`);r.append(i);let s=typeof de[a].title=="string"?de[a].title:de[a].title(),n=$(`
${s}{{ rank | level }}
`);i.append(n);let c=$('
{{ complete }}%
');n.append(c);let o=$('
');i.append(o),o.append($(``)),o.append($(``)),o.append($(``)),o.append($(``)),o.append($(``)),C({el:`#arpa${a}`,data:e.arpa[a],methods:{queue(u){if(e.tech.queue){let h=W();for(let d=0;d0){if(e.settings.q_merge!=="merge_never"&&e.queue.queue.length>0&&e.queue.queue[e.queue.queue.length-1].id===g)e.queue.queue[e.queue.queue.length-1].q++;else{let M=typeof de[u].title=="string"?de[u].title:de[u].title();e.queue.queue.push({id:g,action:"arpa",type:u,label:M,cna:!1,time:0,q:1,qs:1,t_max:0})}ka()}else break}}},build(u,p){cu(u,p,!0)},srDesc(){return Ai(typeof de[a].desc=="string"?de[a].desc:de[a].desc())},srLevel(){return Ai(de[a].effect())},arpaProjectSRCosts(u,p){let h=u==="100"?100-e.arpa[p].complete:u;var d=`Construct ${h}%. Costs:`,g=Vr(de[p].cost);return Object.keys(g).forEach(function(w){var k=+(g[w]()*(h/100)).toFixed(0);if(k>0){var M=w==="Money"?"$":e.resource[w].name+": ",q=e.resource[w].amount>=k?"":` ${t("insufficient")} ${e.resource[w].name}.`;d=d+` ${M} ${X(k,2)}.${q}`}}),d}},filters:{remain(u){return 100-u},level(u){return t("arpa_level",[u])}}}),N(`popArpa${a}`,function(){return de[a].desc},{elm:`#arpa${a} .head .desc`,classes:"has-background-light has-text-dark"}),N(`popArpa${a}`,function(){return de[a].effect()},{elm:`#arpa${a} .head .rank`,classes:"has-background-light has-text-dark"});let l=[1,10,25,100];for(let u=0;u=100&&(e.arpa[r].rank++,e.arpa[r].complete=0,e.tech[de[r].grant]=e.arpa[r].rank,n=!0,r==="monument"&&(e.arpa.m_type=Uc(),$(`#arpa${r} .head .desc`).html(de[r].title()),Lr(!1,["arpamonument"])),r==="roid_eject"&&($(`#arpa${r} .head .desc`).html(de[r].title()),Lr(!1,["arparoid_eject"])),r==="launch_facility"&&(e.settings.showSpace=!0,e.tech.space=1,le("popArpalaunch_facility"),[1,10,25,100].forEach(function(o){le(`popArpalaunch_facility${o}`)}),s||fr(["arpalaunch_facility"]),Wc(),St(),I(t("arpa_projects_launch_facility_msg"),"info",!1,["progress"])),e.race.inflation&&(e.race.inflation+=10),ae()));if(i){let c=[1,10,25,100],o=$("#popper"),l=o.data("id");for(let u=0;u"),n=Vr(de[a].cost);let c=ys(de[a],i/100,!1,!0);return Object.keys(n).forEach(function(o){var l=+(n[o]()*(i/100)).toFixed(0);if(l>0){var u=o==="Money"?"$":e.resource[o].name+": ",p=e.resource[o].amount>=l?"has-text-dark":o===c.r?"has-text-danger":"has-text-alert";s.append($(`
${u}${X(l,2)}
`))}}),s}function fs(){Object.keys(e.resource).forEach(function(r){C({el:`#market-${r}`},"update")}),C({el:"#galaxyTrade"},"update")}function bs(){if(!e.civic.mad.armed&&!e.race.cataclysm){e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"mad"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,o=$e("mad");e.stats.mad++,gr(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,B("apocalypse"),B("squished",!0),B(`extinct_${r}`),e.civic.govern.type==="anarchy"&&B("anarchist"),e.city.biome==="hellscape"&&x[e.race.species].type!=="demonic"&&oe("take_no_advice"),e.race.truepath&&B("ashanddust"),vr(),Li("md");let l=e.race.hasOwnProperty("srace")?e.race.srace:!1,u=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,rapid_mutation:1,ancient_ruins:1,universe:e.race.universe,seeded:!1,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},u>0&&(e.race.corruption=u),l&&(e.race.srace=l),Sr({orbit:i,biome:s,ptrait:n,geology:c}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}}function Jc(){e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"bioseed"});let r=e.race.species,a=e.race.gods,i=x[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,o=$e("bioseed");e.stats.bioseed++,gr(),e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,B("seeder"),B(`biome_${n}`),c.forEach(function(w){Ie.hasOwnProperty(w)&&B(`atmo_${w}`)}),B(`genus_${i}`),e.race.gravity_well&&B("escape_velocity"),e.race.truepath&&B("exodus"),c.includes("dense")&&e.race.universe==="heavy"&&B("double_density"),e.race.junker&&e.race.species==="junker"&&oe("organ_harvester"),e.city.biome==="hellscape"&&x[e.race.species].type!=="demonic"&&oe("ill_advised"),typeof e.tech.world_control>"u"&&B("cult_of_personality"),e.race.cataclysm&&B("iron_will",!1,5),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross");let l=0,u=0;switch(Object.keys(e.city.geology).forEach(function(w){e.city.geology[w]>0?l++:e.city.geology[w]<0&&u++}),l>=4&&B("miners_dream"),u>=3&&oe("rocky_road"),e.race.steelen&&e.race.steelen>=1&&B("steelen"),e.race.universe){case"micro":e.race.small||e.race.compact?B("macro",!0):B("marble",!0);break;default:break}vr();let p=e.race.hasOwnProperty("srace")?e.race.srace:!1,h=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0,d=e.starDock.probes.count+1,g=e.starDock.hasOwnProperty("geck")?e.starDock.geck.count:0;e.stats.achieve.explorer&&(d+=e.stats.achieve.explorer.l),e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!0,probes:d,geck:g,seed:Math.floor(T(1e4)),ascended:!1},h>0&&(e.race.corruption=h),p&&(e.race.srace=p),Sr({orbit:s,biome:n,ptrait:c,geology:!1}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Zc(){if(e.city.ptrait.includes("unstable")&&e.tech.quaked){ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),He("reset",{end:"cataclysm"}),or();let r=$e("cataclysm");e.stats.cataclysm++,gr(),e.prestige.Phage.count+=r.phage,e.stats.phage+=r.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=r.plasmid,e.stats.antiplasmid+=r.plasmid):(e.prestige.Plasmid.count+=r.plasmid,e.stats.plasmid+=r.plasmid),e.stats.pdebt=r.pdebt,B("squished",!0),B(`extinct_${e.race.species}`),e.city.biome==="hellscape"&&x[e.race.species].type!=="demonic"&&oe("take_no_advice"),vr(),B("shaken"),e.race.cataclysm&&B("failed_history"),Li("ct");let a=e.race.hasOwnProperty("srace")?e.race.srace:!1,i=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:e.race.species,gods:e.race.gods,old_gods:e.race.old_gods,universe:e.race.universe,seeded:!1,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},i>0&&(e.race.corruption=i),a&&(e.race.srace=a),Sr({orbit:e.city.calendar.orbit,biome:e.city.biome,ptrait:e.city.ptrait,geology:e.city.geology}),e.race.universe==="antimatter"?e.race.weak_mastery=1:e.race.no_plasmid=1;let s=["crispr","trade","craft"];for(let n=0;n1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:"bigbang",seeded:!0,bigbang:!0,probes:4,seed:Math.floor(T(1e4)),ascended:!1},l>0&&(e.race.corruption=l),o&&(e.race.srace=o),Sr({orbit:i,biome:s,ptrait:n,geology:!1}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Xc(){or(),He("reset",{end:"ascend"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,o=$e("ascend");e.stats.ascend++,gr(),e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.Harmony.count=parseFloat((e.prestige.Harmony.count+o.harmony).toFixed(2)),e.stats.harmony=parseFloat((e.stats.harmony+o.harmony).toFixed(2)),n.forEach(function(h){Ie.hasOwnProperty(h)&&B(`atmo_${h}`)}),typeof e.tech.world_control>"u"&&B("cult_of_personality");let l=0;Object.keys(e.city.geology).forEach(function(h){e.city.geology[h]>0&&l++}),l>=4&&B("miners_dream"),(!e.galaxy.hasOwnProperty("dreadnought")||e.galaxy.dreadnought.count===0)&&B("dreaded"),!e.race.modified&&(e.race.species==="synth"||e.race.species==="nano")&&e.race.emfield&&oe("digital_ascension"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),vr();let u=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:!0},p>0&&(e.race.corruption=p),u&&(e.race.srace=u),Object.keys(c).forEach(function(h){c[h]+=.02}),Sr({orbit:i,biome:s,ptrait:n,geology:c}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Ii(){if(ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"descension"}),B("squished",!0),B(`extinct_${e.race.species}`),e.race.witch_hunter&&e.tech.forbidden>=5&&e.race.universe==="magic"?B("nightmare"):B("corrupted"),e.race.fasting&&e.tech.dish_reset){let p=fe();e.stats.endless_hunger.b5[p]=!0,p!=="m"&&p!=="l"&&(e.stats.endless_hunger.b5.l=!0),e.stats.starved===0&&oe("immortal")}x[e.race.species].type==="angelic"&&oe("twisted"),e.race.junker&&e.race.species==="junker"&&oe("the_misery"),!e.race.modified&&e.race.junker&&e.race.species==="junker"&&oe("garbage_pie"),e.race.cataclysm&&oe("finish_line"),e.race.ooze&&e.race.species==="sludge"&&oe("slime_lord"),Li("di");let r=$e("descend");e.prestige.Artifact.count+=r.artifact,e.stats.artifact+=r.artifact;let a=fe();e.stats.spire.hasOwnProperty(a)&&(e.stats.spire[a].hasOwnProperty("lord")?e.stats.spire[a].lord++:e.stats.spire[a].lord=1,e.tech.dl_reset?e.stats.spire[a].dlstr=0:e.stats.spire[a].hasOwnProperty("dlstr")?e.stats.spire[a].dlstr++:e.stats.spire[a].dlstr=1);let i=e.race.species,s=e.race.gods,n=e.city.calendar.orbit,c=e.city.biome,o=e.city.ptrait,l=e.city.geology;e.stats.descend++,gr(),vr();let u=e.race.hasOwnProperty("srace")?e.race.srace:!1;e.race={species:"protoplasm",gods:i,old_gods:s,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),corruption:5,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},u&&(e.race.srace=u),Sr({orbit:n,biome:c,ptrait:o,geology:l}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Yc(){or(),He("reset",{end:"apotheosis"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,o=$e("apotheosis");e.stats.apotheosis++,gr(),e.prestige.Supercoiled.count+=o.supercoiled,e.stats.supercoiled+=o.supercoiled,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,n.forEach(function(h){Ie.hasOwnProperty(h)&&B(`atmo_${h}`)}),typeof e.tech.world_control>"u"&&B("cult_of_personality");let l=0;Object.keys(e.city.geology).forEach(function(h){e.city.geology[h]>0&&l++}),l>=4&&B("miners_dream"),(!e.galaxy.hasOwnProperty("dreadnought")||e.galaxy.dreadnought.count===0)&&B("dreaded"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),vr();let u=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:!0},p>0&&(e.race.corruption=p),u&&(e.race.srace=u),Object.keys(c).forEach(function(h){c[h]+=.02}),Sr({orbit:i,biome:s,ptrait:n,geology:c}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function eo(r){or(),He("reset",{end:"terraform"});let a=e.race.species,i=e.race.gods,s=e.city.calendar.orbit,n=r.biome,c=r.traitlist,o=r.geology,l=$e("terraform");e.stats.terraform++,gr(),e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.Harmony.count=parseFloat((e.prestige.Harmony.count+l.harmony).toFixed(2)),e.stats.harmony=parseFloat((e.stats.harmony+l.harmony).toFixed(2)),c.forEach(function(d){Ie.hasOwnProperty(d)&&B(`atmo_${d}`)}),typeof e.tech.world_control>"u"&&B("cult_of_personality");let u=0;Object.keys(e.city.geology).forEach(function(d){e.city.geology[d]>0&&u++}),u>=4&&B("miners_dream"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),vr();let p=e.race.hasOwnProperty("srace")?e.race.srace:!1,h=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:a,old_gods:i,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1,rejuvenated:!0},h>0&&(e.race.corruption=h),p&&(e.race.srace=p),Sr({orbit:s,biome:n,ptrait:c,geology:o}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function to(){e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"ai apocalypse"}),B(`extinct_${e.race.species}`),B("obsolete"),B("squished",!0),e.race.junker&&e.race.species==="junker"&&oe("the_misery"),Li("ai");let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,o=$e("ai");vr(),e.stats.aiappoc++,gr(),e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.AICore.count+=o.cores,e.stats.cores+=o.cores;let l=x[r].type!=="synthetic"&&!["junker","sludge","ultra_sludge"].includes(r)?r:e.race.hasOwnProperty("srace")?e.race.srace:r;e.stats.synth[r]=!0;let u=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,srace:l,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},u>0&&(e.race.corruption=u),Sr({orbit:i,biome:s,ptrait:n,geology:c}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function ro(){ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"matrix"});let r=e.race.species,a=e.race.gods,i=x[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,o=e.city.geology,l=$e("matrix");B(`biome_${n}`),c.forEach(function(h){Ie.hasOwnProperty(h)&&B(`atmo_${h}`)}),B(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),B("bluepill"),zn(),vr(),e.stats.matrix++,gr(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.prestige.AICore.count+=l.cores,e.stats.cores+=l.cores;let u=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},p>0&&(e.race.corruption=p),u&&(e.race.srace=u),Sr({orbit:s,biome:n,ptrait:c,geology:o}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function ao(){ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"retired"});let r=e.race.species,a=e.race.gods,i=x[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,o=e.city.geology,l=$e("retired");B(`biome_${n}`),c.forEach(function(h){Ie.hasOwnProperty(h)&&B(`atmo_${h}`)}),B(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),B("retired"),zn(),vr(),e.stats.retire++,gr(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.prestige.AICore.count+=l.cores,e.stats.cores+=l.cores;let u=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},p>0&&(e.race.corruption=p),u&&(e.race.srace=u),Sr({orbit:s,biome:n,ptrait:c,geology:o}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function io(){ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"eden"});let r=e.race.species,a=e.race.gods,i=x[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,o=e.city.geology,l=$e("eden");B(`biome_${n}`),c.forEach(function(h){Ie.hasOwnProperty(h)&&B(`atmo_${h}`)}),B(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),B("adam_eve"),zn(),vr(),e.stats.eden++,gr(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.prestige.AICore.count+=l.cores,e.stats.cores+=l.cores;let u=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},p>0&&(e.race.corruption=p),u&&(e.race.srace=u),Sr({orbit:s,biome:n,ptrait:c,geology:o}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Sr(r){e.city={calendar:{day:0,year:0,weather:2,temp:1,moon:0,wind:0,orbit:r.orbit},biome:r.biome,ptrait:r.ptrait},r.geology&&(e.city.geology=r.geology),e.tech={theology:1},Pn(),e.new=!0,e.seed=Math.rand(0,1e4)}function zn(){let r=fe();e.race.womling_friend?(r!=="m"&&e.stats.womling.friend.l++,r!=="l"&&(e.stats.womling.friend.hasOwnProperty(r)||(e.stats.womling.friend[r]=0),e.stats.womling.friend[r]++)):e.race.womling_lord?(r!=="m"&&e.stats.womling.lord.l++,r!=="l"&&(e.stats.womling.lord.hasOwnProperty(r)||(e.stats.womling.lord[r]=0),e.stats.womling.lord[r]++)):e.race.womling_god&&(r!=="m"&&e.stats.womling.god.l++,r!=="l"&&(e.stats.womling.god.hasOwnProperty(r)||(e.stats.womling.god[r]=0),e.stats.womling.god[r]++)),e.stats.womling.friend.l>0&&e.stats.womling.lord.l>0&&e.stats.womling.god.l>0&&B("overlord",r==="m",ft(),"l"),e.stats.womling.friend[r]>0&&e.stats.womling.lord[r]>0&&e.stats.womling.god[r]>0&&B("overlord",r==="m",ft(),r)}function Li(r){if(e.race.species==="ultra_sludge"){let a=ft(),i=fe();e.stats.death_tour[r][i]c&&(c=e.stats.death_tour[n][o])}),s>c&&(s=c)}),s>0&&oe("grand_death_tour",!1,s)}}var ei={spc_titan:{info:{name(){return A().titan},desc(){return t("space_titan_info_desc",[A().titan,x[e.race.species].home])},support:"electrolysis",zone:"outer",syndicate(){return!!(e.tech.titan&&e.tech.titan>=3&&e.tech.enceladus&&e.tech.enceladus>=2)},syndicate_cap(){return e.tech.triton?e.tech.outer>=4?2e3:1e3:600}},titan_mission:{id:"space-titan_mission",title(){return t("space_mission_title",[A().titan])},desc(){return t("space_mission_desc",[A().titan])},reqs:{outer:1},grant:["titan",1],path:["truepath"],queue_complete(){return e.tech.titan>=1?0:1},cost:{Helium_3(r,a){return+ve(25e4,!1,a).toFixed(0)},Elerium(){return 100}},effect(){return t("space_titan_mission_effect",[A().titan])},action(){return _($(this)[0])?(I(t("space_titan_mission_action",[A().titan,x[e.race.species].home]),"info",!1,["progress"]),!0):!1}},titan_spaceport:{id:"space-titan_spaceport",title:t("space_red_spaceport_title"),desc:`
${t("space_red_spaceport_desc")}
${t("requires_power")}
`,reqs:{titan:1},path:["truepath"],cost:{Money(r){return f("titan_spaceport",r,25e5,1.32)},Lumber(r){return f("titan_spaceport",r,75e4,1.32)},Cement(r){return f("titan_spaceport",r,35e4,1.32)},Mythril(r){return f("titan_spaceport",r,1e4,1.32)}},effect(){let r=e.resource.Water.display?`
${t("plus_max_resource",[X(G(250)),e.resource.Water.name])}
`:"",a=e.tech.enceladus&&e.tech.enceladus>=2?`
+${t("galaxy_alien2_support",[$(this)[0].support(),A().enceladus])}
`:"",i=e.tech.titan&&e.tech.titan>=5?`
${t("space_titan_spaceport_storage",[25])}
`:"";return`${a}${r}${i}
${t("minus_power",[$(this)[0].powered()])}
`},support(){return 2},powered(){return V(10)},action(){return _($(this)[0])?(S("titan_spaceport"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["titan_spaceport","space"]}},post(){e.tech.titan===1&&(e.tech.titan=2,ae())}},electrolysis:{id:"space-electrolysis",title:t("space_electrolysis_title"),desc(){return`
${t("space_electrolysis_title")}
${t("space_electrolysis_req",[e.resource.Water.name])}
`},reqs:{titan:3},path:["truepath"],cost:{Money(r){return f("electrolysis",r,1e6,1.25)},Copper(r){return f("electrolysis",r,185e3,1.25)},Steel(r){return f("electrolysis",r,22e4,1.25)},Polymer(r){return f("electrolysis",r,38e4,1.25)}},effect(r){return`${`
+${t("galaxy_alien2_support",[$(this)[0].support(r),A().titan])}
`}
${t("space_electrolysis_use",[$(this)[0].support_fuel().a,e.resource.Water.name,$(this)[0].powered()])}
`},support(r){return e.tech.titan_ai_core&&e.tech.titan_ai_core>=2&&(r?e.space.ai_core2.on:H.ai_core2)?3:2},support_fuel(){return{r:"Water",a:35}},powered(){return V(8)},action(){return _($(this)[0])?(S("electrolysis"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["electrolysis","space"]}},post(){e.tech.titan===3&&(e.tech.titan=4,ae())}},hydrogen_plant:{id:"space-hydrogen_plant",title:t("space_hydrogen_plant_title"),desc(){return`
${t("space_hydrogen_plant_title")}
${t("space_hydrogen_plant_req")}
`},reqs:{titan_power:1},path:["truepath"],cost:{Money(r){return f("hydrogen_plant",r,15e5,1.28)},Iridium(r){return f("hydrogen_plant",r,292e3,1.28)},Stanene(r){return f("hydrogen_plant",r,599e3,1.28)},Cement(r){return f("hydrogen_plant",r,18e4,1.28)}},effect(){return`${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}, ${t("space_hydrogen_plant_effect",[1,t("space_electrolysis_title")])}`},support(){return 2},powered(){return nt(-22)},action(){return _($(this)[0])?(S("hydrogen_plant"),e.space.electrolysis.on>e.space.hydrogen_plant.on&&e.space.hydrogen_plant.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["hydrogen_plant","space"]}}},titan_quarters:{id:"space-titan_quarters",title:t("interstellar_habitat_title"),desc(){return`
${t("interstellar_habitat_title")}
${t("space_habitat_req",[A().titan,e.resource.Food.name,e.resource.Water.name])}
`},reqs:{titan:4},path:["truepath"],cost:{Money(r){return f("titan_quarters",r,12e5,1.28)},Furs(r){return f("titan_quarters",r,85e3,1.28)},Plywood(r){return f("titan_quarters",r,1e5,1.28)},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=E(1);return`
${t("space_used_support",[A().titan])}
${t("plus_max_resource",[E(1),e.race.truepath?t("job_colonist_tp",[A().titan]):t("colonist")])}
${t("plus_max_resource",[r,t("citizen")])}
${t("spend",[$(this)[0].support_fuel()[0].a,e.resource[$(this)[0].support_fuel()[0].r].name])}
${t("spend",[$(this)[0].support_fuel()[1].a,e.resource[$(this)[0].support_fuel()[1].r].name])}
`},s_type:"titan",support(){return-1},support_fuel(){return[{r:"Water",a:12},{r:"Food",a:500}]},powered(){return 0},action(){if(_($(this)[0])){if(S("titan_quarters"),e.civic.titan_colonist.display=!0,L($(this)[0])){e.resource[e.race.species].max+=E(1);let r=E(1);e.civic.titan_colonist.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.titan_colonist.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["titan_quarters","space"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},titan_mine:{id:"space-titan_mine",title(){return Ce("mine")},desc(){return`
${t("space_red_mine_desc")}
${t("space_support",[A().titan])}
`},reqs:{titan:4},condition(){return!!(e.space.titan_quarters&&e.space.titan_quarters.count>0)},path:["truepath"],cost:{Money(r){return f("titan_mine",r,475e3,1.28)},Lumber(r){return f("titan_mine",r,568e3,1.28)},Wrought_Iron(r){return f("titan_mine",r,25e4,1.28)}},effect(){let r=ie("titan_mine","adamantite"),a=ie("titan_mine","aluminium"),i=+r.toFixed(3),s=+a.toFixed(3);return`
${t("space_used_support",[A().titan])}
${t("space_red_mine_effect",[i,e.resource.Adamantite.name])}
${t("space_red_mine_effect",[s,e.resource.Aluminium.name])}
`},s_type:"titan",support(){return-1},powered(){return 0},special(){return!0},action(){return _($(this)[0])?(S("titan_mine"),e.resource.Adamantite.display=!0,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,ratio:90},p:["titan_mine","space"]}}},storehouse:{id:"space-storehouse",title:t("space_storehouse_title"),desc:t("space_storehouse_title"),reqs:{titan:5},path:["truepath"],cost:{Money(r){return f("storehouse",r,175e3,1.28)},Lumber(r){return f("storehouse",r,1e5,1.28)},Aluminium(r){return f("storehouse",r,12e4,1.28)},Cement(r){return f("storehouse",r,45e3,1.28)}},wide:!0,res(){return["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Steel","Titanium","Alloy","Polymer","Iridium","Chrysotile","Nano_Tube","Neutronium","Adamantite"]},heavy(r){return!!["Copper","Iron","Steel","Titanium","Iridium","Neutronium","Adamantite"].includes(r)},val(r){switch(r){case"Lumber":return 3e3;case"Stone":return 3e3;case"Chrysotile":return 3e3;case"Furs":return 1700;case"Copper":return 1520;case"Iron":return 1400;case"Aluminium":return 1280;case"Cement":return 1120;case"Coal":return 480;case"Steel":return 240;case"Titanium":return 160;case"Alloy":return 180;case"Polymer":return 150;case"Iridium":return 175;case"Nano_Tube":return 120;case"Neutronium":return 64;case"Adamantite":return 72;default:return 0}},effect(r){let a='
',i=ri("storehouse",!1,r),s=ri("storehouse",!0,r);for(let n of $(this)[0].res())if(e.resource[n].display){let c=$(this)[0].heavy(n),o=X(+(G($(this)[0].val(n))*(c?s:i)).toFixed(0),1);a=a+`${t("plus_max_resource",[o,e.resource[n].name])}`}return a=a+"
",a},action(){if(_($(this)[0])){S("storehouse");let r=ri("storehouse",!1),a=ri("storehouse",!0);for(let i of $(this)[0].res())if(e.resource[i].display){let s=$(this)[0].heavy(i);e.resource[i].max+=G($(this)[0].val(i))*(s?a:r)}return!0}return!1},struct(){return{d:{count:0},p:["storehouse","space"]}}},titan_bank:{id:"space-titan_bank",title:t("city_bank"),desc(){return t("city_bank_desc",[A().titan])},reqs:{titan:6},path:["truepath"],cost:{Money(r){return f("titan_bank",r,25e5,1.32)},Titanium(r){return f("titan_bank",r,38e4,1.32)},Neutronium(r){return f("titan_bank",r,5e3,1.32)}},effect(){let r=kr()*2;return r=G(r),r=(+r.toFixed(0)).toLocaleString(),t("plus_max_resource",[`$${r}`,t("resource_Money_name")])},action(){return _($(this)[0])?(e.resource.Money.max+=G(1800),S("titan_bank"),!0):!1},struct(){return{d:{count:0},p:["titan_bank","space"]}}},g_factory:{id:"space-g_factory",title:t("interstellar_g_factory_title"),desc(){return`
${t("interstellar_g_factory_title")}
${t("space_support",[A().titan])}
`},reqs:{graphene:1},path:["truepath"],cost:{Money(r){return f("g_factory",r,95e4,1.28)},Copper(r){return f("g_factory",r,165e3,1.28)},Stone(r){return f("g_factory",r,22e4,1.28)},Adamantite(r){return f("g_factory",r,12500,1.28)}},effect(){let r=.05;return e.race.high_pop&&(r=+he(r).toFixed(3)),`
${t("space_used_support",[A().titan])}
${t("space_red_mine_effect",[r,e.resource.Graphene.name])}
${t("interstellar_g_factory_effect")}
`},s_type:"titan",support(){return-1},powered(){return 0},special:!0,action(){return _($(this)[0])?(S("g_factory"),e.resource.Graphene.display=!0,L($(this)[0])&&(e.race.kindling_kindred||e.race.smoldering?e.space.g_factory.Oil++:e.space.g_factory.Lumber++),e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,on:0,Lumber:0,Coal:0,Oil:0},p:["g_factory","space"]}}},sam:{id:"space-sam",title:t("space_sam_title"),desc(){return`
${t("space_sam_desc")}
${t("requires_power")}
`},reqs:{titan:7},path:["truepath"],cost:{Money(r){return f("sam",r,25e5,1.28)},Steel(r){return f("sam",r,45e4,1.28)},Elerium(r){return f("sam",r,120,1.28)},Brick(r){return f("sam",r,16e4,1.28)}},effect(){return`
${t("galaxy_defense_platform_effect",[25])}
`+`
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(5)},action(){return _($(this)[0])?(S("sam"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["sam","space"]}},post(){C({el:"#spc_titansynd"},"update")}},decoder:{id:"space-decoder",title:t("space_decoder_title"),desc(){return`
${t("space_decoder_title")}
${t("requires_power_support_combo",[A().titan,e.resource.Cipher.name])}
`},reqs:{titan:8},path:["truepath"],cost:{Money(r){return f("decoder",r,125e5,1.275)},Elerium(r){return f("decoder",r,750,1.275)},Orichalcum(r){return f("decoder",r,33e4,1.275)},Quantium(r){return f("decoder",r,18e4,1.275)}},effect(r){let a=$(this)[0].support_fuel().a,i=2500;e.race.high_pop&&(i=he(i)),(r?e.space?.ai_core2?.on??0:H.ai_core2)&&(i*=1.25);let s=`
${t("space_used_support",[A().titan])}
`;return s+=`
${t("space_red_exotic_lab_effect1",[i])}
`,s+`
${t("spend",[a,e.resource[$(this)[0].support_fuel().r].name])}
`},s_type:"titan",support(){return-1},powered(){return 0},support_fuel(){return{r:"Cipher",a:.06}},action(){return _($(this)[0])?(S("decoder"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["decoder","space"]}}},ai_core:{id:"space-ai_core",title:t("space_ai_core"),desc(r){return!e.space.hasOwnProperty("ai_core")||e.space.ai_core.count<100||r?`
${t("space_ai_core")}
${t("requires_segments",[100])}
`+(e.space.hasOwnProperty("ai_core")&&e.space.ai_core.count>=100?`
${t("requires_power")}
`:""):`
${t("space_ai_core")}
`},reqs:{titan:9},path:["truepath"],condition(){return!(e.space.ai_core.count>=100)},queue_size:10,queue_complete(){return 100-e.space.ai_core.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?25e5:0},Cement(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?18e4:0},Aluminium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?25e4:0},Elerium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?250:0},Nano_Tube(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?125e3:0},Orichalcum(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?5e4:0},Quantium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?1e5:0},Cipher(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?750:0}},effect(r){let a=`
${t("space_ai_core_effect")}
`,i=(r?.count??0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0);if(i<100){let s=100-i;a+=`
${t("space_dwarf_collider_effect2",[s])}
`}else return ei.spc_titan.ai_core2.effect(r);return a},action(){return _($(this)[0])&&e.space.ai_core.count<100?(S("ai_core"),e.space.ai_core.count>=100&&(e.tech.titan_ai_core=1,e.space.ai_core2={count:1,on:0},L($(ei.spc_titan.ai_core2)[0]),St(),ae(),e.city.ptrait.includes("kamikaze")&&!e.race.tidal_decay&&I(t("planet_kamikaze_stabilize",[x[e.race.species].home,100]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0},p:["ai_core","space"]}}},ai_core2:{id:"space-ai_core2",title:t("space_ai_core"),desc(){return`
${t("space_ai_core")}
${t("space_electrolysis_req",[e.resource[$(this)[0].p_fuel().r].name])}
`},reqs:{titan_ai_core:1},path:["truepath"],condition(){return!!(e.space.hasOwnProperty("ai_core")&&e.space.ai_core.count>=100)},wiki:!1,queue_complete(){return 0},cost:{},powered(){return V(100)},p_fuel(){return{r:"Water",a:1e3}},effect(r){let a=25,i=`
${t("interstellar_citadel_stat",[+Cr(r).toFixed(1)])}
`;if(i+=`
${t("interstellar_citadel_effect",[a])}
${t("space_ai_core_effect2",[a])}
`,e.tech.titan_ai_core&&e.tech.titan_ai_core>=2&&(i+=`
${t("space_ai_core_effect3",[50])}
`),i+=`
${t("space_electrolysis_use",[$(this)[0].p_fuel().a,e.resource[$(this)[0].p_fuel().r].name,$(this)[0].powered()])}
`,e.tech.titan_ai_core&&e.tech.titan_ai_core>=3){let s=+mu(r).toFixed(1);i+=`
${t("space_ai_core_effect4",[s])}
`}return i},action(){return!1},flair(){return e.space.hasOwnProperty("ai_core2")&&e.space.ai_core2.on>=1?t("space_ai_core_flair"):t("space_ai_core_flair2")}},ai_colonist:{id:"space-ai_colonist",title:t("space_ai_colonist_title"),desc(){return`
${t("space_ai_colonist_title")}
${t("requires_power")}
`},reqs:{titan_ai_core:3},path:["truepath"],cost:{Money(r){return f("ai_colonist",r,112e6,1.35)},Alloy(r){return f("ai_colonist",r,75e4,1.35)},Elerium(r){return f("ai_colonist",r,500,1.35)},Nano_Tube(r){return f("ai_colonist",r,525e3,1.35)},Quantium(r){return f("ai_colonist",r,15e4,1.35)},Cipher(r){return f("ai_colonist",r,1e4,1.35)}},effect(){return`
${t("plus_max_resource",[E(1),e.race.truepath?t("job_colonist_tp",[A().titan]):t("colonist")])}
${t("space_ai_colonist_effect",[E(1),A().titan])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(10)},action(){return _($(this)[0])?(S("ai_colonist"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["ai_colonist","space"]}},flair:t("tech_combat_droids_flair")},wonder_gardens:{id:"space-wonder_gardens",title(){return t("space_wonder_gardens",[A().titan])},desc(){return t("space_wonder_gardens",[A().titan])},reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.space.wonder_gardens)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}}},spc_enceladus:{info:{name(){return A().enceladus},desc(){return t("space_enceladus_info_desc",[A().enceladus,x[e.race.species].home])},support:"titan_spaceport",zone:"outer",syndicate(){return!!(e.tech.titan&&e.tech.titan>=3&&e.tech.enceladus&&e.tech.enceladus>=2)},syndicate_cap(){return e.tech.triton?e.tech.outer>=4?1500:1e3:600}},enceladus_mission:{id:"space-enceladus_mission",title(){return t("space_mission_title",[A().enceladus])},desc(){return t("space_mission_desc",[A().enceladus])},reqs:{outer:1},grant:["enceladus",1],path:["truepath"],queue_complete(){return e.tech.enceladus>=1?0:1},cost:{Helium_3(r,a){return+ve(25e4,!1,a).toFixed(0)},Elerium(){return 100}},effect(){return t("space_titan_mission_effect",[A().enceladus])},action(){return _($(this)[0])?(I(t("space_enceladus_mission_action",[A().enceladus]),"info",!1,["progress"]),e.resource.Water.display=!0,!0):!1}},water_freighter:{id:"space-water_freighter",title:t("space_water_freighter_title"),desc(){return`
${t("space_water_freighter_title")}
${t("space_support",[A().enceladus])}
`},reqs:{enceladus:2},path:["truepath"],cost:{Money(r){return f("water_freighter",r,45e4,1.25)},Iron(r){return f("water_freighter",r,362e3,1.25)},Nano_Tube(r){return f("water_freighter",r,125e3,1.25)},Sheet_Metal(r){return f("water_freighter",r,75e3,1.25)}},effect(r){let a=+ve(5,!0,r).toFixed(2),i=+ie("water_freighter").toFixed(2);return`
${t("space_used_support",[A().enceladus])}
${t("produce",[i,e.resource.Water.name])}
${t("space_belt_station_effect3",[a])}
`},s_type:"enceladus",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("water_freighter"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["water_freighter","space"]}}},zero_g_lab:{id:"space-zero_g_lab",title:t("tech_zero_g_lab"),desc(){return`
${t("tech_zero_g_lab")}
${t("requires_power_support",[A().enceladus])}
`},reqs:{enceladus:3},path:["truepath"],cost:{Money(r){return f("zero_g_lab",r,5e6,1.25)},Alloy(r){return f("zero_g_lab",r,125e3,1.25)},Graphene(r){return f("zero_g_lab",r,225e3,1.25)},Stanene(r){return f("zero_g_lab",r,6e5,1.25)}},effect(){let r=Wr("spc_enceladus"),a=Math.round(1e4*r),i=`
${t("space_used_support",[A().enceladus])}
${t("city_max_knowledge",[a])}
`;return e.resource.Quantium.display&&(i=i+`
${t("space_zero_g_lab_effect",[E(1)])}
`),e.resource.Cipher.display&&(i=i+`
${t("plus_max_resource",[1e4,e.resource.Cipher.name])}
`),i+`
${t("minus_power",[$(this)[0].powered()])}
`},s_type:"enceladus",support(){return-1},powered(){return V(12)},action(){return _($(this)[0])?(S("zero_g_lab"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["zero_g_lab","space"]}},post(){gt()},postPower(r){Bi("Quantium")}},operating_base:{id:"space-operating_base",title:t("tech_operating_base"),desc(){return`
${t("tech_operating_base")}
${t("requires_power_support",[A().enceladus])}
`},reqs:{enceladus:4},path:["truepath"],cost:{Money(r){return f("operating_base",r,75e5,1.3)},Furs(r){return f("operating_base",r,5e5,1.3)},Adamantite(r){return f("operating_base",r,375e3,1.3)},Stanene(r){return f("operating_base",r,75e4,1.3)},Mythril(r){return f("operating_base",r,225e3,1.3)},Horseshoe(){return e.race.hooved?4:0}},effect(){let r=`
${t("space_used_support",[A().enceladus])}
`;if(r+=`
${t("galaxy_defense_platform_effect",[50])}
`,r+=t("plus_max_resource",[$(this)[0].soldiers(),t("civics_garrison_soldiers")]),e.race.orbit_decayed){let a=e.tech.medic*5;r+=`
${t("city_hospital_effect",[a])}
`}return r+`
${t("minus_power",[$(this)[0].powered()])}
`},s_type:"enceladus",support(){return-1},powered(){return V(10)},action(){return _($(this)[0])?(S("operating_base"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["operating_base","space"]}},soldiers(){let r=e.race.grenadier?3:4;return E(r)},post(){C({el:"#spc_enceladussynd"},"update")}},munitions_depot:{id:"space-munitions_depot",title:t("tech_munitions_depot"),desc:t("tech_munitions_depot"),category:"storage",era:"solar",reqs:{enceladus:5},path:["truepath"],cost:{Money(r){return f("munitions_depot",r,5e6,1.22)},Iron(r){return f("munitions_depot",r,185e3,1.22)},Sheet_Metal(r){return f("munitions_depot",r,1e5,1.22)}},effect(){let r=25;return`
${t("plus_max_crates",[r])}
${t("plus_max_containers",[r])}
`},action(){return _($(this)[0])?(S("munitions_depot"),e.resource.Crates.max+=25,e.resource.Containers.max+=25,e.resource.Containers.display||wr(),!0):!1},struct(){return{d:{count:0},p:["munitions_depot","space"]}}}},spc_triton:{info:{name(){return A().triton},desc(){return t("space_triton_info_desc",[A().triton,x[e.race.species].home])},zone:"outer",syndicate(){return!!(e.tech.triton&&e.tech.triton>=2)},syndicate_cap(){return e.tech.outer&&e.tech.outer>=4?5e3:3e3},extra(r){e.tech.triton&&e.tech.triton>=3&&($(`#${r}`).append(`
${t("space_ground_resist")}
`),C({el:`#${r}resist`,data:e.space.fob,methods:{threat(a,i){let s=e.civic.garrison.wounded-we();s<0&&(s=0);let n=+(a-Qe(i,"army",s)).toFixed(0);return n<0?0:n}}}))}},triton_mission:{id:"space-triton_mission",title(){return t("space_mission_title",[A().triton])},desc(){return t("space_mission_desc",[A().triton])},reqs:{outer:2},grant:["triton",1],path:["truepath"],queue_complete(){return e.tech.triton>=1?0:1},cost:{Helium_3(r,a){return+ve(6e5,!1,a).toFixed(0)},Elerium(){return 2500}},effect(){return t("space_triton_mission_effect",[A().triton])},action(){return _($(this)[0])?(I(t("space_triton_mission_action",[A().triton]),"info",!1,["progress"]),e.space.syndicate.spc_triton=1250,e.space.syndicate.spc_titan+=250,e.space.syndicate.spc_enceladus+=250,!0):!1}},fob:{id:"space-fob",title:t("space_fob_title"),desc(){return`
${t("tech_fob")}
${t("requires_power_combo",[e.resource.Helium_3.name])}
`},reqs:{triton:2},path:["truepath"],queue_complete(){return 1-e.space.fob.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,25e7,1.1)},Copper(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,8e6,1.1)},Uranium(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,5e4,1.1)},Nano_Tube(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,25e5,1.1)},Graphene(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,3e6,1.1)},Sheet_Metal(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,75e5,1.1)},Quantium(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,5e5,1.1)},Horseshoe(r){return e.race.hooved&&(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)<1?10:0}},effect(r){let a=we(),i=we(!0),s=`
${t("galaxy_defense_platform_effect",[500])}
`;s+=t("plus_max_resource",[$(this)[0].soldiers(),t("civics_garrison_soldiers")]),s+=`
${t("civics_garrison_soldiers")}: ${a} / ${i}
`,s+=`
${t("civics_garrison_wounded")}: ${e.civic.garrison?e.civic.garrison.wounded:0}
`,s+=`
${t("space_fob_landed",[e.space.fob?e.space.fob.troops:0])}
`;let n=+ve(125,!0,r).toFixed(2);return s+`
${t("requires_power_combo_effect",[$(this)[0].powered(),n,e.resource.Helium_3.name])}
`},powered(){return V(50)},action(){return e.space.fob.count<1&&_($(this)[0])?(S("fob"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,troops:0,enemy:0},p:["fob","space"]}},soldiers(){let r=e.race.grenadier?6:10;return E(r)},post(){e.tech.triton===2&&(e.tech.triton=3,ae(),St(),I(t("space_fob_msg"),"info",!1,["progress"]))}},lander:{id:"space-lander",title:t("space_lander_title"),desc(){return`
${t("space_lander_title")}
${t("requires_soldiers")}
${t("space_red_space_barracks_desc_req")}
`},reqs:{triton:3},path:["truepath"],cost:{Money(r){return f("lander",r,24e5,1.15)},Aluminium(r){return f("lander",r,185e3,1.15)},Neutronium(r){return f("lander",r,1e4,1.15)},Nano_Tube(r){return f("lander",r,158e3,1.15)}},powered(){return 0},effect(r){let a=+ve(50,!0,r).toFixed(2),i="";return e.space.crashed_ship&&e.space.crashed_ship.count===100&&(i=`
${t("space_lander_effect3",[ie("lander"),e.resource.Cipher.name])}
`),`
${t("space_lander_effect",[A().triton])}
${i}
${t("space_lander_effect2",[E(3)])}
${t("space_red_space_barracks_effect2",[a])}
`},action(){return _($(this)[0])?(S("lander"),e.space.lander.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["lander","space"]}}},crashed_ship:{id:"space-crashed_ship",title:t("space_crashed_ship_title"),desc(){return`
${t("space_crashed_ship_title")}
`},reqs:{triton:3},path:["truepath"],queue_complete(){return 0},cost:{},effect(){let r=e.space.crashed_ship?e.space.crashed_ship.count:0;return`
${t("space_crashed_ship_effect",[r])}
`},action(){return!1},struct(){return{d:{count:0},p:["crashed_ship","space"]}}}},spc_kuiper:{info:{name(){return t("space_kuiper_title")},desc(){return t("space_kuiper_desc")},zone:"outer",syndicate(){return!!e.tech.kuiper},syndicate_cap(){return 2500}},kuiper_mission:{id:"space-kuiper_mission",title(){return t("space_mission_title",[t("space_kuiper_title")])},desc(){return t("space_mission_desc",[t("space_kuiper_title")])},reqs:{outer:7},grant:["kuiper",1],path:["truepath"],queue_complete(){return e.tech.kuiper>=1?0:1},cost:{Helium_3(r,a){return+ve(1e6,!1,a).toFixed(0)},Elerium(){return 1e3}},effect(){return t("space_kuiper_mission_effect")},action(){return _($(this)[0])?(y(ei.spc_kuiper.orichalcum_mine),y(ei.spc_kuiper.uranium_mine),y(ei.spc_kuiper.neutronium_mine),e.space.syndicate.spc_kuiper=500,I(t("space_kuiper_mission_action"),"info",!1,["progress"]),!0):!1}},orichalcum_mine:{id:"space-orichalcum_mine",title(){return t("space_kuiper_mine",[e.resource.Orichalcum.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Orichalcum.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return f("orichalcum_mine",r,25e6,1.25)},Graphene(r){return f("orichalcum_mine",r,9e5,1.25)},Elerium(r){return f("orichalcum_mine",r,200,1.25)},Mythril(r){return f("orichalcum_mine",r,45e4,1.25)},Quantium(r){return f("orichalcum_mine",r,15e4,1.25)}},effect(r){let a=+ie("orichalcum_mine").toFixed(3),i=+ve($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Orichalcum_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return V(10)},p_fuel(){return{r:"Oil",a:200}},action(){return _($(this)[0])?(S("orichalcum_mine"),e.resource.Orichalcum.display=!0,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["orichalcum_mine","space"]}}},uranium_mine:{id:"space-uranium_mine",title(){return t("space_kuiper_mine",[e.resource.Uranium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Uranium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return f("uranium_mine",r,5e6,1.25)},Iridium(r){return f("uranium_mine",r,25e4,1.25)},Steel(r){return f("uranium_mine",r,62e4,1.25)}},effect(r){let a=+ie("uranium_mine").toFixed(3),i=+ve($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Uranium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return V(5)},p_fuel(){return{r:"Oil",a:60}},action(){return _($(this)[0])?(S("uranium_mine"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["uranium_mine","space"]}}},neutronium_mine:{id:"space-neutronium_mine",title(){return t("space_kuiper_mine",[e.resource.Neutronium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Neutronium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return f("neutronium_mine",r,8e6,1.25)},Adamantite(r){return f("neutronium_mine",r,65e4,1.25)},Stanene(r){return f("neutronium_mine",r,125e4,1.25)}},effect(r){let a=+ie("neutronium_mine").toFixed(3),i=+ve($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Neutronium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return V(8)},p_fuel(){return{r:"Oil",a:60}},action(){return _($(this)[0])?(S("neutronium_mine"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["neutronium_mine","space"]}}},elerium_mine:{id:"space-elerium_mine",title(){return t("space_kuiper_mine",[e.resource.Elerium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Elerium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:2},path:["truepath"],cost:{Money(r){return f("elerium_mine",r,2e7,1.25)},Titanium(r){return f("elerium_mine",r,25e4,1.25)},Neutronium(r){return f("elerium_mine",r,12e4,1.25)},Orichalcum(r){return f("elerium_mine",r,175e3,1.25)}},effect(r){let a=+ie("elerium_mine").toFixed(3),i=+ve($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Elerium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return V(12)},p_fuel(){return{r:"Oil",a:125}},action(){return _($(this)[0])?(S("elerium_mine"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_mine","space"]}}}},spc_eris:{info:{name(){return A().eris},desc(){return t("space_eris_info_desc",[A().eris])},support:"drone_control",zone:"outer",syndicate(){return!!e.tech.eris},syndicate_cap(){return 7500},extra(r){e.tech.eris&&e.tech.eris===1&&($(`#${r}`).append(`
${t("space_scanned")} {{ eris_scan }}%
`),C({el:`#${r}scanned`,data:e.tech}))}},eris_mission:{id:"space-eris_mission",title(){return t("space_mission_title",[A().eris])},desc(){return t("space_mission_desc",[A().eris])},reqs:{outer:7},grant:["eris",1],path:["truepath"],queue_complete(){return e.tech.eris>=1?0:1},cost:{Helium_3(r,a){return+ve(125e4,!1,a).toFixed(0)},Elerium(){return 1250}},effect(){return t("space_eris_mission_effect",[A().eris])},action(){return _($(this)[0])?(e.space.syndicate.spc_eris=4e3,I(t("space_eris_mission_action",[A().eris]),"info",!1,["progress"]),!0):!1}},drone_control:{id:"space-drone_control",title(){return t("space_drone_control",[A().titan])},desc(){return`
${t("space_drone_control",[A().titan])}
${t("requires_power_combo",[e.resource[$(this)[0].p_fuel().r].name])}
`},reqs:{eris:3},path:["truepath"],cost:{Money(r){return f("drone_control",r,75e6,1.3)},Neutronium(r){return f("drone_control",r,1e5,1.3)},Stanene(r){return f("drone_control",r,45e4,1.3)},Quantium(r){return f("drone_control",r,3e5,1.3)}},effect(){let r=$(this)[0].p_fuel().a;return`
+${t("galaxy_alien2_support",[$(this)[0].support(),A().eris])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),r,e.resource[$(this)[0].p_fuel().r].name])}
`},support(){return 5},powered(){return V(25)},p_fuel(){return{r:"Uranium",a:5}},action(){return _($(this)[0])?(S("drone_control"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["drone_control","space"]}}},shock_trooper:{id:"space-shock_trooper",title:t("space_shock_trooper_title"),desc(){return`
${t("space_shock_trooper_title")}
${t("space_support",[A().eris])}
`},reqs:{eris:3},path:["truepath"],cost:{Money(r){return f("shock_trooper",r,425e4,1.225)},Polymer(r){return f("shock_trooper",r,375e3,1.225)},Adamantite(r){return f("shock_trooper",r,5e5,1.225)},Graphene(r){return f("shock_trooper",r,22e4,1.225)},Elerium(r){return f("shock_trooper",r,350,1.225)}},effect(){let r=Math.round(Qe(1,"army",0)*Wr("spc_eris")),a=`
${t("space_used_support",[A().eris])}
`;return e.space.digsite&&e.space.digsite.count===100&&(a=`
${t("space_lander_effect3",[ie("shock_trooper"),e.resource.Cipher.name])}
`),a+`
${t("space_digsite_offense",[r])}
`},s_type:"eris",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("shock_trooper"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["shock_trooper","space"]}}},tank:{id:"space-tank",title:t("space_tank_title"),desc(){return`
${t("space_tank_title")}
${t("space_support",[A().eris])}
`},reqs:{eris:4},path:["truepath"],cost:{Money(r){return f("tank",r,1e8,1.25)},Alloy(r){return f("tank",r,125e4,1.25)},Orichalcum(r){return f("tank",r,6e5,1.25)},Mythril(r){return f("tank",r,5e5,1.25)},Uranium(r){return f("tank",r,25e3,1.25)}},effect(){let r=Math.round(100*Wr("spc_eris")),a=`
${t("space_used_support",[A().eris])}
`;return e.space.digsite&&e.space.digsite.count===100&&(a=`
${t("space_lander_effect3",[ie("tank"),e.resource.Cipher.name])}
`),a+`
${t("space_digsite_offense",[r])}
`},s_type:"eris",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("tank"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tank","space"]}}},digsite:{id:"space-digsite",title:t("space_digsite_title"),desc(){return`
${t("space_digsite_title")}
`},reqs:{eris:3},path:["truepath"],queue_complete(){return 0},cost:{},effect(){let r=e.space.digsite?e.space.digsite.count:0;return`
${t("space_crashed_ship_effect",[r])}
`},action(){return!1},struct(){return{d:{count:0,enemy:1e4},p:["digsite","space"]}}}}},ue={tau_star:{info:{name(){return t("tab_tauceti")},desc(){return t("tau_star",[t("tab_tauceti"),t("space_sun_info_name")])}},ringworld:{id:"tauceti-ringworld",title:t("tau_star_ringworld"),desc(r){return!e.tauceti.hasOwnProperty("ringworld")||e.tauceti.ringworld.count<1e3||r?`
${t("tau_star_ringworld")}
${t("requires_segments",[1e3])}
`:`
${t("tau_star_ringworld")}
`},reqs:{matrix:2},path:["truepath"],queue_size:50,queue_complete(){return 1e3-e.tauceti.ringworld.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?1e7:1e8:0},Neutronium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?2e4:1e5:0},Nano_Tube(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?7e4:35e4:0},Adamantite(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?2e5:1e6:0},Bolognium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?17600:88e3:0},Orichalcum(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?25e3:125e3:0},Unobtainium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?360:1800:0},Quantium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?yr(e.race.lone_survivor?10100:101e3):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0);if(i<1e3){let s=1e3-i;a+=`
${t("tau_star_ringworld_effect")}
`,a+=`
${t("space_dwarf_collider_effect2",[s])}
`}else a+=`
${t("space_dwarf_reactor_effect1",[e.race.lone_survivor?100:1e4])}
`;return a},action(){return _($(this)[0])&&e.tauceti.ringworld.count<1e3?(S("ringworld","tauceti"),e.tauceti.ringworld.count>=1e3&&(e.race.lone_survivor?e.tech.eden=1:(e.tech.matrix=3,e.tauceti.matrix={count:1,on:0}),br(),le()),!0):!1},struct(){return{d:{count:0},p:["ringworld","tauceti"]}}},matrix:{id:"tauceti-matrix",title:t("tau_star_matrix"),desc(){return`
${t("tau_star_matrix")}
${t("requires_power")}
`},reqs:{matrix:3},condition(){return e.tauceti.ringworld.count>=1e3},queue_complete(){return 0},cost:{},powered(){return 1e4},postPower(r){r?setTimeout(function(){e.tech.matrix=H.matrix?4:3,br()},250):(e.tech.matrix=3,br())},effect(){let r=so(),a=$(this)[0].powered(),i=a>0?`
${t("minus_power",[a])}
`:"";return`
${t("tau_star_matrix_effect")}
${r}${i}`},action(){return!1}},blue_pill:{id:"tauceti-blue_pill",title:t("tau_star_blue_pill"),desc:t("tau_star_blue_pill"),wiki:!1,reqs:{matrix:4},queue_complete(){return 0},no_multi:!0,cost:{},effect(){let r=so();return`
${t("tau_star_blue_pill_effect")}
${r}`},action(){if(_($(this)[0])){let o=function(){a.fillStyle="#0001",a.fillRect(0,0,i,s),a.fillStyle="#0f0",a.font="15pt monospace",c.forEach((l,u)=>{let p=String.fromCharCode(Math.rand(65382,65438)),h=u*20;a.fillText(p,h,l),l>100+Math.random()*1e4?c[u]=0:c[u]=l+20})};$("body").append('');let r=document.getElementById("matrix"),a=r.getContext("2d"),i=r.width=document.body.offsetWidth,s=r.height=document.body.offsetHeight,n=Math.floor(i/20)+1,c=Array(n).fill(0);return setInterval(o,50),setTimeout(function(){ro()},5e3),!0}return!1}},goe_facility:{id:"tauceti-goe_facility",title:t("tau_star_goe_facility"),desc(){return`
${t("tau_star_goe_facility")}
`},reqs:{eden:2},condition(){return e.tauceti.ringworld.count>=1e3},queue_complete(){return 0},cost:{Money(r){return 1e6},Copper(r){return 1e7},Graphene(r){return 5e6},Stanene(r){return 8e6},Elerium(r){return 1e4}},effect(){let r=lu();return`
${t("tau_star_goe_facility_effect")}
${r}`},action(){if(_($(this)[0])){let r=Ct(ue.tau_star.goe_facility);return Object.keys(r).forEach(function(a){e.resource[a].amount+=r[a]()}),io(),!1}return!1},struct(){return{d:{count:0},p:["goe_facility","tauceti"]}}}},tau_home:{info:{name(){return t("tau_planet",[x[e.race.species].home])},desc(){return t("tau_home",[x[e.race.species].home])},support:"orbital_station",extra(r){e.tech.tau_home&&e.tech.tau_home>=2&&!Yt()&&($(`#${r}`).append(`
${t("resource_Materials_name")} {{ amount | round | locale }} / {{ max | locale }}
`),C({el:`#${r}Mats`,data:e.resource.Materials,methods:{tauShow(){return!Yt()}},filters:{round(a){return+a.toFixed(0)},locale(a){return a.toLocaleString()}}}))}},home_mission:{id:"tauceti-home_mission",title(){return t("tau_new_mission_title",[x[e.race.species].home])},desc(){return t("tau_new_mission_title",[x[e.race.species].home])},reqs:{tauceti:2},grant:["tau_home",1],path:["truepath"],queue_complete(){return e.tech.tau_home>=1?0:1},cost:{Money(){return 1e9}},effect(){return t("tau_new_mission_effect",[x[e.race.species].home])},action(){return _($(this)[0])?(y(ue.tau_home.colony),y(ue.tau_home.mining_pit),I(t("tau_home_mission_result",[x[e.race.species].home]),"info",!1,["progress"]),!0):!1}},dismantle:{id:"tauceti-dismantle",title(){return t("tau_home_dismantle")},desc(){return t("tau_home_dismantle")},reqs:{tau_home:1},grant:["tau_home",2],path:["truepath"],queue_complete(){return e.tech.tau_home>=2?0:1},cost:{Money(){return 1e8}},effect(){let r="Explorer";if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")){let a=e.space.shipyard.ships.findIndex(i=>i.location==="tauceti"&&i.class==="explorer");a!==-1&&(r=e.space.shipyard.ships[a].name)}return t("tau_home_dismantle_effect",[r])},action(){let r=-1;if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")&&(r=e.space.shipyard.ships.findIndex(a=>a.location==="tauceti"&&a.class==="explorer")),r>=0&&_($(this)[0])){if(e.space.shipyard.ships.splice(r,1),S("orbital_station","tauceti"),S("colony","tauceti"),S("mining_pit","tauceti"),e.civic.pit_miner.display=!0,e.resource.Materials.display=!0,L($(ue.tau_home.orbital_station)[0])){e.tauceti.colony.on++,e.tauceti.mining_pit.on++;let a=$(ue.tau_home.mining_pit)[0].workers();e.civic.pit_miner.max+=a;let i=Math.min(a,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=i,e.civic.pit_miner.workers+=i}return e.settings.tabLoad&&Ba(),!0}return!1}},orbital_station:{id:"tauceti-orbital_station",title:t("tau_home_orbital_station"),desc:`
${t("tau_home_orbital_station")}
${t("requires_power")}
`,reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return f("orbital_station",r,8e7,1.3,"tauceti")},Materials(r){return Yt()?0:f("orbital_station",r,5e5,1.3,"tauceti")},Helium_3(r){return Yt()?f("orbital_station",r,ye(25e4),1.3,"tauceti"):0},Copper(r){return Yt()?f("orbital_station",r,125e4,1.3,"tauceti"):0},Adamantite(r){return Yt()?f("orbital_station",r,9e5,1.3,"tauceti"):0}},effect(){let r=G(15e3),a=+ye($(this)[0].support_fuel().a).toFixed(1),i=`
${t("space_red_spaceport_effect1",[t("tau_planet",[x[e.race.species].home]),$(this)[0].support()])}
`;return i=i+`
${t("plus_max_resource",[r.toLocaleString(),e.resource.Helium_3.name])}
`,i=i+`
${t("spend_power",[a,e.resource[$(this)[0].support_fuel().r].name,$(this)[0].powered()])}
`,i},support_fuel(){return{r:"Helium_3",a:e.tech.isolation?e.race.lone_survivor?5:25:400}},support(){return 3},powered(){return V(e.tech.isolation?e.race.lone_survivor?4:6:30)},refresh:!0,action(){return _($(this)[0])?(S("orbital_station","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["orbital_station","tauceti"]}}},colony:{id:"tauceti-colony",title:t("tau_home_colony"),desc(){return`
${t("tau_home_colony_desc",[x[e.race.species].home])}
${t("requires_power_support_combo",[x[e.race.species].home,e.resource.Food.name])}
`},reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return f("colony",r,1575e4,1.225,"tauceti")},Materials(r){return Yt()?0:f("colony",r,65e4,1.225,"tauceti")},Furs(r){return Yt()?f("colony",r,72e4,1.225,"tauceti"):0},Graphene(r){return Yt()?f("colony",r,485e3,1.225,"tauceti"):0},Brick(r){return Yt()?f("colony",r,yr(88e4),1.225,"tauceti"):0}},effect(){let r=$(this)[0].citizens(),a=e.tech.isolation?900:250,i=+$(this)[0].support_fuel().a.toFixed(1),s=`
${t("tau_new_support",[$(this)[0].support(),x[e.race.species].home])}
`;if(e.race.lone_survivor||(s=s+`
${t("plus_max_citizens",[r])}
`),e.tech.isolation){let n=kr()*25;n=G(n),n=(+n.toFixed(0)).toLocaleString(),s=s+`
${t("plus_max_resource",[`$${n}`,t("resource_Money_name")])}
`}if(s=s+`
${t("tau_home_colony_effect",[50,x[e.race.species].home])}
`,e.tech.isolation){let n=Q("gaslighter",0),c=(n?n+e.tech.broadcast:e.tech.broadcast)*2;s=s+`
${t("space_red_vr_center_effect1",[c])}
`}return s=s+`
${t("plus_max_resource",[a,t("resource_Crates_name")])}
${t("plus_max_resource",[a,t("resource_Containers_name")])}
`,e.race.lone_survivor?s=s+`
${t("gain",[-i,e.resource[$(this)[0].support_fuel().r].name])}
`:s=s+`
${t("spend",[i,e.resource[$(this)[0].support_fuel().r].name])}
`,s},s_type:"tau_home",support(){return-2},support_fuel(){return{r:"Food",a:e.tech.isolation?e.race.lone_survivor?-2:75:1e3}},powered(){return 0},action(){return _($(this)[0])?(S("colony","tauceti"),L($(this)[0]),e.resource.Containers.display||wr(),!0):!1},struct(){return{d:{count:0,on:0},p:["colony","tauceti"]}},citizens(){let r=e.tech.isolation?8:5;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),e.race.lone_survivor?0:r}},tau_housing:{id:"tauceti-tau_housing",title(){return Oe("small")},desc(){return $(this)[0].citizens()===1?t("city_basic_housing_desc"):t("city_basic_housing_desc_plural",[$(this)[0].citizens()])},category:"residential",reqs:{housing:1,isolation:1},condition(){return!e.race.lone_survivor},cost:{Money(r){return f("tau_housing",r,15e4,1.15,"tauceti")},Lumber(r){return e.race.kindling_kindred||e.race.smoldering?0:f("tau_housing",r,125e3,1.25,"tauceti")},Stone(r){return e.race.kindling_kindred?f("tau_housing",r,125e3,1.25,"tauceti"):0},Chrysotile(r){return e.race.smoldering?f("tau_housing",r,5e4,1.25,"tauceti"):0},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=$(this)[0].citizens();return e.race.sappy?`
${t("plus_max_resource",[r,t("citizen")])}
${t("city_grove_effect",[2.5])}
`:t("plus_max_resource",[r,t("citizen")])},action(){return _($(this)[0])?(S("tau_housing","tauceti"),!0):!1},struct(){return{d:{count:0},p:["tau_housing","tauceti"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},captive_housing:zt("captive_housing","tauceti"),pylon:{id:"tauceti-pylon",title:t("tau_home_pylon"),desc:t("tau_home_pylon"),reqs:{magic:2},condition(){return!!(e.tech.isolation&&e.tauceti.hasOwnProperty("pylon"))},cost:{Money(r){return f("pylon",r,50,1.48,"tauceti")},Stone(r){return f("pylon",r,100,1.42,"tauceti")},Crystal(r){return f("pylon",r,8,1.42,"tauceti")-3}},effect(){let r=G(2),a=+(.0125*Me("magic")).toFixed(3);return`
${t("gain",[a,e.resource.Mana.name])}
${t("plus_max_resource",[r,e.resource.Mana.name])}
`},special(){return!!(e.tech.magic&&e.tech.magic>=3)},action(){return _($(this)[0])?(S("pylon","tauceti"),e.resource.Mana.max+=G(2),!0):!1},struct(){return{d:{count:0},p:["pylon","tauceti"]}}},cloning_facility:{id:"tauceti-cloning_facility",title:t("tau_home_cloning"),desc(){return t("tau_home_cloning_desc",[x[e.race.species].name])},category:"military",reqs:{cloning:1},path:["truepath"],queue_complete(){return e.resource[e.race.species].max-e.resource[e.race.species].amount},cost:{Money(r){return e.resource[e.race.species].amount?f("citizen",r,Math.round((e.race.high_pop?1e5:125e3)/E(1)),e.race.high_pop?1.01:1.02,"tauceti",e.race.high_pop?1.003:1.005):0},Copper(r){return!e.race.artifical||e.race.deconstructor?0:e.resource[e.race.species].amount>=5?f("citizen",r,Math.round(50/E(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0},Aluminium(r){return!e.race.artifical||e.race.deconstructor?0:e.resource[e.race.species].amount>=5?f("citizen",r,Math.round(50/E(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0},Nanite(r){return e.race.deconstructor&&e.resource[e.race.species].amount>=3?f("citizen",r,Math.round(500/E(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0}},effect(){let r="";return e.resource[e.race.species].max===e.resource[e.race.species].amount&&(r=`
${t("city_assembly_effect_warn")}
`),`
${t("tau_home_cloning_effect",[x[e.race.species].name])}
${r}`},action(){return e.resource[e.race.species].max>e.resource[e.race.species].amount&&_($(this)[0])?(e.resource[e.race.species].amount++,!0):!1},struct(){return{d:{count:0,on:0},p:["cloning_facility","tauceti"]}}},horseshoe:zt("horseshoe","tauceti"),bonfire:zt("bonfire","tauceti"),firework:zt("firework","tauceti"),assembly:zt("assembly","tauceti"),nanite_factory:zt("nanite_factory","tauceti"),tau_farm:{id:"tauceti-tau_farm",title:t("tau_home_tau_farm"),desc(){return`
${t("tau_home_tau_farm")}
${t("requires_power")}
`},reqs:{tau_home:7},path:["truepath"],cost:{Money(r){return f("tau_farm",r,135e6,1.25,"tauceti")},Stone(r){return f("tau_farm",r,921e4,1.25,"tauceti")},Steel(r){return f("tau_farm",r,6295e3,1.25,"tauceti")},Water(r){return f("tau_farm",r,1e4,1.25,"tauceti")}},effect(){let r=`
${t("space_red_spaceport_effect1",[t("tau_planet",[x[e.race.species].home]),$(this)[0].support()])}
`;if(r=r+`
${t("produce",[+ie("tau_farm","food").toFixed(2),e.resource.Food.name])}
`,!e.race.kindling_kindred&&!e.race.smoldering&&(r=r+`
${t("produce",[+ie("tau_farm","lumber").toFixed(2),e.resource.Lumber.name])}
`),e.tech.isolation){let a=+ie("tau_farm","water").toFixed(2);if(r=r+`
${t("produce",[a,e.resource.Water.name])}
`,e.race.artifical){let i=G(350);r=r+`
${t("city_transmitter_effect",[i])}
`}}return r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},support(){return 1},powered(){return V(e.tech.isolation?1:4)},action(){return _($(this)[0])?(S("tau_farm","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tau_farm","tauceti"]}}},mining_pit:{id:"tauceti-mining_pit",title:t("tau_home_mining_pit"),desc(){return`
${t("tau_home_mining_pit")}
${t("space_support",[x[e.race.species].home])}
`},reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return f("mining_pit",r,425e4,1.225,"tauceti")},Materials(r){return Yt()?0:f("mining_pit",r,35e4,1.225,"tauceti")},Lumber(r){return Yt()?f("mining_pit",r,235e4,1.225,"tauceti"):0},Iron(r){return Yt()?f("mining_pit",r,835e3,1.225,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),x[e.race.species].home])}
`;if(r=r+`
${t("plus_max_resource",[$(this)[0].workers(),t("job_pit_miner")])}
`,!Yt())r=r+`
${t("plus_max_resource",[1e6,t("resource_Materials_name")])}
`,r=r+`
${t("tau_home_mining_pit_effect",[e.resource.Materials.name])}
`;else if(e.tech.isolation){if(e.race.lone_survivor){let a=[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name,e.resource.Copper.name,e.resource.Iron.name,e.resource.Aluminium.name,e.resource.Coal.name];e.race.smoldering?(a.push(e.resource.Chrysotile.name),r=r+`
${t("tau_home_mining_pit_effect2cs",a)}
`):r=r+`
${t("tau_home_mining_pit_effect2c",a)}
`}else{let a=[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name,e.resource.Copper.name,e.resource.Coal.name];e.race.smoldering?(a.push(e.resource.Chrysotile.name),r=r+`
${t("tau_home_mining_pit_effect2bs",a)}
`):r=r+`
${t("tau_home_mining_pit_effect2b",a)}
`}r=r+`
${t("production",[8,e.resource.Cement.name])}
`}else r=r+`
${t("tau_home_mining_pit_effect2",[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name])}
`;return r},s_type:"tau_home",support(){return-1},powered(){return 0},workers(){return E(e.tech.isolation?6:8)},action(){if(_($(this)[0])){if(S("mining_pit","tauceti"),L($(this)[0])){let r=$(this)[0].workers();e.civic.pit_miner.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.pit_miner.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["mining_pit","tauceti"]}}},excavate:{id:"tauceti-excavate",title:t("tau_home_excavate"),desc(){return`
${t("tau_home_excavate")}
`},reqs:{tau_home:2},grant:["tau_home",3],path:["truepath"],cost:{Money(r){return 165e7},Materials(r){return 75e4}},effect(){return t("tau_home_excavate_effect")},action(){return _($(this)[0])?(I(t("tau_home_excavate_msg"),"info",!1,["progress"]),!0):!1}},alien_outpost:{id:"tauceti-alien_outpost",title:t("tech_alien_outpost"),desc(){return`
${t("tech_alien_outpost")}
${t("requires_power")}
`},reqs:{tau_home:4},path:["truepath"],cost:{},queue_complete(){return 0},effect(){let r=`
${t("plus_max_resource",["20%",t("resource_Knowledge_name")])}
`;return e.tech.isolation&&(r=r+`
${t("plus_max_resource",[(e.race.lone_survivor?35e5:65e5).toLocaleString(),t("resource_Knowledge_name")])}
`,r=r+`
${t("plus_max_resource",[2e5.toLocaleString(),e.resource.Cipher.name])}
`,r=r+`
${t("space_lander_effect3",[ie("alien_outpost"),e.resource.Cipher.name])}
`),e.tech.outpost_boost&&(r=r+`
${t("tech_alien_outpost_effect2")}
`),e.race.lone_survivor&&(r=r+`
${t("city_wardenclyffe_effect1",[E(1),e.civic.professor.name])}
`),r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(e.tech.isolation?e.race.lone_survivor?8:25:100)},special(){return!!e.tech.replicator},action(){return!1},struct(){return{d:{count:1,on:0},p:["alien_outpost","tauceti"]}}},jump_gate:{id:"tauceti-jump_gate",title:t("tau_jump_gate"),desc(r){return!e.tauceti.hasOwnProperty("jump_gate")||e.tauceti.jump_gate.count<100||r?`
${t("tau_jump_gate")}
${t("requires_segments",[100])}
`:`
${t("tau_jump_gate")}
`},reqs:{tauceti:3},condition(){return e.tech.isolation?0:1},path:["truepath"],queue_size:10,queue_complete(){return 100-e.tauceti.jump_gate.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0)<100?1e6:0},Materials(r){return(r||0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0)<100?12500:0}},effect(r){let a=(r?.count??0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0);if(a<100){let i=100-a;return`
${t("tau_jump_gate_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return t("tau_jump_gate_effect")},action(){return _($(this)[0])&&e.tauceti.jump_gate.count<100?(S("jump_gate","tauceti"),!0):!1},struct(){return{d:{count:0},p:["jump_gate","tauceti"]}}},fusion_generator:{id:"tauceti-fusion_generator",title:t("tech_fusion_generator"),desc(){return`
${t("tech_fusion_generator")}
${t("requires_res",[e.resource.Helium_3.name])}
`},reqs:{tau_home:6},path:["truepath"],cost:{Money(r){return f("fusion_generator",r,188e6,1.25,"tauceti")},Iridium(r){return f("fusion_generator",r,555e4,1.25,"tauceti")},Stanene(r){return f("fusion_generator",r,7003500,1.25,"tauceti")},Sheet_Metal(r){return f("fusion_generator",r,yr(95e3),1.25,"tauceti")}},effect(){let r=+ye($(this)[0].p_fuel().a).toFixed(1),a=`
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}
`;return e.race.lone_survivor?a=a+`
${t("gain",[-r,e.resource[$(this)[0].p_fuel().r].name])}
`:a=a+`
${t("spend",[r,e.resource[$(this)[0].p_fuel().r].name])}
`,a},p_fuel(){return{r:"Helium_3",a:e.tech.isolation?e.race.lone_survivor?-15:75:500}},powered(){return nt(-32)},action(){return _($(this)[0])?(S("fusion_generator","tauceti"),e.tauceti.fusion_generator.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["fusion_generator","tauceti"]}}},repository:{id:"tauceti-repository",title:t("tech_repository"),desc:t("tech_repository"),reqs:{tau_home:5},path:["truepath"],cost:{Money(r){return f("repository",r,1028e4,1.28,"tauceti")},Iron(r){return f("repository",r,18e5,1.28,"tauceti")},Cement(r){return f("repository",r,15e5,1.28,"tauceti")},Neutronium(r){return f("repository",r,215e3,1.28,"tauceti")}},wide:!0,res(){let r=["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Steel","Titanium","Crystal","Alloy","Polymer","Iridium","Chrysotile","Nano_Tube","Neutronium","Adamantite","Unobtainium"];return e.tech.isolation&&(r.push("Oil"),r.push("Helium_3"),r.push("Uranium"),r.push("Water")),r},val(r){switch(r){case"Lumber":return 3e4;case"Stone":return 3e4;case"Chrysotile":return 3e4;case"Crystal":return 10;case"Furs":return 17e3;case"Copper":return 15200;case"Iron":return 14e3;case"Aluminium":return 12800;case"Cement":return 11200;case"Coal":return 4800;case"Steel":return 2400;case"Titanium":return 1600;case"Alloy":return 1800;case"Polymer":return 1500;case"Iridium":return 1750;case"Nano_Tube":return 1200;case"Neutronium":return 640;case"Adamantite":return 720;case"Unobtainium":return 1e3;case"Oil":return 680;case"Helium_3":return 575;case"Uranium":return 125;case"Water":return 15;case"Elerium":return 3;default:return 0}},effect(r){let a='
',i=ri("repository",!1,r),s=250;for(let n of $(this)[0].res())if(e.resource[n].display){let c=X(+(G($(this)[0].val(n))*i).toFixed(0),1);a=a+`${t("plus_max_resource",[c,e.resource[n].name])}`}return e.tech.isolation&&(a=a+`${t("plus_max_resource",[s,t("resource_Crates_name")])}${t("plus_max_resource",[s,t("resource_Containers_name")])}`),a=a+"
",a},action(){if(_($(this)[0])){S("repository","tauceti");let r=250;e.resource.Crates.max+=r,e.resource.Containers.max+=r,e.resource.Containers.display||wr();let a=ri("repository");for(let i of $(this)[0].res())e.resource[i].display&&(e.resource[i].max+=G($(this)[0].val(i))*a);return!0}return!1},struct(){return{d:{count:0},p:["repository","tauceti"]}}},tau_factory:{id:"tauceti-tau_factory",title:t("tau_home_tau_factory"),desc(){return`
${t("tau_home_tau_factory")}
${t("requires_power_support",[x[e.race.species].home])}
`},reqs:{tau_home:8},path:["truepath"],cost:{Money(r){return f("tau_factory",r,269e6,1.25,"tauceti")},Titanium(r){return f("tau_factory",r,3e6,1.25,"tauceti")},Elerium(r){return f("tau_factory",r,850,1.25,"tauceti")},Bolognium(r){return f("tau_factory",r,25e4,1.25,"tauceti")},Quantium(r){return f("tau_factory",r,yr(425e3),1.25,"tauceti")}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),x[e.race.species].home])}
`;return r=r+`
${t("tau_home_tau_factory_effect",[$(this)[0].manufacturing()])}
`,e.tech.isolation&&(e.race.flier||(r=r+`
${t("plus_max_resource",[E(2),t("job_cement_worker")])}
`),r=r+`
${t("space_red_fabrication_effect1",[E(5)])}
`),r=r+`
${t("city_crafted_mats",[e.tech.isolation?275:90])}
`,r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},special:!0,s_type:"tau_home",support(){return-1},powered(){return V(e.tech.isolation?2:5)},manufacturing(){return e.tech.isolation?5:3},action(){return _($(this)[0])?(e.civic.craftsman.display=!0,S("tau_factory","tauceti"),L($(this)[0])&&(e.city.factory.Alloy+=$(this)[0].manufacturing(),Fe()),!0):!1},struct(){return{d:{count:0,on:0},p:["tau_factory","tauceti"]}}},infectious_disease_lab:{id:"tauceti-infectious_disease_lab",title(){return e.tech.isolation?t("tech_infectious_disease_lab_alt"):t(e.race.artifical?"tech_infectious_disease_lab_s":"tech_infectious_disease_lab")},desc(){return`
${$(this)[0].title()}
${t("requires_power_support",[x[e.race.species].home])}
`},reqs:{disease:1},path:["truepath"],cost:{Money(r){return f("infectious_disease_lab",r,1e9,1.25,"tauceti")},Alloy(r){return f("infectious_disease_lab",r,325e5,1.25,"tauceti")},Polymer(r){return f("infectious_disease_lab",r,5e7,1.25,"tauceti")},Bolognium(r){return f("infectious_disease_lab",r,25e5,1.25,"tauceti")},Unobtainium(r){return f("infectious_disease_lab",r,64e3,1.25,"tauceti")}},effect(){let r=39616;if(e.tech.supercollider&&e.tech.isolation){let i=e.tech.tp_particles||e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/i+1}let a=`
${t("tau_new_support",[$(this)[0].support(),x[e.race.species].home])}
`;if(a=a+`
${t("city_max_knowledge",[Math.round(r).toLocaleString()])}
`,e.tech.isolation){let i=G(375);a=a+`
${t("plus_max_resource",[i,t("resource_Elerium_name")])}
`,a=a+`
${t("city_wardenclyffe_effect1",[E(2),e.civic.professor.name])}
`,a=a+`
${t("city_wardenclyffe_effect1",[E(1),e.civic.scientist.name])}
`,a=a+`
${t("space_zero_g_lab_effect",[E(1)])}
`,a=a+`
${t("city_library_effect",[75])}
`}return e.tech.alien_crafting&&(a=a+`
${t("production",[65,e.resource.Quantium.name])}
`),e.tech.focus_cure&&(a=a+`
${t("tau_home_disease_lab_cure",[+e.tauceti.infectious_disease_lab.cure.toFixed(1)])}
`,e.race.hasOwnProperty("vax")&&(a=a+`
${t("tau_home_disease_lab_vax",[+e.race.vax.toFixed(2)])}
`)),a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},s_type:"tau_home",support(){return-1},powered(){return V(e.tech.isolation?e.race.lone_survivor?2:8:35)},action(){return _($(this)[0])?(S("infectious_disease_lab","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,cure:0},p:["infectious_disease_lab","tauceti"]}},post(){e.tech.disease===1&&(e.tech.disease=2,I(t("tau_plague4",[t("tab_tauceti")]),"info",!1,["progress"]),ae()),gt()},postPower(r){Bi("Quantium")}},tauceti_casino:{id:"tauceti-tauceti_casino",title:t("city_casino"),desc:t("city_casino"),category:"commercial",reqs:{gambling:1,isolation:1},cost:{Money(r){return f("tauceti_casino",r,145e4,1.35,"tauceti")},Furs(r){return f("tauceti_casino",r,95e3,1.35,"tauceti")},Cement(r){return f("tauceti_casino",r,12e4,1.35,"tauceti")},Plywood(r){return f("tauceti_casino",r,yr(55e3),1.35,"tauceti")}},effect(){let r=$(this)[0].citizens(),a=e.race.lone_survivor?"":`
${t("plus_max_resource",[r,t("citizen")])}
`;return a=a+Gi(),a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},powered(){return V(e.race.lone_survivor?1:2)},action(){return _($(this)[0])?(S("tauceti_casino","tauceti"),e.race.joyless||(e.civic.entertainer.max+=E(1),e.civic.entertainer.display=!0),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tauceti_casino","tauceti"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),e.race.lone_survivor?0:r},flair:t("city_casino_flair")},tau_cultural_center:{id:"tauceti-tau_cultural_center",title:t("tech_cultural_center"),desc(){return`
${t("tech_cultural_center")}
${t("space_electrolysis_req",[e.resource[$(this)[0].p_fuel().r].name])}
`},category:"commercial",reqs:{tau_culture:1},path:["truepath"],cost:{Money(r){return f("tau_cultural_center",r,9145e4,1.35,"tauceti")},Copper(r){return f("tau_cultural_center",r,585e4,1.35,"tauceti")},Coal(r){return f("tau_cultural_center",r,465e3,1.35,"tauceti")},Polymer(r){return f("tau_cultural_center",r,3792e3,1.35,"tauceti")}},effect(){let r=8,a=1;e.civic.govern.type==="corpocracy"?a=2:e.civic.govern.type==="socialist"&&(a=.8);let i=20*a,s=5*a,n=15*a,c=`
${t("tau_home_cultureal_effect1",[$(this)[0].p_fuel().a,e.resource[$(this)[0].p_fuel().r].name,$(this)[0].title])}
`;return c+=`
${t("city_tourist_center_effect2",[i,Ce("casino")])}
`,c+=`
${t("city_tourist_center_effect2",[s,t("arpa_project_monument_title")])}
`,c+=`
${t("tau_home_cultureal_effect2",[r,t("tau_red_womlings")])}
`,e.tech.tau_culture>=2&&(c+=`
${t("tau_home_cultureal_effect3",[n,t(`tau_gas2_alien_station_data2_r${e.race.tau_food_item||0}`)])}
`),c+=`
${t("minus_power",[$(this)[0].powered()])}
`,c},powered(){return V(1)},p_fuel(){return{r:"Food",a:e.race.lone_survivor?25:500}},action(){return _($(this)[0])?(S("tau_cultural_center","tauceti"),e.tauceti.tau_cultural_center.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["tau_cultural_center","tauceti"]}}}},tau_red:{info:{name(){return t("tau_planet",[A().red])},desc(){return t("tau_red",[A().red])},support:"orbital_platform",extra(r){e.tech.tau_red&&e.tech.tau_red>=5&&($(`#${r}`).append(`
${t("tau_red_womling_prod")} {{ prod }}%
`),C({el:`#${r}Womlings`,data:e.tauceti.overseer}))}},red_mission:{id:"tauceti-red_mission",title(){return t("tau_new_mission_title",[A().red])},desc(){return t("tau_new_mission_title",[A().red])},reqs:{tauceti:2},grant:["tau_red",1],path:["truepath"],queue_complete(){return e.tech.tau_red>=1?0:1},cost:{Money(){return 1e9}},effect(){return t("tau_new_mission_effect",[A().red])},action(){return _($(this)[0])?(e.tauceti.settlement={count:0,on:0},I(t("tau_red_mission_result",[A().red]),"info",!1,["progress"]),!0):!1}},orbital_platform:{id:"tauceti-orbital_platform",title:t("tau_red_orbital_platform"),desc:`
${t("tau_red_orbital_platform")}
${t("requires_power")}
`,reqs:{tau_red:1,tauceti:4},path:["truepath"],cost:{Money(r){return f("orbital_platform",r,5e7,1.3,"tauceti")},Oil(r){return Yt()?f("orbital_platform",r,ye(uu(275e3)),1.3,"tauceti"):0},Aluminium(r){return f("orbital_platform",r,178e4,1.3,"tauceti")},Bolognium(r){return f("orbital_platform",r,45e4,1.3,"tauceti")}},effect(){let r=G(17500),a=+ye($(this)[0].support_fuel().a).toFixed(1),i=`
${t("space_red_spaceport_effect1",[t("tau_planet",[A().red]),$(this)[0].support()])}
`;return i=i+`
${t("plus_max_resource",[r.toLocaleString(),e.resource.Oil.name])}
`,i=i+`
${t("spend_power",[a,e.resource[$(this)[0].support_fuel().r].name,$(this)[0].powered()])}
`,i},support_fuel(){return{r:e.race.lone_survivor?"Helium_3":"Oil",a:e.tech.isolation?e.race.lone_survivor?8:32:125}},support(){let r=e.tech.womling_logistics?2.5:2;return e.race.lone_survivor&&(r*=2),r},powered(){return V(e.tech.isolation?e.race.lone_survivor?2:3:18)},refresh:!0,action(){return Yt()&&_($(this)[0])?(S("orbital_platform","tauceti"),L($(this)[0]),e.tech.tau_red===1&&(e.tech.tau_red=2,I(t("tau_red_orbital_platform_msg",[t("tau_planet",[A().red]),t("tau_planet",[x[e.race.species].home])]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["orbital_platform","tauceti"]}}},contact:{id:"tauceti-contact",title(){return t("tau_red_contact")},desc(){return t("tau_red_contact")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Money(){return 6e8},Food(){return e.race.lone_survivor&&e.race.artifical?62e3:25e5}},effect(){return t("tau_red_contact_effect")},action(){return _($(this)[0])?(e.race.womling_friend=1,Fn(),!0):!1}},introduce:{id:"tauceti-introduce",title(){return t("tau_red_introduce")},desc(){return t("tau_red_introduce")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Knowledge(){return 7e6}},effect(){return t("tau_red_introduce_effect")},action(){return _($(this)[0])?(e.race.womling_god=1,Fn(),!0):!1}},subjugate:{id:"tauceti-subjugate",title(){return t("tau_red_subjugate")},desc(){return t("tau_red_subjugate")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Money(){return 285e7}},effect(){return t("tau_red_subjugate_effect")},action(){return _($(this)[0])?(e.race.womling_lord=1,Fn(),!0):!1}},jeff:{id:"tauceti-jeff",title(){return t("tau_red_jeff")},desc(){return t("tau_red_jeff")},reqs:{tau_red:5},path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{},effect(){let r=e.tauceti.overseer?e.tauceti.overseer.injured:0;e.tauceti.overseer&&e.tauceti.overseer.pop${t("tau_red_jeff_effect1",[e.tauceti.overseer?e.tauceti.overseer.pop:0])}`;return a=a+`
${t("tau_red_jeff_effect2",[e.tauceti.overseer?e.tauceti.overseer.working:0])}
`,a=a+`
${t("tau_red_jeff_effect3",[r])}
`,a=a+`
${t("tau_red_jeff_effect4",[e.tauceti.overseer?e.tauceti.overseer.loyal:0])}
`,a=a+`
${t("tau_red_jeff_effect5",[e.tauceti.overseer?e.tauceti.overseer.morale:0])}
`,e.tech.hasOwnProperty("womling_tech")&&(a=a+`
${t("tau_red_jeff_effect6",[e.tech.womling_tech])}
`),a=a+`
${t("job_farmer")}: ${e.tauceti.womling_farm?e.tauceti.womling_farm.farmers:0}
`,a=a+`
${t("job_miner")}: ${e.tauceti.womling_mine?e.tauceti.womling_mine.miners:0}
`,e.tauceti.womling_lab&&(a=a+`
${t("job_scientist")}: ${e.tauceti.womling_lab?e.tauceti.womling_lab.scientist:0}
`),a},action(){return!1}},overseer:{id:"tauceti-overseer",title(){return $(this)[0].name()},desc(){return`
${$(this)[0].name()}
${t("space_support",[A().red])}
`},name(){return e.race.womling_lord?t("tau_red_overseer"):e.race.womling_god?t("tau_red_womgod"):t("tau_red_womally")},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return f("overseer",r,6e6,1.28,"tauceti")},Cement(r){return f("overseer",r,245e4,1.28,"tauceti")},Alloy(r){return e.race.womling_friend?f("overseer",r,185e4,1.28,"tauceti"):0},Neutronium(r){return e.race.womling_lord?f("overseer",r,165e3,1.28,"tauceti"):0},Titanium(r){return e.race.womling_god?f("overseer",r,225e4,1.28,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return r=r+`
${t("tau_red_overseer_effect",[$(this)[0].val()])}
`,r},val(){let r=0;return e.race.womling_lord?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?12:10:e.race.womling_god?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?6:5:e.race.womling_friend&&(r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?10:8),e.race.lone_survivor&&(r*=2),r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("overseer","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,pop:0,working:0,injured:0,morale:0,loyal:0,prod:0},p:["overseer","tauceti"]}}},womling_village:{id:"tauceti-womling_village",title:t("tau_red_womling_village"),desc(){return`
${t("tau_red_womling_village")}
${t("space_support",[A().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return f("womling_village",r,1e7,1.28,"tauceti")},Stone(r){return f("womling_village",r,225e4,1.28,"tauceti")},Plywood(r){return f("womling_village",r,yr(125e4),1.28,"tauceti")},Wrought_Iron(r){return f("womling_village",r,yr(4e5),1.28,"tauceti")}},effect(){let r=e.tech.womling_pop&&e.tech.womling_pop>=2?6:5,a=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return a=a+`
${t("tau_red_womling_village_effect",[r])}
`,e.tech.tau_junksale&&(a=a+`
${t("tau_red_womling_village_effect2",[40,t(`tau_gas2_alien_station_data4_r${e.race.tau_junk_item||0}`)])}
`),a},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("womling_village","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:1,on:1},p:["womling_village","tauceti"]}}},womling_farm:{id:"tauceti-womling_farm",title:t("tau_red_womling_farm"),desc(){return`
${t("tau_red_womling_farm")}
${t("space_support",[A().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return f("womling_farm",r,24e6,1.28,"tauceti")},Iron(r){return f("womling_farm",r,95e5,1.28,"tauceti")},Water(r){return f("womling_farm",r,5e3,1.28,"tauceti")}},effect(){let r=e.tech.womling_pop?16:12;e.tech.womling_gene&&(r+=4);let a=e.tauceti.hasOwnProperty("womling_farm")?e.tauceti.womling_farm.farmers:0,i=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return i=i+`
${t("tau_red_womling_farm_effect",[r])}
`,i=i+`
${t("tau_red_womling_employ",[2])}
`,e.tech.isolation&&(i=i+`
${t("tau_red_womling_generate",[e.resource.Furs.name])}
`),i=i+`
${t("tau_red_womling_farm_effect2",[r/2*a])}
`,i},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("womling_farm","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:1,on:1,farmers:0},p:["womling_farm","tauceti"]}}},womling_mine:{id:"tauceti-womling_mine",title:t("tau_red_womling_mine"),desc(){return`
${t("tau_red_womling_mine")}
${t("space_support",[A().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return f("womling_mine",r,125e5,1.28,"tauceti")},Lumber(r){return f("womling_mine",r,128e5,1.28,"tauceti")},Steel(r){return f("womling_mine",r,45e5,1.28,"tauceti")}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return e.tech.isolation?e.race.lone_survivor?r=r+`
${t("tau_red_womling_mine_effect_c",[e.resource.Unobtainium.name,e.resource.Uranium.name,e.resource.Titanium.name,e.resource.Iron.name,e.resource.Copper.name,e.resource.Aluminium.name,e.resource.Neutronium.name,e.resource.Iridium.name])}
`:r=r+`
${t("tau_red_womling_mine_effect_b",[e.resource.Unobtainium.name,e.resource.Uranium.name,e.resource.Titanium.name])}
`:r=r+`
${t("tau_red_womling_mine_effect_a",[e.resource.Unobtainium.name])}
`,r=r+`
${t("tau_red_womling_employ",[6])}
`,r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("womling_mine","tauceti"),e.resource.Unobtainium.display=!0,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,miners:0},p:["womling_mine","tauceti"]}},flair(){return t("tau_red_womling_mine_flair")}},womling_fun:{id:"tauceti-womling_fun",title(){return $(this)[0].name()},desc(){return`
${$(this)[0].name()}
${t("space_support",[A().red])}
`},name(){return e.race.womling_lord?t("tau_red_womling_fun1"):e.race.womling_god?t("tau_red_womling_fun2"):t("tau_red_womling_fun3")},reqs:{tau_red:6},path:["truepath"],cost:{Money(r){return f("womling_fun",r,38e5,1.28,"tauceti")},Food(r){return e.race.womling_friend?f("womling_fun",r,175e3,1.28,"tauceti"):0},Lumber(r){return f("womling_fun",r,5e5,1.28,"tauceti")},Stone(r){return f("womling_fun",r,5e5,1.28,"tauceti")},Furs(r){return e.race.womling_lord||e.race.womling_god?f("womling_fun",r,835e3,1.28,"tauceti"):0},Copper(r){return e.race.womling_lord?f("womling_fun",r,1125e3,1.28,"tauceti"):0},Alloy(r){return e.race.womling_god?f("womling_fun",r,656e3,1.28,"tauceti"):0},Water(r){return e.race.womling_friend?f("womling_fun",r,3500,1.28,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return r=r+`
${t("tau_red_womling_fun_effect",[$(this)[0].val()])}
`,r},val(){let r=0;return e.race.womling_lord?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?24:20:e.race.womling_god?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?12:10:e.race.womling_friend&&(r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?18:15),e.race.lone_survivor&&(r*=2),r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("womling_fun","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["womling_fun","tauceti"]}}},womling_lab:{id:"tauceti-womling_lab",title:t("interstellar_laboratory_title"),desc(){return`
${t("interstellar_laboratory_title")}
${t("space_support",[A().red])}
`},reqs:{tau_red:7},path:["truepath"],cost:{Money(r){return f("womling_lab",r,65e6,1.28,"tauceti")},Elerium(r){return f("womling_lab",r,1200,1.28,"tauceti")},Orichalcum(r){return f("womling_lab",r,25e5,1.28,"tauceti")},Unobtainium(r){return f("womling_lab",r,1e4,1.28,"tauceti")},Quantium(r){return f("womling_lab",r,yr(95e3),1.28,"tauceti")}},effect(){let r=e.tauceti.hasOwnProperty("overseer")?e.tauceti.overseer.prod:100,a=Math.round(25e3*r/100),i=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return i=i+`
${t("tau_red_womling_lab_effect",[a])}
`,i=i+`
${t("tau_red_womling_employ_single",[1])}
`,i},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("womling_lab","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,scientist:0,tech:0},p:["womling_lab","tauceti"]}}}},tau_gas:{info:{name(r,a){let i=a||"gas_name",s=i==="gas_name"?0:1;if(r||e.race[i])switch(r||e.race[i]){case 1:{let n=e.race.universe==="antimatter"?"plasmid":"antiplasmid";switch(Math.round(e.stats[n]+s)%3){case 1:return t("tau_planet",[A().gas]);case 2:return t("tau_gas_title0a",[A().gas]);default:return t("tau_gas_title0b",[A().gas])}}case 2:switch(Math.round(e.stats.reset+s)%3){case 1:return t("tau_gas_title1a");case 2:return t("tau_gas_title1b");default:return t("tau_gas_title1c")}case 3:switch(Math.round(e.stats.mad+s)%3){case 1:return t("tau_gas_title2a");case 2:return t("tau_gas_title2b");default:return t("tau_gas_title2c")}case 4:switch(Math.round(e.stats.bioseed+s)%3){case 1:return t("tau_gas_title3a",[x[e.race.gods].solar.gas]);case 2:return t("tau_gas_title3b",[x[e.race.old_gods].name]);default:return t("tau_gas_title3c",[x[e.race.species].name])}case 5:switch(Math.round(e.stats.portals+s)%3){case 1:return t("tau_gas_title4a",[A().gas]);case 2:return t("tau_gas_title4b",[lt("reverse",A().gas)]);default:return t("tau_gas_title4c")}case 6:switch(Math.round(e.stats.womling.friend.l+e.stats.womling.lord.l+e.stats.womling.god.l+s)%3){case 1:return t("tau_gas_title5a");case 2:return t("tau_gas_title5b");default:return t("tau_gas_title5c")}case 7:switch(Math.round(e.stats.tdays+s)%3){case 1:return t("tau_gas_title6a");case 2:return t("tau_gas_title6b");default:return t("tau_gas_title6c")}default:return i==="gas_name"?t("tau_gas_title"):t("tau_gas2_title")}return i==="gas_name"?t("tau_gas_title"):t("tau_gas2_title")},desc(){return t("tau_gas_desc")}},gas_contest:{id:"tauceti-gas_contest",title(){return t("tau_gas_contest_title")},desc(){return t("tau_gas_contest_title")},reqs:{tauceti:5},grant:["tau_gas",1],path:["truepath"],queue_complete(){return e.tech.tau_gas>=1?0:1},cost:{Money(){return 1e7}},effect(){return e.race.lone_survivor?t("tau_gas_contest_effect_alt"):t("tau_gas_contest_effect")},action(){return!!_($(this)[0])}},refueling_station:{id:"tauceti-refueling_station",title(){return t("tau_gas_refueling_station_title")},desc(){return`
${t("tau_gas_refueling_station_title")}
${t("requires_power")}
`},reqs:{tau_gas:2},path:["truepath"],cost:{Money(r){return f("refueling_station",r,68e6,1.28,"tauceti")},Graphene(r){return f("refueling_station",r,25e5,1.28,"tauceti")},Unobtainium(r){return f("refueling_station",r,5500,1.28,"tauceti")},Mythril(r){return f("refueling_station",r,yr(6e4),1.28,"tauceti")}},powered(){return V(e.tech.isolation?2:5)},effect(){let r=+ie("refueling_station").toFixed(2),a=G(1e4),i=`
${t("space_gas_mining_effect1",[r])}
`;if(i=i+`
${t("plus_max_resource",[a.toLocaleString(),e.resource.Helium_3.name])}
`,e.tech.tau_whale>=2){let s=G(6500);i=i+`
${t("plus_max_resource",[s.toLocaleString(),e.resource.Oil.name])}
`}return e.tech.isolation&&(i=i+`
${t("interstellar_g_factory_effect")}
`),i=i+`
${t("minus_power",[$(this)[0].powered()])}
`,i},special(){return!!e.tech.isolation},action(){return _($(this)[0])?(S("refueling_station","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["refueling_station","tauceti"]}},post(){e.tech.tau_gas===2&&(e.tech.tau_gas=3,ae())}},ore_refinery:{id:"tauceti-ore_refinery",title(){return t("tau_gas_ore_refinery_title")},desc(){return`
${t("tau_gas_ore_refinery_title")}
${t("requires_power")}
`},reqs:{tau_gas:4},path:["truepath"],cost:{Money(r){return f("ore_refinery",r,52e6,1.28,"tauceti")},Iridium(r){return f("ore_refinery",r,16e5,1.28,"tauceti")},Unobtainium(r){return f("ore_refinery",r,800,1.28,"tauceti")},Sheet_Metal(r){return f("ore_refinery",r,yr(118e3),1.28,"tauceti")}},powered(){return V(e.tech.isolation?2:8)},smelting(){return e.tech.isolation?12:4},effect(){let r=e.tauceti.hasOwnProperty("ore_refinery")?e.tauceti.ore_refinery.fill:0,a=e.tauceti.hasOwnProperty("ore_refinery")?e.tauceti.ore_refinery.max:0,i=+ie("ore_refinery").toFixed(2),s=`
${t("tau_gas_ore_refinery_effect",[+r.toFixed(2)])}
`;return s=s+`
${t("tau_gas_ore_refinery_effect2",[a])}
`,s=s+`
${t("tau_gas_ore_refinery_effect3",[i])}
`,s=s+`
${t("interstellar_stellar_forge_effect3",[$(this)[0].smelting()])}
`,s=s+`
${t("minus_power",[$(this)[0].powered()])}
`,s},special:!0,action(){if(_($(this)[0])){if(S("ore_refinery","tauceti"),L($(this)[0])){let r=$(this)[0].smelting();e.city.smelter.cap+=r,e.city.smelter.Steel+=r,e.race.evil?e.city.smelter.Wood+=r:e.city.smelter.Oil+=r}return!0}return!1},struct(){return{d:{count:0,on:0,max:0,fill:0},p:["ore_refinery","tauceti"]}},post(){e.tech.tau_roid===3&&(e.tech.tau_roid=4,br(),ae())}},whaling_station:{id:"tauceti-whaling_station",title(){return t("tau_gas_whaling_station_title")},desc(){return`
${t("tau_gas_whaling_station_title")}
${t("requires_power")}
`},reqs:{tau_whale:1},path:["truepath"],cost:{Money(r){return f("whaling_station",r,72e6,1.28,"tauceti")},Steel(r){return f("whaling_station",r,18e5,1.28,"tauceti")},Polymer(r){return f("whaling_station",r,955e3,1.28,"tauceti")},Orichalcum(r){return f("whaling_station",r,268e3,1.28,"tauceti")}},powered(){return V(e.tech.isolation?2:6)},effect(){let r=e.tauceti.hasOwnProperty("whaling_station")?e.tauceti.whaling_station.fill:0,a=e.tauceti.hasOwnProperty("whaling_station")?e.tauceti.whaling_station.max:0,i=+ie("whaling_station").toFixed(2),s=`
${t("tau_gas_whaling_station_effect",[+r.toFixed(2)])}
`;return s=s+`
${t("tau_gas_whaling_station_effect2",[a])}
`,s=s+`
${t("tau_gas_whaling_station_effect3",[i])}
`,s=s+`
${t("minus_power",[$(this)[0].powered()])}
`,s},action(){return _($(this)[0])?(S("whaling_station","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,max:0,fill:0},p:["whaling_station","tauceti"]}},post(){e.tech.tau_whale===1&&(e.tech.tau_whale=2,br())}},womling_station:{id:"tauceti-womling_station",title(){return t("tau_gas_womling_station_title")},desc(){return`
${t("tau_gas_womling_station_desc")}
${t("requires_power")}
`},reqs:{womling_technicians:1},path:["truepath"],cost:{Money(r){return f("womling_station",r,1334e5,1.26,"tauceti")},Furs(r){return f("womling_station",r,3805e3,1.26,"tauceti")},Aluminium(r){return f("womling_station",r,85e5,1.26,"tauceti")},Nano_Tube(r){return f("womling_station",r,909e3,1.26,"tauceti")}},powered(){return V(e.tech.isolation?3:6)},effect(){let r=e.tech.isolation?30:8;e.tech.womling_gene&&(r*=1.25);let a=`
${t("production",[r,ue.tau_gas.info.name()])}
`;return e.race.flier||(a=a+`
${t("plus_max_resource",[E(1),t("job_cement_worker")])}
`),a=a+`
${t("space_red_fabrication_effect1",[E(1)])}
`,a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},action(){return _($(this)[0])?(e.civic.craftsman.display=!0,S("womling_station","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["womling_station","tauceti"]}}}},tau_roid:{info:{name(){return t("tau_roid_title")},desc(){return t("tau_roid_desc")},support:"patrol_ship"},roid_mission:{id:"tauceti-roid_mission",title(){return t("space_mission_title",[t("tau_roid_title")])},desc(){return t("space_mission_desc",[t("tau_roid_title")])},reqs:{tauceti:5},grant:["tau_roid",1],path:["truepath"],queue_complete(){return e.tech.tau_roid>=1?0:1},cost:{Helium_3(r,a){return+ye(125e4,!1,a).toFixed(0)}},effect(){return t("tau_roid_mission_effect",[t("tau_roid_title")])},action(){return _($(this)[0])?(I(t("tau_roid_mission_result"),"info",!1,["progress"]),!0):!1}},patrol_ship:{id:"tauceti-patrol_ship",title:t("tau_roid_patrol_ship"),desc(){return`
${t("tau_roid_patrol_ship")}
${t("requires_res",[e.resource.Helium_3.name])}
`},reqs:{tau_roid:3},path:["truepath"],cost:{Money(r){return f("patrol_ship",r,45e6,1.25,"tauceti")},Adamantite(r){return f("patrol_ship",r,18e5,1.25,"tauceti")},Elerium(r){return f("patrol_ship",r,520,1.25,"tauceti")},Stanene(r){return f("patrol_ship",r,2675e3,1.25,"tauceti")},Bolognium(r){return f("patrol_ship",r,115e4,1.25,"tauceti")}},effect(){let r=+ye($(this)[0].support_fuel().a).toFixed(1),a=`
${t("tau_roid_patrol_ship_security",[$(this)[0].support()])}
`;return a=a+`
${t("tau_roid_patrol_ship_effect")}
`,a=a+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,a},support_fuel(){return{r:"Helium_3",a:e.tech.isolation?15:250}},support(){return 1},powered(){return 0},refresh:!0,action(){return _($(this)[0])?(S("patrol_ship","tauceti"),e.tauceti.patrol_ship.on++,!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["patrol_ship","tauceti"]}}},mining_ship:{id:"tauceti-mining_ship",title:t("tau_roid_mining_ship"),desc(){return`
${t("tau_roid_mining_ship")}
`},reqs:{tau_roid:4},path:["truepath"],cost:{Money(r){return f("mining_ship",r,28e6,1.28,"tauceti")},Uranium(r){return f("mining_ship",r,12500,1.28,"tauceti")},Titanium(r){return f("mining_ship",r,22e5,1.28,"tauceti")},Alloy(r){return f("mining_ship",r,175e4,1.28,"tauceti")}},effect(){let r=+ye($(this)[0].support_fuel().a).toFixed(1),a=+ie("mining_ship").toFixed(2),i=`
${t("tau_roid_mining_ship_effect",[a])}
`;return i=i+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,i},s_type:"tau_roid",support_fuel(){return{r:"Helium_3",a:e.tech.isolation?12:75}},support(){return-1},powered(){return 0},special:!0,action(){return _($(this)[0])?(S("mining_ship","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,common:50,uncommon:50,rare:50},p:["mining_ship","tauceti"]}}},whaling_ship:{id:"tauceti-whaling_ship",title:t("tau_roid_whaling_ship"),desc(){return`
${t("tau_roid_whaling_ship")}
`},reqs:{tau_whale:2},path:["truepath"],cost:{Money(r){return f("whaling_ship",r,35e6,1.28,"tauceti")},Aluminium(r){return f("whaling_ship",r,34e5,1.28,"tauceti")},Neutronium(r){return f("whaling_ship",r,168e3,1.28,"tauceti")},Nano_Tube(r){return f("whaling_ship",r,8e5,1.28,"tauceti")}},effect(){let r=+ye($(this)[0].support_fuel().a).toFixed(1),a=+ie("whaling_ship").toFixed(2),i=`
${t("tau_roid_whaling_ship_effect",[a])}
`;return i=i+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,i},s_type:"tau_roid",support_fuel(){return{r:"Helium_3",a:e.tech.isolation?14:90}},support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("whaling_ship","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["whaling_ship","tauceti"]}}}},tau_gas2:{info:{name(r){return ue.tau_gas.info.name(r||e.race.gas_name2||!1,"gas_name2")},desc(){return t("tau_gas2_desc",[ue.tau_gas.info.name()])}},gas_contest2:{id:"tauceti-gas_contest2",title(){return t("tau_gas2_contest_title")},desc(){return t("tau_gas2_contest_title")},reqs:{tau_gas2:1},grant:["tau_gas2",2],path:["truepath"],queue_complete(){return e.tech.tau_gas2>=1?0:1},cost:{Money(){return 25e6}},effect(){return t("tau_gas2_contest_effect")},action(){return!!_($(this)[0])},flair(){return t("tau_gas2_contest_flair")}},alien_station_survey:{id:"tauceti-alien_station_survey",title:t("tau_gas2_alien_station"),desc:t("tau_gas2_alien_station"),reqs:{tau_gas2:3},grant:["tau_gas2",4],path:["truepath"],queue_complete(){return e.tech.tau_gas3>=4?0:1},cost:{Money(){return e.race.lone_survivor?15e8:3e9},Helium_3(){return 5e6}},effect(){return t("tau_gas2_alien_station_repair_effect",[ue.tau_gas2.info.name()])},action(){return _($(this)[0])?(y(ue.tau_gas2.alien_station),I(t("tau_gas2_alien_station_msg",[ue.tau_gas2.info.name()]),"info",!1,["progress"]),!0):!1}},alien_station:{id:"tauceti-alien_station",title:t("tau_gas2_alien_station"),desc(r){return!e.tauceti.hasOwnProperty("alien_station")||e.tauceti.alien_station.count<100||r?`
${t("tau_gas2_alien_station")}
`+(e.tauceti.hasOwnProperty("alien_station")&&e.tauceti.alien_station.count>=100?`
${t("space_dwarf_reactor_desc_req")}
`:`
${t("tau_gas2_alien_station_repair")}
`):`
${t("tau_gas2_alien_station")}
`},reqs:{tau_gas2:4},condition(){return e.tauceti.alien_station.count<100},path:["truepath"],queue_size:5,queue_complete(){return 100-e.tauceti.alien_station.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?12e6:5e7:0},Aluminium(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?256e3:256e4:0},Polymer(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?198900:989e3:0},Mythril(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?yr(125e3):0},Cipher(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?256:2001:0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0);return i<100?(a+=`
${t("tau_gas2_alien_station_repaired",[i])}
`,a):ue.tau_gas2.alien_space_station.effect(r)},action(){return _($(this)[0])&&e.tauceti.alien_station.count<100?(S("alien_station","tauceti"),e.tauceti.alien_station.count>=100&&(e.tech.tau_gas2=5,e.tauceti.alien_space_station={count:1,on:0}),!0):!1},struct(){return{d:{count:0},p:["alien_station","tauceti"]}},post(){e.resource.Elerium.diff>=10&&(e.tauceti.alien_space_station.on=1),br()}},alien_space_station:{id:"tauceti-alien_space_station",title:t("tau_gas2_alien_station"),desc(){return`
${t("tau_gas2_alien_station")}
${t("space_dwarf_reactor_desc_req")}
`},reqs:{tau_gas2:5},path:["truepath"],cost:{},queue_complete(){return 0},special(){return!!(e.tech.tau_gas2&&e.tech.tau_gas2===6&&(!e.tech.alien_data||e.tech.alien_data<6))},wiki:!1,effect(){let r=$(this)[0].p_fuel().a,a=`
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}
`;if(e.tech.tau_gas2&&e.tech.tau_gas2>=6&&e.tauceti.alien_space_station.hasOwnProperty("decrypted")){let i=e.race.lone_survivor?1e5:25e6,s=+(e.tauceti.alien_space_station.decrypted/i).toFixed(2);s>100&&(s=100),a=a+`
${t("tau_gas2_alien_station_effect",[s])}
`}return a=a+`
${t("spend",[r,e.resource[$(this)[0].p_fuel().r].name])}
`,a},p_fuel(){return{r:"Elerium",a:e.race.lone_survivor?1:10}},powered(){return nt(-75)},action(){return!1}},matrioshka_brain:{id:"tauceti-matrioshka_brain",title:t("tech_matrioshka_brain"),desc(r){return!e.tauceti.hasOwnProperty("matrioshka_brain")||e.tauceti.matrioshka_brain.count<1e3||r?`
${t("tech_matrioshka_brain")}
${t("requires_segments",[1e3])}
`:`
${t("tech_matrioshka_brain")}
`},reqs:{tau_gas2:7},condition(){return!!e.tauceti.matrioshka_brain},path:["truepath"],queue_size:50,queue_complete(){return 1e3-e.tauceti.matrioshka_brain.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?2e7:0},Neutronium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?45e3:0},Nano_Tube(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?16e4:0},Adamantite(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?666e3:0},Stanene(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?61600:0},Bolognium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?44e3:0},Unobtainium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?1200:0},Mythril(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?yr(64e3):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0);return i<1e3&&(a+=`
${t("tau_gas2_matrioshka_brain_seg",[1e3-i])}
`),a},action(){return _($(this)[0])&&e.tauceti.matrioshka_brain.count<1e3?(S("matrioshka_brain","tauceti"),e.tauceti.matrioshka_brain.count>=1e3&&(e.tech.m_brain=1),!0):!1},struct(){return{d:{count:0},p:["matrioshka_brain","tauceti"]}}},ignition_device:{id:"tauceti-ignition_device",title:t("tech_ignition_device"),desc(r){return!e.tauceti.hasOwnProperty("ignition_device")||e.tauceti.ignition_device.count<10||r?`
${t("tech_ignition_device")}
${t("requires_segments",[10])}
`:`
${t("tech_ignition_device")}
`},reqs:{tau_gas2:8},condition(){return!!(e.tauceti.ignition_device&&e.tauceti.ignition_device.count<10)},path:["truepath"],queue_size:1,queue_complete(){return 10-e.tauceti.ignition_device.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?25e7:0},Uranium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?5e4:0},Elerium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?25e3:0},Graphene(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?225e5:0},Orichalcum(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?15e6:0},Quantium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?yr(8e6):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0);return i<10&&(a+=`
${t("tau_gas2_ignition_device_seg",[10-i])}
`),a},action(){return _($(this)[0])&&e.tauceti.ignition_device.count<10?(S("ignition_device","tauceti"),e.tauceti.ignition_device.count>=10&&(e.tech.m_ignite=1),!0):!1},struct(){return{d:{count:0},p:["ignition_device","tauceti"]}}},ignite_gas_giant:{id:"tauceti-ignite_gas_giant",title(){return t("tau_gas2_ignite_gas_giant",[ue.tau_gas2.info.name()])},desc(){return t("tau_gas2_ignite_gas_giant",[ue.tau_gas2.info.name()])},reqs:{tau_gas2:8,m_ignite:1},grant:["m_ignite",2],queue_size:1,queue_complete(){return!1},path:["truepath"],cost:{Helium_3(){return 75e5}},effect(){let r=`
${t("tau_gas2_ignite_gas_giant_effect",[t("tech_matrioshka_brain")])}
`;return e.tech.m_brain?(r=r+`
${t("tau_gas2_ignite_gas_giant_effect3")}
`,r+=ou()):r=r+`
${t("tau_gas2_ignite_gas_giant_effect2",[t("tech_matrioshka_brain")])}
`,r},action(){return e.tech.m_brain&&_($(this)[0])?(ao(),!0):!1}}}};for(let r=1;r<9;r++)ue.tau_gas[`gas_contest-a${r}`]={id:`tauceti-gas_contest-a${r}`,title(){return ue.tau_gas.info.name(r)},desc(){return ue.tau_gas.info.name(r)},reqs:{tau_gas:1},grant:["tau_gas",2],path:["truepath"],wiki:!1,queue_complete(){return e.tech.tau_gas>=2?0:1},cost:{},effect(){return t(r===8?"tau_gas_contest_reject":"tau_gas_contest_pick",[ue.tau_gas.info.name(r)])},action(){return _($(this)[0])?(e.race.gas_name=r,y(ue.tauceti.tau_gas.refueling_station),!0):!1}},ue.tau_gas2[`gas_contest-b${r}`]={id:`tauceti-gas_contest-b${r}`,title(){return ue.tau_gas2.info.name(r)},desc(){return ue.tau_gas2.info.name(r)},reqs:{tau_gas2:2},grant:["tau_gas2",3],path:["truepath"],wiki:!1,queue_complete(){return e.tech.tau_gas2>=3?0:1},cost:{},effect(){return t(r===8?"tau_gas2_contest_reject":"tau_gas_contest_pick",[ue.tau_gas2.info.name(r)])},action(){return _($(this)[0])?(e.race.gas_name2=r,!0):!1}};function so(){let r=$e("matrix"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name"),i=e.stats.retire===e.stats.matrix+1?`
${t("tau_star_matrix_skilled",[1])}
`:"";return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
${i}`}function ou(){let r=$e("retired"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name"),i=e.stats.retire+1===e.stats.matrix?`
${t("tau_star_matrix_skilled",[1])}
`:"";return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
${i}`}function lu(){let r=$e("eden"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
`}function Fn(){y(ue.tau_red.overseer),y(ue.tau_red.womling_village),y(ue.tau_red.womling_mine),y(ue.tau_red.womling_fun),e.race.lone_survivor&&(e.tauceti.womling_village.count=2,e.tauceti.womling_village.on=2,e.tauceti.womling_mine.count=1,e.tauceti.womling_mine.on=1)}function uu(r){return e.tech.womling_tech&&e.tech.womling_logistics&&e.tech.womling_logistics>=2&&(r*=.94**e.tech.womling_tech),r}function yr(r){return e.tech.womling_tech&&e.tech.womling_recycling&&e.tech.womling_recycling>=1&&(r*=(e.tech.isolation?.97:.98)**e.tech.womling_tech),r}function ii(){return ei}function no(){return ue}function Yt(){return!!(e.tech.tauceti&&e.tech.tauceti>=4)}function co(r,a,i){switch(r){case"tauceti":return Vt(ue,a,i)}}function br(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==6))return;let r=$("#tauceti");K(r),r.append($(`

${t("tab_tauceti")}

`)),!(!e.tech.tauceti||e.tech.tauceti<2)&&Object.keys(ue).forEach(function(a){let i=a.replace("tau_","");if(e.settings.tau[`${i}`]){let s=typeof ue[a].info.name=="string"?ue[a].info.name:ue[a].info.name(),n="";if(ue[a].info.hasOwnProperty("prop")&&(n=ue[a].info.prop()),ue[a].info.support){let c=ue[a].info.support;ue[a].info.hide_support?r.append(`

${s}

${n}
`):r.append(`

${s}

{{ support }}/{{ s_max }}${n}
`),C({el:`#sr${a}`,data:e.tauceti[c],filters:{filter(){return ue[a].info.filter(...arguments)}}})}else r.append(`

${s}

${n}
`);N(a,function(){return typeof ue[a].info.desc=="string"?ue[a].info.desc:ue[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),Object.keys(ue[a]).forEach(function(c){if(c!=="info"&&Vt(ue,a,c)){let o=ue[a][c];er(o,"tauceti",c)}}),ue[a].info.hasOwnProperty("extra")&&ue[a].info.extra(a)}})}function En(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==2||e.settings.govTabs!==5))&&(In(),ni(),K($("#dwarfShipYard")),e.space.hasOwnProperty("shipyard")&&e.settings.showShipYard)){let r=$("#dwarfShipYard");e.space.shipyard.hasOwnProperty("blueprint")||(e.space.shipyard.blueprint={class:"corvette",armor:"steel",weapon:"railgun",engine:"ion",power:"diesel",sensor:"radar",name:ks()});let a=$('
');r.append(a);let i=$('
');a.append(i),i.append(`
${t("outer_shipyard_registry")}:
`),i.append(`
${t("crew")}
`),i.append(`
${t("power")}
`),i.append(`
${t("firepower")}
`),i.append(`
${t("outer_shipyard_sensors")}
`),i.append(`
${t("speed")}
`),i.append(`
${t("outer_shipyard_fuel")}
`),a.append('
');let s=$('
');a.append(s);let n={class:["corvette","frigate","destroyer","cruiser","battlecruiser","dreadnought","explorer"],power:["solar","diesel","fission","fusion","elerium"],weapon:["railgun","laser","p_laser","plasma","phaser","disruptor"],armor:["steel","alloy","neutronium"],engine:["ion","tie","pulse","photon","vacuum","emdrive"],sensor:["visual","radar","lidar","quantum"]};Object.keys(n).forEach(function(l){let u="";n[l].forEach(function(p,h){u+=`${t(`outer_shipyard_${l}_${p}`)}`}),s.append(` +(()=>{var pe=window.localStorage,e={seed:1,warseed:1,resource:{},evolution:{},tech:{},city:{},space:{},interstellar:{},portal:{},eden:{},tauceti:{},civic:{},race:{},genes:{},blood:{},stats:{start:Date.now(),days:0,tdays:0},event:{t:200,l:!1},m_event:{t:499,l:!1}},Se={},Te={c:{},p:{}},Ea={},H={},be={},kn={},Mr={},ps={},zi=0,Nl=0,Rl=0,hs={t:0};function $n(r){Nl=r}function xn(r){Rl=r}var Xt={},Ia={},La={view:"all"},Fi=["all","progress","queue","building_queue","research_queue","combat","spy","events","major_events","minor_events","achievements","hell"];Math.rand=function(r,a){return Math.floor(Math.random()*(a-r))+r};e.seed=2;e.warseed=2;function T(r,a,i){a=a||1,r=r||0,e[i?"warseed":"seed"]=(e[i?"warseed":"seed"]*9301+49297)%233280;let s=e[i?"warseed":"seed"]/233280;return r+s*(a-r)}{let r=pe.getItem("evolved")||!1;if(r){let a=JSON.parse(LZString.decompressFromUTF16(r));a?e=a:Gc()}else Gc()}function Nc(r){e=r}e.version||(e.version="0.2.0");J(e.version)<2060&&Object.keys(e.resource).forEach(function(r){e.resource[r].crates&&(e.resource[r].crates=Math.ceil(e.resource[r].crates/5)),e.resource[r].containers&&(e.resource[r].containers=Math.ceil(e.resource[r].containers/5))});if(J(e.version)<2062&&e.civic.taxes!==void 0)switch(Number(e.civic.taxes.tax_rate)){case 0:e.civic.taxes.tax_rate=0;break;case 1:e.civic.taxes.tax_rate=10;break;case 2:e.civic.taxes.tax_rate=20;break;case 3:e.civic.taxes.tax_rate=30;break;case 4:e.civic.taxes.tax_rate=40;break;case 5:e.civic.taxes.tax_rate=50;break}J(e.version)===2062&&e.civic.taxes!==void 0&&e.civic.taxes.tax_rate==2&&(e.civic.taxes.tax_rate=20);J(e.version)<2065&&e.race!==void 0&&e.race.species==="sporgar"&&(delete e.race.crafty,delete e.race.hydrophilic,e.race.infectious=1,e.race.parasite=1,!e.tech.military&&e.tech.primitive&&e.tech.primitive>=3&&(e.civic.garrison.display=!0,e.settings.showCivic=!0,e.city.garrison={count:0}));J(e.version)<3002&&e.space&&(e.tech.space&&e.tech.space>=4&&(e.space.living_quarters||(e.space.living_quarters={count:0,on:0}),e.space.garage||(e.space.garage={count:0}),e.space.red_mine||(e.space.red_mine={count:0,on:0}),e.space.fabrication||(e.space.fabrication={count:0,on:0}),e.space.laboratory||(e.space.laboratory={count:0,on:0})),e.tech.space&&e.tech.space>=3&&(e.space.iridium_mine||(e.space.iridium_mine={count:0,on:0}),e.space.helium_mine||(e.space.helium_mine={count:0,on:0})),e.tech.hell&&(e.space.geothermal||(e.space.geothermal={count:0,on:0})));J(e.version)<3004&&e.settings&&e.settings.space&&e.settings.space.belt&&(e.space.space_station={count:0,on:0,support:0,s_max:0});J(e.version)<4001&&e.city&&e.city.factory&&!e.city.factory.Nano&&(e.city.factory.Nano=0);J(e.version)<4003&&e.stats.achieve&&Object.keys(e.stats.achieve).forEach(function(r){e.stats.achieve[r]=1});J(e.version)<4010&&e.stats.achieve&&e.stats.achieve.doomed&&(e.stats.portals=1);J(e.version)<4028&&e.stats.achieve&&e.stats.achieve.genus_demonic&&(e.stats.achieve.biome_hellscape=e.stats.achieve.genus_demonic);if(J(e.version)<4029&&e.race.mutation&&e.race.mutation>0){e.resource.Genes={name:"Genes",display:!0,value:0,amount:0,crates:0,diff:0,delta:0,max:-2,rate:0};for(let r=0;r=3&&(e.tech.wind_plant=1,e.tech.hunting=2);let r=["Human","Humano","Elf","Elfo","Orc","Cath","Wolven","Centaur","Centauro","Kobold","Goblin","Gnome","Ogre","Ogro","Cyclops","Ciclope","Troll","Tortoisan","Gecko","Slitheryn","Arraak","Pterodacti","Dracnid","Ent","Cacti","Sporgar","Shroomi","Mantis","Scorpid","Antid","Sharkin","Octigoran","Balorg","Imp"];for(let a=0;a0){let r=1;e.race.no_trade&&r++,e.race.no_craft&&r++,e.race.no_crispr&&r++,e.race.weak_mastery&&r++,e.stats.achieve.cross={l:r,a:r}}J(e.version)<7e3&&(e.civic.govern||(e.civic.govern={type:"oligarchy",rev:0,fr:0}));if(J(e.version)<7004&&e.queue&&e.queue.queue)for(let r=0;r"u"&&(e.civic.foreign.gov0.anx=!1),typeof e.civic.foreign.gov1.anx>"u"&&(e.civic.foreign.gov1.anx=!1),typeof e.civic.foreign.gov2.anx>"u"&&(e.civic.foreign.gov2.anx=!1),typeof e.civic.foreign.gov0.buy>"u"&&(e.civic.foreign.gov0.buy=!1),typeof e.civic.foreign.gov1.buy>"u"&&(e.civic.foreign.gov1.buy=!1),typeof e.civic.foreign.gov2.buy>"u"&&(e.civic.foreign.gov2.buy=!1));J(e.version)<8e3&&e.settings&&e.settings.hasOwnProperty("tLabels")&&delete e.settings.tLabels;J(e.version)<8003&&e.stats.harmony&&e.stats.harmony>0&&(e.stats.harmony=parseFloat(e.stats.harmony.toFixed(2)),e.race.Harmony.count=parseFloat(e.race.Harmony.count.toFixed(2)));J(e.version)<8017&&e.city.garrison&&(e.city.garrison.on=e.city.garrison.count);J(e.version)<9e3&&e.settings&&e.settings.showCity&&(e.settings.showCiv=e.settings.showCity);J(e.version)<9005&&e.race.hasOwnProperty("terrifying")&&e.tech.hasOwnProperty("gambling")&&!e.space.hasOwnProperty("spc_casino")&&(e.space.spc_casino={count:0,on:0});J(e.version)<9009&&e.genes.hasOwnProperty("ancients")&&e.genes.ancients>=3&&(e.genes.ancients===4?e.genes.ancients=5:e.race.Plasmid.count+=300);J(e.version)<9010&&(["species","gods","old_gods"].forEach(r=>{e.race[r]==="orge"&&(e.race[r]="ogre")}),e.stats.hasOwnProperty("achieve")&&e.stats.achieve.hasOwnProperty("extinct_orge")&&(e.stats.achieve.extinct_ogre=e.stats.achieve.extinct_orge,delete e.stats.achieve.extinct_orge),e.resource.hasOwnProperty("orge")&&(e.resource.ogre=e.resource.orge,delete e.resource.orge),e.city&&e.city.factory&&!e.city.factory.Furs&&(e.city.factory.Furs=0));J(e.version)<9014&&(["seraph","unicorn","custom"].forEach(r=>{e.race.species===r&&(r==="custom"&&e.hasOwnProperty("custom")&&e.custom.race0.genus==="angelic"||r!=="custom")&&(e.race.holy=1)}),e.hasOwnProperty("arpa")&&e.arpa.hasOwnProperty("sequence")&&(e.arpa.sequence.labs=0));J(e.version)<1e5&&(delete e.city.lumber,delete e.city.stone,e.stats.dark=0,e.race.Dark&&(e.stats.dark=e.race.Dark.count),e.city.hasOwnProperty("smelter")&&(e.city.smelter.hasOwnProperty("Star")||(e.city.smelter.Star=0),e.city.smelter.hasOwnProperty("StarCap")||(e.city.smelter.StarCap=0),e.city.smelter.hasOwnProperty("Inferno")||(e.city.smelter.Inferno=0)),e.hasOwnProperty("warseed")||(e.warseed=e.seed+1,Math.war=e.hasOwnProperty("warseed")?e.warseed:e.seed),e.portal.hasOwnProperty("bireme")&&(e.portal.bireme.crew=0,e.portal.bireme.mil=0),e.portal.hasOwnProperty("transport")&&(e.portal.transport.crew=0,e.portal.transport.mil=0,e.portal.transport.cargo||(e.portal.transport.cargo={used:0,max:0,Crystal:0,Lumber:0,Stone:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Deuterium:0,Neutronium:0,Adamantite:0,Infernite:0,Elerium:0,Nano_Tube:0,Graphene:0,Stanene:0,Bolognium:0,Vitreloy:0,Orichalcum:0,Plywood:0,Brick:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0})),e.hasOwnProperty("settings")&&e.settings.portal&&e.settings.portal.spire&&!e.portal.hasOwnProperty("purifier")&&(e.settings.portal.spire=!1),e.portal.hasOwnProperty("mechbay")&&!Array.isArray(e.portal.mechbay.mechs)&&(e.portal.mechbay.mechs=[]),e.portal.transport&&e.portal.transport.count>=1&&!e.tech.hell_spire&&(e.tech.hell_spire=1,e.settings.portal.spire=!0,e.settings.showCargo=!0,e.portal.purifier={count:0,on:0,support:0,s_max:0,supply:0,sup_max:100,diff:0},e.portal.port={count:0,on:0}),e.tech.hasOwnProperty("waygate")&&!e.portal.hasOwnProperty("waygate")&&delete e.tech.waygate,e.hasOwnProperty("blood")||(e.blood={}));J(e.version)<100013&&e.hasOwnProperty("settings")&&e.settings.hasOwnProperty("showPowerGrid")&&e.hasOwnProperty("race")&&e.race.infiltrator&&e.hasOwnProperty("tech")&&e.tech.hasOwnProperty("high_tech")&&e.tech.high_tech>=2&&(e.settings.showPowerGrid=!0);if(J(e.version)<100014&&(e.race.Dark&&(e.stats.dark=e.race.Dark.count),e.race.casting&&e.race.evil&&(e.race.casting.total-=e.race.casting.lumberjack,e.race.casting.lumberjack=0),e.queue&&e.queue.queue))for(let r=0;r=2,events:!0,major_events:!0,minor_events:!0,achievements:e.stats.achieve&&Object.keys(e.stats.achieve).length>0||e.stats.feat&&Object.keys(e.stats.feat).length>0,hell:e.settings.showPortal||e.stats.blackhole||e.stats.ascend||e.stats.descend}),e.race.hasOwnProperty("inflation")&&["supercollider","stock_exchange","launch_facility","monuments","railway","roid_eject","nexus","syphon"].forEach(function(r){e.tech.hasOwnProperty(r)&&(e.race.inflation+=e.tech[r]*10)}));J(e.version)<101012&&e.civic.garrison&&(e.civic.garrison.rate=0);if(J(e.version)<101014&&(e.hasOwnProperty("settings")&&e.settings.hasOwnProperty("msgFilters")&&Object.keys(e.settings.msgFilters).forEach(function(r){e.settings.msgFilters[r]={unlocked:!!e.settings.msgFilters[r],vis:!!e.settings.msgFilters[r],max:60,save:3}}),e.hasOwnProperty("lastMsg")&&e.lastMsg)){let r={};Fi.forEach(function(a){r[a]=[]}),e.lastMsg.forEach(function(a){a.t?a.t.forEach(function(i){r[i].push({m:a.m,c:a.c})}):r.all.push({m:a.m,c:a.c})}),e.lastMsg=r}J(e.version)<=101014&&!e.revision&&e.race.cataclysm&&e.race.universe&&e.race.universe==="magic"&&e.tech.magic&&e.tech.magic>=2&&(e.space.pylon={count:0});J(e.version)<101015&&e.hasOwnProperty("special")&&e.special.hasOwnProperty("trick")&&(e.special.trick[2020]=JSON.parse(JSON.stringify(e.special.trick)),delete e.special.trick.trick1,delete e.special.trick.trick2,delete e.special.trick.trick3,delete e.special.trick.trick4,delete e.special.trick.trick5,delete e.special.trick.trick6,delete e.special.trick.trick7,delete e.special.trick.trick8,delete e.special.trick.trick9,delete e.special.trick.trick10,delete e.special.trick.trick11,delete e.special.trick.trick12);J(e.version)<102e3&&(e.hasOwnProperty("portal")&&e.portal.hasOwnProperty("fortress")&&!e.portal.fortress.hasOwnProperty("nocrew")&&(e.portal.fortress.nocrew=!1),e.city.hasOwnProperty("smelter")&&!e.city.smelter.hasOwnProperty("Iridium")&&(e.city.smelter.Iridium=0),e.hasOwnProperty("portal")&&e.portal.hasOwnProperty("mechbay")&&!e.portal.mechbay.hasOwnProperty("active")&&(e.portal.mechbay.active=0,e.portal.mechbay.scouts=0));J(e.version)<102001&&(e.race.blood_thirst&&e.race.blood_thirst>3&&(e.race.blood_thirst=1),e.race.rainbow&&e.race.rainbow>3&&(e.race.rainbow=1));J(e.version)<102005&&!e.stats.cores&&e.race.hasOwnProperty("AICore")&&(e.stats.cores=e.race.AICore.count);J(e.version)<102006&&e.race.artifical&&(e.race.calm&&(e.resource.hasOwnProperty("Zen")&&(e.resource.Zen.display=!0),e.city.meditation={count:0}),e.race.cannibalize&&(e.city.s_alter={count:0,rage:0,mind:0,regen:0,mine:0,harvest:0}),e.race.magnificent&&(e.city.shrine={count:0,morale:0,metal:0,know:0,tax:0}));J(e.version)<102007&&e.stats.hasOwnProperty("achieve")&&delete e.stats.achieve.extinct_sludge;J(e.version)<102012&&(e.city.hasOwnProperty("ptrait")&&(e.city.ptrait=e.city.ptrait==="none"?[]:[e.city.ptrait]),e.tech.hell_ruins&&e.tech.hell_ruins>=3&&(e.tech.hell_vault=1));if(J(e.version)<102015){if(e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("tasks"))for(let r in e.race.governor.tasks)e.race.governor.tasks[r]==="asssemble"&&(e.race.governor.tasks[r]="assemble");e.settings&&e.settings.hasOwnProperty("restoreCheck")&&delete e.settings.restoreCheck}J(e.version)<102017&&(e.portal.hasOwnProperty("fortress")&&(e.portal.observe={settings:{expanded:!1,average:!1,hyperSlow:!1,display:"game_days",dropKills:!0,dropGems:!0},stats:{total:{start:{year:e.city.calendar.year,day:e.city.calendar.day},days:0,wounded:0,died:0,revived:0,surveyors:0,sieges:0,kills:{drones:0,patrols:0,sieges:0,guns:0,soul_forge:0,turrets:0},gems:{patrols:0,guns:0,soul_forge:0,crafted:0,turrets:0}},period:{start:{year:e.city.calendar.year,day:e.city.calendar.day},days:0,wounded:0,died:0,revived:0,surveyors:0,sieges:0,kills:{drones:0,patrols:0,sieges:0,guns:0,soul_forge:0,turrets:0},gems:{patrols:0,guns:0,soul_forge:0,crafted:0,turrets:0}}},graphID:0,graphs:{}}),e.tech.hasOwnProperty("genetics")&&e.tech.genetics>1&&e.hasOwnProperty("arpa")&&(e.arpa.hasOwnProperty("sequence")||(e.arpa.sequence={max:5e4,progress:0,time:5e4,on:!1}),e.arpa.sequence.boost||(e.arpa.sequence.boost=!1),e.arpa.sequence.auto||(e.arpa.sequence.auto=!1),e.arpa.sequence.labs||(e.arpa.sequence.labs=0)));if(J(e.version)<102021&&e.hasOwnProperty("custom")&&!e.custom.hasOwnProperty("race0")){let r=e.race.hasOwnProperty("species")?e.race.species:"protoplasm";e.galaxy.hasOwnProperty("alien1")&&e.galaxy.alien1.id==="custom"&&(e.galaxy.alien1.id=r==="human"?"elven":"human"),e.galaxy.hasOwnProperty("alien2")&&e.galaxy.alien2.id==="custom"&&(e.galaxy.alien2.id=r==="orc"||e.galaxy.alien1.id==="orc"?"cath":"orc")}J(e.version)<103e3&&(e.hasOwnProperty("tauceti")||(e.tauceti={}),e.race.species==="protoplasm"&&(e.evolution.hasOwnProperty("sexual_reproduction")&&(e.tech.evo=e.evolution.sexual_reproduction.count>0?2:1,delete e.evolution.sexual_reproduction),[["phagocytosis",{evo:3,evo_animal:1}],["chloroplasts",{evo:3,evo_plant:1}],["chitin",{evo:3,evo_fungi:1}],["exterminate",{evo:7,evo_synthetic:2}],["multicellular",{evo:4}],["spores",{evo:5}],["poikilohydric",{evo:5}],["bilateral_symmetry",{evo:5,evo_insectoid:1,evo_mammals:1,evo_eggshell:1,evo_aquatic:1,evo_fey:1,evo_sand:1,evo_heat:1,evo_polar:1}],["bryophyte",{evo:7}],["athropods",{evo:7,evo_insectoid:2}],["mammals",{evo:6,evo_humanoid:1,evo_giant:1,evo_small:1,evo_animalism:1,evo_demonic:1,evo_angelic:1}],["humanoid",{evo:7,evo_humanoid:2}],["gigantism",{evo:7,evo_giant:2}],["dwarfism",{evo:7,evo_small:2}],["animalism",{evo:7,evo_animalism:2}],["carnivore",{evo_animalism:3,evo_carnivore:2}],["herbivore",{evo_animalism:3,evo_herbivore:2}],["omnivore",{evo_animalism:3,evo_omnivore:2}],["celestial",{evo:7,evo_angelic:2}],["demonic",{evo:7,evo_demonic:2}],["aquatic",{evo:7,evo_aquatic:2}],["fey",{evo:7,evo_fey:2}],["heat",{evo:7,evo_heat:2}],["polar",{evo:7,evo_polar:2}],["sand",{evo:7,evo_sand:2}],["eggshell",{evo:6,evo_eggshell:2}],["endothermic",{evo:7,evo_avian:2}],["ectothermic",{evo:7,evo_reptilian:2}],["bunker",{evo_challenge:1}]].forEach(function(r){if(e.evolution.hasOwnProperty(r[0])&&e.evolution[r[0]].count>0)for(let[a,i]of Object.entries(r[1]))e.tech[a]=i;delete e.evolution[r[0]]}),e.evolution.mloaded=1,e.evolution.gmloaded=1));J(e.version)<103001&&(e.hasOwnProperty("prestige")||(e.prestige={}),e.race.Plasmid&&e.race.Plasmid.hasOwnProperty("anti")&&(e.prestige.AntiPlasmid={count:e.race.Plasmid.anti}),["Plasmid","Phage","AICore","Dark","Harmony"].forEach(function(r){e.race.hasOwnProperty(r)&&(e.prestige[r]={count:e.race[r].count},delete e.race[r])}),["Artifact","Blood_Stone"].forEach(function(r){e.resource.hasOwnProperty(r)&&(e.prestige[r]={count:e.resource[r].amount},delete e.resource[r])}),!e.stats.hasOwnProperty("synth")&&e.race.hasOwnProperty("srace")&&(e.stats.synth={},e.stats.synth[e.race.srace]=!0),e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("config")&&e.race.governor.config.hasOwnProperty("trash")&&["Infernite","Elerium","Copper","Iron"].forEach(function(r){e.race.governor.config.trash.hasOwnProperty(r)&&typeof e.race.governor.config.trash[r]=="number"&&(e.race.governor.config.trash[r]={v:e.race.governor.config.trash[r],s:!0})}));J(e.version)<103002&&e.portal.hasOwnProperty("observe")&&e.portal.observe.hasOwnProperty("stats")&&(e.portal.observe.stats.period.gems.surveyors=0,e.portal.observe.stats.total.gems.surveyors=0);J(e.version)<103011&&e.city.hasOwnProperty("slave_pen")&&e.city.slave_pen.hasOwnProperty("slaves")&&(e.resource.Slave.amount=e.city.slave_pen.slaves,delete e.city.slave_pen.slaves);J(e.version)<103014&&(e.race.cataclysm&&!e.race.start_cataclysm&&(e.civic.craftsman.display=!0),e.race.lone_survivor&&(e.tauceti.tau_factory&&e.tauceti.tau_factory.count>0||e.tauceti.womling_station&&e.tauceti.womling_station.count>0)&&(e.civic.craftsman.display=!0));J(e.version)<=103015&&e.portal.hasOwnProperty("harbour")&&(e.portal.harbor=e.portal.harbour,delete e.portal.harbour);J(e.version)<=103017&&e.race.broody&&(e.race.gloomy=e.race.broody,delete e.race.broody);J(e.version)<=104e3&&e.city.hasOwnProperty("shrine")&&!e.city.shrine.hasOwnProperty("cycle")&&(e.city.shrine.cycle=0);e.version="1.4.0";delete e.revision;delete e.beta;e.hasOwnProperty("prestige")||(e.prestige={});["Plasmid","AntiPlasmid","Phage","Dark","Harmony","AICore","Artifact","Blood_Stone","Supercoiled"].forEach(function(r){e.prestige.hasOwnProperty(r)||(e.prestige[r]={count:0})});e.hasOwnProperty("power")||(e.power=[]);e.hasOwnProperty("support")||(e.support={});["moon","red","belt","alpha","nebula","gateway","alien2","lake","spire","titan","enceladus","eris","tau_home","tau_red","tau_roid","asphodel"].forEach(function(r){e.support.hasOwnProperty(r)||(e.support[r]=[])});e.civic.cement_worker&&e.civic.cement_worker.impact===.25&&(e.civic.cement_worker.impact=.4);e.settings||(e.settings={showEvolve:!0,showAchieve:!1,animated:!0,disableReset:!1,font:"standard",q_merge:"merge_nearby",cLabels:!0,theme:"gruvboxDark",locale:"en-US",icon:"star"});e.settings.space||(e.settings.space={});e.settings.space.hasOwnProperty("home")||(e.settings.space.home=!0);Rc(!1);e.settings.icon||(e.settings.icon="star");e.settings.showResources||(e.settings.showResources=e.settings.showMarket);e.settings.showStorage||(e.city.warehouse||e.city.storage_yard?e.settings.showStorage=!0:e.settings.showStorage=!1);e.settings.hasOwnProperty("touch")||(e.settings.touch=!1);e.settings.hasOwnProperty("lowPowerBalance")||(e.settings.lowPowerBalance=!1);e.queue||(e.queue={display:!1,queue:[]});e.r_queue||(e.r_queue={display:!1,queue:[]});e.queue.rename||(e.queue.rename=!1);e.queue.max||(e.queue.max=0);e.r_queue.max||(e.r_queue.max=0);e.queue.pause||(e.queue.pause=!1);e.r_queue.pause||(e.r_queue.pause=!1);e.lastMsg||(e.lastMsg={});e.settings.msgFilters||(e.settings.msgFilters={});["all","progress","events","major_events","minor_events"].forEach(function(r){e.settings.msgFilters[r]||(e.settings.msgFilters[r]={unlocked:!0,vis:!0,max:60,save:3})});Fi.forEach(function(r){e.lastMsg[r]||(e.lastMsg[r]=[]),e.settings.msgFilters[r]||(e.settings.msgFilters[r]={unlocked:!1,vis:!1,max:60,save:3})});e.settings.msgQueueHeight||(e.settings.msgQueueHeight=$("#msgQueue").outerHeight(),e.settings.buildQueueHeight=$("#buildQueue").outerHeight());e.space||(e.space={});e.starDock||(e.starDock={});e.interstellar||(e.interstellar={});e.galaxy||(e.galaxy={});e.eden||(e.eden={});e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Bolognium&&(e.interstellar.mass_ejector.Bolognium=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Vitreloy&&(e.interstellar.mass_ejector.Vitreloy=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Orichalcum&&(e.interstellar.mass_ejector.Orichalcum=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Nanoweave&&(e.interstellar.mass_ejector.Nanoweave=0);e.interstellar.mass_ejector&&!e.interstellar.mass_ejector.Scarletite&&(e.interstellar.mass_ejector.Scarletite=0);e.hasOwnProperty("pillars")||(e.pillars={});e.settings.space.alpha||(e.settings.space.alpha=!1,e.settings.space.proxima=!1,e.settings.space.nebula=!1,e.settings.space.neutron=!1,e.settings.space.blackhole=!1);e.settings.showAchieve||(e.settings.showAchieve=!1);e.settings.locale||(e.settings.locale="en-US");typeof e.settings.pause>"u"&&(e.settings.pause=!1);typeof e.settings.mKeys>"u"&&(e.settings.mKeys=!0);typeof e.settings.keyMap>"u"&&(e.settings.keyMap={x10:"Control",x25:"Shift",x100:"Alt",q:"q"});typeof e.settings.keyMap.showCiv>"u"&&(e.settings.keyMap.showCiv="1",e.settings.keyMap.showCivic="2",e.settings.keyMap.showResearch="3",e.settings.keyMap.showResources="4",e.settings.keyMap.showGenetics="5",e.settings.keyMap.showAchieve="6",e.settings.keyMap.settings="7");delete e.settings.keyMap.d;typeof e.settings.qAny>"u"&&(e.settings.qAny=!1);typeof e.settings.sPackOn>"u"&&(e.settings.sPackOn=!0);typeof e.settings.qAny_res>"u"&&(e.settings.qAny_res=!1);typeof e.settings.sPackMsg>"u"&&(e.settings.sPackMsg=!1);typeof e.settings.expose>"u"&&(e.settings.expose=!1);typeof e.settings.alwaysPower>"u"&&(e.settings.alwaysPower=!1);typeof e.settings.tabLoad>"u"&&(e.settings.tabLoad=!1);typeof e.settings.boring>"u"&&(e.settings.boring=!1);e.settings.hasOwnProperty("mtorder")||(e.settings.mtorder=[]);function qn(){["reset","plasmid","antiplasmid","universes","phage","starved","tstarved","died","tdied","sac","tsac","know","tknow","portals","dkills","attacks","cfood","tfood","cstone","tstone","clumber","tlumber","mad","bioseed","cataclysm","blackhole","ascend","descend","apotheosis","terraform","aiappoc","matrix","retire","eden","geck","dark","harmony","blood","cores","artifact","supercoiled","cattle","tcattle","murders","tmurders","psykill","tpsykill","pdebt","uDead"].forEach(function(r){e.stats.hasOwnProperty(r)||(e.stats[r]=0)}),e.stats.achieve||(e.stats.achieve={}),e.stats.feat||(e.stats.feat={}),e.stats.hasOwnProperty("womling")||(e.stats.womling={god:{l:0},lord:{l:0},friend:{l:0}}),e.stats.spire||(e.stats.spire={}),e.stats.synth||(e.stats.synth={}),e.stats.hasOwnProperty("banana")||(e.stats.banana={b1:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b2:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b3:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b4:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b5:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1}}),e.stats.hasOwnProperty("endless_hunger")||(e.stats.endless_hunger={b1:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b2:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b3:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b4:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1},b5:{l:!1,h:!1,a:!1,e:!1,m:!1,mg:!1}}),e.stats.hasOwnProperty("death_tour")||(e.stats.death_tour={ct:{l:0,h:0,a:0,e:0,m:0,mg:0},bh:{l:0,h:0,a:0,e:0,m:0,mg:0},di:{l:0,h:0,a:0,e:0,m:0,mg:0},ai:{l:0,h:0,a:0,e:0,m:0,mg:0},vc:{l:0,h:0,a:0,e:0,m:0,mg:0},md:{l:0,h:0,a:0,e:0,m:0,mg:0}}),e.stats.death_tour&&!e.stats.death_tour.hasOwnProperty("md")&&(e.stats.death_tour.md={l:0,h:0,a:0,e:0,m:0,mg:0})}qn();e.race.seeded||(e.race.seeded=!1);e.race.deterioration||(e.race.deterioration=0);e.race.gene_fortify||(e.race.gene_fortify=0);e.race.old_gods||(e.race.old_gods="none");e.race.universe||(e.race.universe="standard");e.genes.minor||(e.genes.minor={});e.race.minor||(e.race.minor={});e.hasOwnProperty("govern")||(e.govern={governor:{},candidate:[],policy:{}});e.settings.hasOwnProperty("showMil")||(e.settings.showMil=!0);e.settings.hasOwnProperty("showPowerGrid")||(e.settings.showPowerGrid=!!(e.hasOwnProperty("tech")&&e.tech.hasOwnProperty("high_tech")&&e.tech.high_tech>=2));e.settings.affix||(e.settings.affix="si");e.special||(e.special={});e.special.gift||(e.special.gift={});e.special.hasOwnProperty("egg")||(e.special.egg={});e.special.hasOwnProperty("trick")||(e.special.trick={trick1:!1,trick2:!1,trick3:!1,trick4:!1,trick5:!1,trick6:!1,trick7:!1,trick8:!1,trick9:!1,trick10:!1,trick11:!1,trick12:!1});e.civic.govern||(e.civic.govern={type:"oligarchy",rev:2e3,fr:0});e.civic.govern.fr=0;e.hasOwnProperty("custom")||(e.custom={});e.custom.hasOwnProperty("planet")&&e.custom.planet.hasOwnProperty("biome")&&delete e.custom.planet;e.city.hasOwnProperty("smelter")&&!e.city.smelter.hasOwnProperty("cap")&&(e.city.smelter.cap=0);e.civic.homeless||(e.civic.homeless=0);e.civic.foreign||(e.civic.foreign={gov0:{unrest:0,hstl:100,mil:100,eco:75,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov1:{unrest:0,hstl:0,mil:150,eco:100,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov2:{unrest:0,hstl:50,mil:250,eco:150,spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1}});typeof e.civic.foreign.gov0.trn>"u"&&(e.civic.foreign.gov0.trn=0,e.civic.foreign.gov1.trn=0,e.civic.foreign.gov2.trn=0,e.civic.foreign.gov0.sab=0,e.civic.foreign.gov1.sab=0,e.civic.foreign.gov2.sab=0,e.civic.foreign.gov0.act="none",e.civic.foreign.gov1.act="none",e.civic.foreign.gov2.act="none");typeof e.civic.foreign.gov0.name<"u"&&e.civic.foreign.gov0.name.s1==="evo_organism_title"&&(e.civic.foreign.gov0.name.s1="Northern");typeof e.civic.foreign.gov1.name<"u"&&e.civic.foreign.gov1.name.s1==="evo_organism_title"&&(e.civic.foreign.gov1.name.s1="Southern");typeof e.civic.foreign.gov2.name<"u"&&e.civic.foreign.gov2.name.s1==="evo_organism_title"&&(e.civic.foreign.gov2.name.s1="Divine");if(!e.race.evil&&e.race.immoral&&e.race!==void 0&&e.race.species!=="wendigo")delete e.race.immoral;else if(e.race!==void 0&&e.race.species==="wendigo"){let r=new Date;e.settings.hasOwnProperty("boring")&&!e.settings.boring&&r.getMonth()===11&&r.getDate()>=17&&(e.race.immoral=3)}if(e.hasOwnProperty("special")&&e.special.hasOwnProperty("gift")){let r=new Date(e.stats.start),a=new Date;Object.keys(e.special.gift).forEach(function(i){let s=Number(i.substring(1,5));(s=1?e.civic.d_job="farmer":e.civic.d_job="unemployed");e.settings.animated=!0;e.settings.disableReset=!1;e.arpa&&e.arpa.launch_facility&&e.arpa.launch_facility.rank>0&&!e.tech.space&&(e.tech.space=1);function Gc(){e.race={species:"protoplasm",gods:"none",old_gods:"none",seeded:!1},e.seed=Math.rand(0,1e4),e.warseed=Math.rand(0,1e4),e.new=!0}var Nr={x10:!1,x25:!1,x100:!1,q:!1};function W(){let r=1;return e.settings.mKeys&&(Nr.x10&&(r*=10),Nr.x25&&(r*=25),Nr.x100&&(r*=100)),r}function J(r){let a=r.split(".",3);return a[0]*=1e5,a[1]*=1e3,Number(a[0])+Number(a[1])+Number(a[2])}function ms(){if($(window).width()>=1400&&$("#msgQueue:not(.right)")){let r=$("#buildQueue").detach();r.addClass("right"),r.removeClass("has-text-info");let a=$("#msgQueue").detach();a.addClass("right"),a.removeClass("has-text-info"),a.css("resize","none"),$("#queueColumn").addClass("is-one-quarter"),$("#queueColumn").append(r),$("#queueColumn").append(a),$("#mainColumn").removeClass("is-three-quarters"),$("#mainColumn").addClass("is-half")}else if($(window).width()<1400&&$("#msgQueue").hasClass("right")){let r=$("#buildQueue").detach();r.removeClass("right"),r.addClass("has-text-info");let a=$("#msgQueue").detach();a.removeClass("right"),a.addClass("has-text-info"),a.css("resize","vertical"),$("#queueColumn").removeClass("is-one-quarter"),$("#sideQueue").append(r),$("#sideQueue").append(a),$("#mainColumn").removeClass("is-half"),$("#mainColumn").addClass("is-three-quarters")}}var Hl={si:["K","M","G","T","P","E","Z","Y"],sln:["K","M","B","t","q","Q","s","S"]},Vl=new Intl.NumberFormat(void 0,{maximumFractionDigits:2,maximumSignificantDigits:3,roundingMode:"trunc",roundingPriority:"lessPrecision"}),Ul=new Intl.NumberFormat(void 0,{maximumFractionDigits:2,maximumSignificantDigits:4,roundingMode:"trunc",roundingPriority:"lessPrecision"}),Wl=1+16*Number.EPSILON;function X(r,a=1,i=!1,s=!1){let n=Math.abs(r),c=Math.floor(Math.log10(n));if(n*=Wl,r=r<0?-n:r>0?n:r,s)return r.toLocaleString(void 0,{maximumFractionDigits:a,roundingMode:"trunc"});if(c<4||i){let o=Math.max(c+1,a+1,5);return r.toLocaleString(void 0,{maximumSignificantDigits:o,maximumFractionDigits:a,roundingMode:"trunc",roundingPriority:"lessPrecision"})}else{let o=c%3,l=c===4,u=e.settings.affix!=="eng"&&c>=27;e.settings.affix!=="sci"&&!u&&(c-=o);let p;return e.settings.affix==="sci"||e.settings.affix==="eng"||u?p="e"+c:p=Hl[e.settings.affix][c/3-1],r/=10**c,l?Vl.format(r)+p:Ul.format(r)+p}}$(window).resize(function(){ms()});function Ai(r,a){var i=document.createElement("div"),s="speak-"+Date.now();i.setAttribute("id",s),i.setAttribute("aria-live",a||"polite"),i.classList.add("sr-only"),document.body.appendChild(i),window.setTimeout(function(){document.getElementById(s).innerHTML=r},100),window.setTimeout(function(){document.body.removeChild(document.getElementById(s))},1e3)}window.soft_reset=function(a){try{a=a&&a==="replicator"?"replicator":"soft",gtag("event","reset",{end:a})}catch{}a||or();let i=e.race.hasOwnProperty("srace")?e.race.srace:!1,s=e.race.hasOwnProperty("geck")?e.race.geck:0;e.race.hasOwnProperty("gecked")&&(s+=e.race.gecked,e.stats.geck-=e.race.gecked);let n={species:"protoplasm",universe:e.race.universe,seeded:e.race.seeded,probes:e.race.probes,seed:e.race.seed,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1,rejuvenated:e.race.hasOwnProperty("rejuvenated")?e.race.rejuvenated:!1};s>0&&(n.geck=s),i&&(n.srace=i),e.race.bigbang&&(n.bigbang=!0),e.race.gods&&(n.gods=e.race.gods),e.race.old_gods&&(n.old_gods=e.race.old_gods),e.race.rapid_mutation&&e.race.rapid_mutation>0&&(n.rapid_mutation=e.race.rapid_mutation),e.race.ancient_ruins&&e.race.ancient_ruins>0&&(n.ancient_ruins=e.race.ancient_ruins),e.race.bigbang&&(n.universe="bigbang"),e.race.hasOwnProperty("corruption")&&(n.corruption=e.race.corruption),e.race=n;let c=e.city.calendar.orbit,o=e.city.biome,l=e.city.ptrait,u=e.city.geology;e.city={calendar:{day:0,year:0,weather:2,temp:1,moon:0,wind:0,orbit:c},biome:o,ptrait:l,geology:u},e.tech.theology&&e.tech.theology>=1?e.tech={theology:1}:e.tech={},Pn(),e.new=!0,e.seed=Math.rand(0,1e4),e.warseed=Math.rand(0,1e4),e.stats.current=Date.now(),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()};var ge={w:!1,s:!1,mt:250},Da={};function or(){Fi.forEach(function(r){r!=="achievements"&&(e.lastMsg[r]=[])})}function Rc(r){let a={base:["showCiv","showCity","showIndustry","showPowerGrid","showMechLab","showShipYard","showResearch","showCivic","showMil","showResources","showMarket","showStorage","showGenetics","showSpace","showDeep","showGalactic","showPortal","showEden","showOuter","showTau","showEjector","showCargo","showAlchemy","showGovernor","arpa","showPsychic","showWish"],space:["moon","red","hell","sun","gas","gas_moon","belt","dwarf","alpha","proxima","nebula","neutron","blackhole","sirius","stargate","gateway","gorddon","alien1","alien2","chthonian","titan","enceladus","triton","eris","kuiper"],portal:["fortress","badlands","pit","ruins","gate","lake","spire"],eden:["asphodel","elysium","isle","palace"],tau:["home","red","roid","gas","gas2","star"]};Object.keys(a).forEach(function(i){i==="base"?a[i].forEach(function(s){(!e.settings.hasOwnProperty(s)||r)&&(e.settings[s]=!1)}):(e.settings.hasOwnProperty(i)||(e.settings[i]={}),a[i].forEach(function(s){(!e.settings[i].hasOwnProperty(s)||r)&&(e.settings[i][s]=!1)}))}),["civTabs","govTabs","govTabs2","hellTabs","resTabs","spaceTabs","marketTabs","statsTabs"].forEach(function(i){(!e.settings.hasOwnProperty(i)||r)&&(e.settings[i]=0)})}function Pn(){ge.w&&ge.w.terminate(),e.queue={display:!1,queue:[]},e.r_queue={display:!1,queue:[]},e.space={},e.interstellar={},e.galaxy={},e.portal={},e.eden={},e.starDock={},e.tauceti={},e.civic={new:0},e.civic.foreign={gov0:{unrest:0,hstl:Math.floor(T(80,100)),mil:Math.floor(T(75,125)),eco:Math.floor(T(60,90)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov1:{unrest:0,hstl:Math.floor(T(0,20)),mil:Math.floor(T(125,175)),eco:Math.floor(T(80,120)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1},gov2:{unrest:0,hstl:Math.floor(T(40,60)),mil:Math.floor(T(200,300)),eco:Math.floor(T(130,170)),spy:0,esp:0,trn:0,sab:0,act:"none",occ:!1,anx:!1,buy:!1}},e.genes.blood||(e.prestige.Blood_Stone.count=0),e.resource={},e.evolution={},e.event={t:100,l:!1},e.m_event={t:499,l:!1},e.stats.days=0,e.stats.know=0,e.stats.starved=0,e.stats.died=0,e.stats.attacks=0,e.stats.dkills=0,e.stats.cfood=0,e.stats.cstone=0,e.stats.clumber=0,e.stats.sac=0,e.stats.cattle=0,e.stats.murders=0,e.stats.uDead=0,e.settings.at=0,e.settings.showEvolve=!0,e.settings.space.home=!0,Rc(!0),e.settings.disableReset=!1,e.settings.pause=!1,e.arpa={},delete e.race.hrt,e.genes.queue&&(e.tech.queue=1,e.queue.display=!0)}window.reset=function(){try{gtag("event","reset",{end:"hard"})}catch{}localStorage.removeItem("evolved"),e=null,ge.w&&ge.w.terminate(),window.location.reload()};var Mn;Ql(e.settings.locale);function t(r,a){let i=Mn[r];if(!i)return e.settings.expose&&(console.error(`string ${r} not found`),console.log(Mn)),r;if(a)if(a instanceof Array){for(let c=0;c{a=s}),r!="en-US"){let s;try{$.getJSON(`strings/strings.${r}.json`,c=>{s=c})}catch(c){console.error(c,c.stack)}let n=a.length;s&&Object.assign(a,s),a.length!=n&&e.settings.expose&&console.error(`string.${r}.json has extra keys.`)}let i=pe.getItem("string_pack")||!1;if(i&&e.settings.sPackOn){let s;try{s=JSON.parse(LZString.decompressFromUTF16(i))}catch(c){console.error(c,c.stack)}let n=a.length;s&&Object.assign(a,s),a.length!=n&&e.settings.expose&&console.error("string pack has extra keys.")}$.ajaxSetup({async:!0}),Mn=a}function he(r){return e.race.high_pop&&(r*=v.high_pop.vars()[1]/100),r}function Ja(r){if(e.race.gravity_well&&e.race.teamster&&e.race.teamster>0){let a=On();a<1&&(a=1);let i=e.civic.teamster.workers>a?a:e.civic.teamster.workers;r*=i/a}return r}function ie(r,a,i){switch(r){case"transmitter":return 2.5;case"oil_well":{let s=e.tech.oil>=4?.48:.4;e.tech.oil>=7?s*=2:e.tech.oil>=5&&(s*=e.tech.oil>=6?1.75:1.25),e.city.geology.Oil&&(s*=e.city.geology.Oil+1),e.city.biome==="desert"?s*=xe.desert.vars()[1]:e.city.biome==="tundra"?s*=xe.tundra.vars()[1]:e.city.biome==="taiga"&&(s*=xe.taiga.vars()[2]);let n=Q("dirty_jobs",2);return n&&(s*=1+n/100),s}case"iridium_mine":switch(a){case"iridium":{let s=.035;e.city.geology.Iridium&&(s*=e.city.geology.Iridium+1);let n=s,c=Ti(3);return{b:n,g:c-1,f:n*c}}case"coal":return .55}case"helium_mine":{let s=.18,n=Ti(3);return{b:s,g:n-1,f:s*n}}case"red_mine":switch(a){case"copper":{let s=he(.25),n=Ti(3);return{b:s,g:n-1,f:s*n}}case"titanium":{let s=he(.02),n=Ti(3);return{b:s,g:n-1,f:s*n}}case"stone":return he(.75);case"asbestos":return he(1.25);case"aluminium":return he(.066)}case"biodome":switch(a){case"food":return he(.25);case"cat_food":return 2;case"lumber":return he(1.5)}case"gas_mining":return e.tech.helium?.65:.5;case"outpost":{let s={b:.025,d:0,n:0};if(e.tech.drone){let n=e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=3?.12:.06;s.d=e.space.drone.count*n,s.n=s.b*(1+s.d)}else s.n=s.b;return a?s:s.n}case"oil_extractor":{let s=e.tech.oil>=4?.48:.4;return e.tech.oil>=7?s*=2:e.tech.oil>=5&&(s*=e.tech.oil>=6?1.75:1.25),s}case"elerium_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?.009:.0075:.005;case"iridium_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?.1:.08:.055;case"iron_ship":return e.tech.asteroid>=6?e.tech.asteroid>=7?4:3:2;case"g_factory":if(e.race.truepath){if(e.tech.isolation)return 1.8;{let n=.05*(H.ai_colonist?e.civic.titan_colonist.workers+E(H.ai_colonist):e.civic.titan_colonist.workers);return e.race.high_pop&&(n=he(n)),n}}else return .6;case"harvester":switch(a){case"helium":return .85;case"deuterium":return .15}case"elerium_prospector":return .014;case"neutron_miner":return .055;case"bolognium_ship":return .008;case"excavator":return .2;case"vitreloy_plant":{let s=.18;return e.civic.govern.type==="corpocracy"&&(s*=e.tech.high_tech&&e.tech.high_tech>=16?1.4:1.3),e.civic.govern.type==="socialist"&&(s*=1.1),s}case"infernite_mine":return .5*Rr("gate",0,i).supress;case"water_freighter":return 1.25;case"titan_mine":switch(a){case"adamantite":return he(.02)*(e.space.titan_mine?e.space.titan_mine.ratio:50)/100;case"aluminium":return he(.12)*(100-(e.space.titan_mine?e.space.titan_mine.ratio:50))/100}case"lander":return e.space.crashed_ship.count===100?.005:0;case"orichalcum_mine":return .08;case"uranium_mine":return .025;case"neutronium_mine":return .04;case"elerium_mine":return .009;case"shock_trooper":return e.space.digsite.count===100?.0018:0;case"tank":return e.space.digsite.count===100?.0018:0;case"mining_pit":{let s=0;switch(a){case"materials":{s=e.tech.isolation?.12:.09;break}case"bolognium":{s=e.tech.isolation?.0288:.0216;break}case"stone":{s=e.tech.isolation?.8:.6;break}case"adamantite":{s=e.tech.isolation?.448:.336;break}case"copper":{s=.58;break}case"coal":{s=.13;break}case"iron":{s=.74;break}case"aluminium":{s=.88;break}case"chrysotile":{s=1.44;break}}e.race.tough&&(s*=1+v.tough.vars()[0]/100);let n=re("ogre");return n>0&&(s*=1+v.tough.vars(1)[0]/100*n),e.tech.tau_pit_mining&&(s*=1.18),s}case"tau_farm":switch(a){case"food":return e.tech.isolation?15:9;case"lumber":return e.tech.isolation?12:5.5;case"water":return .35}case"womling_mine":{let s=1;switch(e.tech.womling_mining&&(s+=e.tech.womling_mining*.15),e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5&&(s*=1.1),e.tech.womling_gene&&(s*=1.25),a){case"unobtainium":return .0305*s;case"uranium":return .047*s;case"titanium":return .616*s;case"copper":return 1.191*s;case"iron":return 1.377*s;case"aluminium":return 1.544*s;case"neutronium":return .382*s;case"iridium":return .535*s}}case"refueling_station":return e.tech.isolation?18.5:9.35;case"ore_refinery":return e.tech.tau_ore_mining?40:25;case"whaling_station":return 12;case"mining_ship":{if(e.tauceti.patrol_ship){let s=1;return e.tauceti.patrol_ship.support>e.tauceti.patrol_ship.s_max&&(s=lt("curve",e.tauceti.patrol_ship.s_max/e.tauceti.patrol_ship.support,1.4)),(e.tech.tau_ore_mining&&e.tech.tau_ore_mining>=2?12:10)*s}return 0}case"mining_ship_ore":switch(a){case"iron":return e.tech.isolation?2.22:1.85;case"aluminium":return e.tech.isolation?2.22:1.85;case"iridium":return e.tech.isolation?.42:.35;case"neutronium":return e.tech.isolation?.42:.35;case"orichalcum":return e.tech.isolation?.3:.25;case"elerium":return e.tech.isolation?.024:.02}case"whaling_ship":{if(e.tauceti.patrol_ship){let s=1;return e.tauceti.patrol_ship.support>e.tauceti.patrol_ship.s_max&&(s=lt("curve",e.tauceti.patrol_ship.s_max/e.tauceti.patrol_ship.support,1.4)),8*s}return 0}case"whaling_ship_oil":return e.tech.isolation?.78:.42;case"alien_outpost":return .01;case"psychic_boost":{if(e.tech.psychic&&e.race.psychic&&e.race.psychicPowers&&e.race.psychicPowers.boost.r===a&&e.race.psychicPowers.hasOwnProperty("boostTime")){let s=0;if(e.race.psychicPowers.boostTime>0&&(s+=v.psychic.vars()[3]/100),e.tech.psychic>=4&&e.race.psychicPowers.channel){let n=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;s+=+(v.psychic.vars()[3]/5e4*n*e.race.psychicPowers.channel.boost).toFixed(3)}return 1+s}return 1}case"psychic_cash":{if(e.tech.psychic&&e.race.psychic&&e.race.psychicPowers&&e.race.psychicPowers.hasOwnProperty("cash")){let s=0;if(e.race.psychicPowers.cash>0&&(s+=v.psychic.vars()[3]/100),e.tech.psychic>=4&&e.race.psychicPowers.channel){let n=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;s+=+(v.psychic.vars()[3]/5e4*n*e.race.psychicPowers.channel.cash).toFixed(3)}return 1+s}return 1}case"asphodel_harvester":{let s=.075;return e.tech.hell_lake&&e.tech.hell_lake>=7&&e.tech.railway&&(s*=1+e.tech.railway/100),s}}}function Pe(r){switch(r){case"Physics":Wc();break;case"Genetics":sa();break;case"Monument":return Uc();case"PhysicsTech":return de;case"GeneTech":return _t;case"BloodTech":return We;case"Crispr":Qc();break;case"Blood":jn();break}}var de={lhc:{title(){return ke("fool",2022)?t("arpa_projects_railway_title"):t("arpa_projects_lhc_title")},desc(){return ke("fool",2022)?t("arpa_projects_railway_desc"):t("arpa_projects_lhc_desc")},reqs:{high_tech:6},grant:"supercollider",effect(r){if(ke("fool",2022)&&!r)return de.railway.effect(!0);let a=e.tech.tp_particles||e.tech.particles&&e.tech.particles>=3?e.race.cataclysm?20:8:e.race.cataclysm?10:4;return e.tech.storage>=6?e.tech.particles&&e.tech.particles>=4?e.race.cataclysm?t("arpa_projects_lhc_cataclysm3",[a]):t("arpa_projects_lhc_effect3",[a,e.race.orbit_decayed?t("space_home_satellite_title"):Kt()]):e.race.cataclysm?t("arpa_projects_lhc_cataclysm2",[a]):t("arpa_projects_lhc_effect2",[a,e.race.orbit_decayed?t("space_home_satellite_title"):Kt()]):e.race.cataclysm?t("arpa_projects_lhc_cataclysm1",[a]):e.tech.isolation?t("arpa_projects_lhc_iso1",[a,t("tech_infectious_disease_lab_alt")]):t("arpa_projects_lhc_effect1",[a,e.race.orbit_decayed?t("space_home_satellite_title"):Kt()])},cost:{Money(r,a){return qe("lhc",r,25e5,1.05,a)},Knowledge(r,a){return qe("lhc",r,5e5,1.05,a)},Copper(r,a){return qe("lhc",r,125e3,1.05,a)},Cement(r,a){return qe("lhc",r,25e4,1.05,a)},Aluminium(r,a){return qe("lhc",r,35e4,1.05,a)},Titanium(r,a){return qe("lhc",r,5e4,1.05,a)},Polymer(r,a){return qe("lhc",r,12e3,1.05,a)}}},stock_exchange:{title:t("arpa_projects_stock_exchange_title"),desc:t("arpa_projects_stock_exchange_desc"),reqs:{banking:9},grant:"stock_exchange",effect(){return e.tech.banking>=10?e.race.cataclysm?e.tech.gambling&&e.tech.gambling>=4?t("arpa_projects_stock_exchange_cataclysm2",[t("space_red_spaceport_title"),10,Ce("casino"),5,1]):t("arpa_projects_stock_exchange_cataclysm1",[t("space_red_spaceport_title"),10]):e.tech.gambling&&e.tech.gambling>=4?t("arpa_projects_stock_exchange_effect3",[t("city_bank"),10,t("job_banker"),2,Ce("casino"),5,1]):t("arpa_projects_stock_exchange_effect2",[t("city_bank"),10,t("job_banker"),2]):t("arpa_projects_stock_exchange_effect1",[t("city_bank"),10])},cost:{Money(r,a){return qe("stock_exchange",r,3e6,1.06,a)},Plywood(r,a){return qe("stock_exchange",r,25e3,1.06,a)},Brick(r,a){return qe("stock_exchange",r,2e4,1.06,a)},Wrought_Iron(r,a){return qe("stock_exchange",r,1e4,1.06,a)}}},tp_depot:{title:t("galaxy_gateway_depot"),desc:t("arpa_projects_depot_desc"),reqs:{high_tech:6,storage:4},grant:"tp_depot",path:["truepath"],effect(){return t(e.tech.isolation?"arpa_projects_depot_effect_iso":"arpa_projects_depot_effect",[5,50])},cost:{Money(r,a){return qe("tp_depot",r,18e5,1.08,a)},Stone(r,a){return qe("tp_depot",r,75e4,1.08,a)},Iron(r,a){return qe("tp_depot",r,25e4,1.08,a)},Alloy(r,a){return qe("tp_depot",r,3e4,1.08,a)}}},launch_facility:{id:"arpalaunch_facility",title:t("arpa_projects_launch_facility_title"),desc:t("arpa_projects_launch_facility_desc"),reqs:{high_tech:7},condition(){return!(e.race.cataclysm||e.race.lone_survivor)},grant:"launch_facility",rank:1,queue_complete(){return e.tech.space>=1?0:1},effect(){return t("arpa_projects_launch_facility_effect1")},cost:{Money(r){return qe("launch_facility",r,2e6,1.1)},Knowledge(r){return qe("launch_facility",r,5e5,1.1)},Cement(r){return qe("launch_facility",r,15e4,1.1)},Oil(r){return qe("launch_facility",r,2e4,1.1)},Sheet_Metal(r){return qe("launch_facility",r,15e3,1.1)},Alloy(r){return qe("launch_facility",r,25e3,1.1)}}},monument:{title(r){if(r)return t("arpa_project_monument_title");switch(e.arpa.m_type){case"Obelisk":return t("arpa_project_monument_obelisk");case"Statue":return t("arpa_project_monument_statue");case"Sculpture":return t("arpa_project_monument_sculpture");case"Monolith":return t("arpa_project_monument_monolith");case"Pillar":return t("arpa_project_monument_pillar");case"Megalith":return t("arpa_project_monument_megalith")}},desc:t("arpa_projects_monument_desc"),reqs:{monument:1},grant:"monuments",effect(){let r=Q("gaslighter",2),a=r?2-r:2;return t("arpa_projects_monument_effect1",[a])},cost:{Stone(r,a){return Za("Stone",r,a)},Aluminium(r,a){return Za("Aluminium",r,a)},Cement(r,a){return Za("Cement",r,a)},Steel(r,a){return Za("Steel",r,a)},Lumber(r,a){return Za("Lumber",r,a)},Crystal(r,a){return Za("Crystal",r,a)}}},railway:{title(){return ke("fool",2022)?t("arpa_projects_lhc_title"):t("arpa_projects_railway_title")},desc(){return ke("fool",2022)?t("arpa_projects_lhc_desc"):t("arpa_projects_railway_desc")},reqs:{high_tech:6,trade:3},grant:"railway",effect(r){if(ke("fool",2022)&&!r)return de.lhc.effect(!0);let a=e.stats.achieve.banana&&e.stats.achieve.banana.l>=2?1:0,i=e.stats.achieve.banana&&e.stats.achieve.banana.l>=1?3:2,s="";return e.race.cataclysm||e.race.orbit_decayed?(a+=e.space.gps?Math.floor(e.space.gps.count/3):0,s=t("arpa_projects_railway_cataclysm1",[a,i,3,1])):(a+=e.city.storage_yard?Math.floor(e.city.storage_yard.count/6):0,s=t("arpa_projects_railway_effect1",[a,i,6,1])),e.tech.hell_lake&&e.tech.hell_lake>=7&&(s+=` ${t("arpa_projects_railway_highway",[1,e.resource.Asphodel_Powder.name,t("eden_asphodel_harvester_title"),1])}`),s},cost:{Money(r,a){return qe("railway",r,25e5,1.08,a)},Lumber(r,a){return qe("railway",r,75e4,1.08,a)},Iron(r,a){return qe("railway",r,3e5,1.08,a)},Steel(r,a){return qe("railway",r,45e4,1.08,a)}}},roid_eject:{title(){return t("arpa_projects_roid_eject_title",[Sn()])},desc(){return t(e.tech.roid_eject<=10?"arpa_projects_roid_eject_desc":"arpa_projects_roid_eject_desc2",[Sn()])},reqs:{blackhole:6,gateway:3},grant:"roid_eject",effect(){let r=0,a=0;return e.tech.roid_eject&&(r+=.225*e.tech.roid_eject*(1+e.tech.roid_eject/12),a=.225*(e.tech.roid_eject+1)*(1+(e.tech.roid_eject+1)/12)-r),`
${t("arpa_projects_roid_eject_effect1")}
${t("arpa_projects_roid_eject_effect2",[+r.toFixed(3),+a.toFixed(3),Sn()])}
`},cost:{Money(r,a){return qe("roid_eject",r,1875e4,1.075,a)},Deuterium(r,a){return qe("roid_eject",r,375e3,1.075,a)},Bolognium(r,a){return qe("roid_eject",r,15e3,1.075,a)}}},nexus:{title:t("arpa_projects_nexus_title"),desc:t("arpa_projects_nexus_desc"),reqs:{magic:5},grant:"nexus",effect(){return e.tech.roguemagic&&e.tech.roguemagic>=7?`
${t("arpa_projects_nexus_effect1",[5])}
${t("witch_hunter_nexus",[8])}
`:t("arpa_projects_nexus_effect1",[5])},cost:{Money(r,a){return qe("nexus",r,5e6,1.12,a)},Crystal(r,a){return qe("nexus",r,6e4,1.12,a)},Iridium(r,a){return qe("nexus",r,35e3,1.12,a)}}},syphon:{title:t("arpa_syphon_title"),desc(){let r="";return e.tech.syphon&&e.tech.syphon>=0?r=`
${t("arpa_syphon_desc")}
${t("arpa_syphon_desc_warn2")}
`:r=`
${t("arpa_syphon_desc")}
${t("arpa_syphon_desc_warn1")}
`,e.race.witch_hunter&&(r+=`
${t("witch_hunter_suspicion")}
`),r},reqs:{veil:2},grant:"syphon",effect(){let r=+(.3333333333333333*Me("magic")).toFixed(3);if(e.tech.syphon&&e.tech.syphon>=60){let a=$e("vacuum"),i=t("resource_Plasmid_plural_name");return`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect4")}
${t("arpa_syphon_effect_reward",[a.plasmid,a.phage,a.dark,i,80])}
`}else return e.tech.syphon&&e.tech.syphon>=40?`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect3")}
`:e.tech.syphon&&e.tech.syphon>=20?`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect2")}
`:`
${t("arpa_syphon_effect_main",[r])}
${t("arpa_syphon_effect1")}
`},cost:{Money(r,a){return qe("syphon",r,75e5,1.025,a)},Mana(r,a){return qe("syphon",r,5e3,1.025,a)},Crystal(r,a){return qe("syphon",r,1e5,1.025,a)},Infernite(r,a){return qe("syphon",r,1e4,1.025,a)}}}};function Sn(){return!e.tech.roid_eject||e.tech.roid_eject<=10?t("arpa_projects_roid_eject_asteroid"):e.tech.roid_eject<=25?t("arpa_projects_roid_eject_moon"):e.tech.roid_eject<=40?t("arpa_projects_roid_eject_dwarf"):e.tech.roid_eject<=60?t("arpa_projects_roid_eject_planet"):t("arpa_projects_roid_eject_remnant")}var _t={genetic_memory:{id:"genes-genetic_memory",title:t("arpa_genepool_genetic_memory_title"),desc:t("arpa_genepool_genetic_memory_desc"),reqs:{},grant:["creep",1],cost:{Plasmid(){return 25}},action(){return!!se("genetic_memory")}},animus:{id:"genes-animus",title:t("arpa_genepool_animus_title"),desc:t("arpa_genepool_animus_desc"),reqs:{creep:1},grant:["creep",2],cost:{Plasmid(){return 75}},action(){return!!se("animus")}},divine_remembrance:{id:"genes-divine_remembrance",title:t("arpa_genepool_divine_remembrance_title"),desc:t("arpa_genepool_divine_remembrance_desc"),reqs:{creep:2},grant:["creep",3],cost:{Plasmid(){return 225}},action(){return!!se("divine_remembrance")}},divine_proportion:{id:"genes-divine_proportion",title:t("arpa_genepool_divine_proportion_title"),desc:t("arpa_genepool_divine_proportion_desc"),reqs:{creep:3},grant:["creep",4],cost:{Plasmid(){return 618}},action(){return!!se("divine_proportion")}},genetic_repository:{id:"genes-genetic_repository",title:t("arpa_genepool_genetic_repository_title"),desc:t("arpa_genepool_genetic_repository_desc"),reqs:{creep:4},grant:["creep",5],cost:{Plasmid(){return 999}},action(){return!!se("genetic_repository")}},spatial_reasoning:{id:"genes-spatial_reasoning",title:t("arpa_genepool_spatial_reasoning_title"),desc:t("arpa_genepool_spatial_reasoning_desc"),reqs:{},grant:["store",1],cost:{Plasmid(){return 50}},action(){return!!se("spatial_reasoning")}},spatial_superiority:{id:"genes-spatial_superiority",title:t("arpa_genepool_spatial_superiority_title"),desc:t("arpa_genepool_spatial_superiority_desc"),reqs:{store:1},grant:["store",2],cost:{Plasmid(){return 125}},action(){return!!se("spatial_superiority")}},spatial_supremacy:{id:"genes-spatial_supremacy",title:t("arpa_genepool_spatial_supremacy_title"),desc:t("arpa_genepool_spatial_supremacy_desc"),reqs:{store:2},grant:["store",3],cost:{Plasmid(){return 325}},action(){return!!se("spatial_supremacy")}},dimensional_warping:{id:"genes-dimensional_warping",title:t("arpa_genepool_dimensional_warping_title"),desc:t("arpa_genepool_dimensional_warping_desc"),reqs:{store:3},grant:["store",4],cost:{Plasmid(){return 500}},action(){return!!se("dimensional_warping")}},enhanced_muscle_fiber:{id:"genes-enhanced_muscle_fiber",title:t("arpa_genepool_enhanced_muscle_fiber_title"),desc:t("arpa_genepool_enhanced_muscle_fiber_desc"),reqs:{},grant:["enhance",1],cost:{Plasmid(){return 25}},action(){return!!se("enhanced_muscle_fiber")}},morphogenesis:{id:"genes-morphogenesis",title:t("arpa_genepool_morphogenesis_title"),desc:t("arpa_genepool_morphogenesis_desc"),reqs:{},grant:["evolve",1],cost:{Plasmid(){return 10}},action(){return!!se("morphogenesis")}},recombination:{id:"genes-recombination",title:t("arpa_genepool_recombination_title"),desc:t("arpa_genepool_recombination_desc"),reqs:{evolve:1},grant:["evolve",2],cost:{Plasmid(){return 35}},action(){return!!se("recombination")}},homologous_recombination:{id:"genes-homologous_recombination",title:t("arpa_genepool_homologous_recombination_title"),desc:t("arpa_genepool_homologous_recombination_desc"),reqs:{evolve:2},grant:["evolve",3],cost:{Plasmid(){return 70}},action(){return!!se("homologous_recombination")}},genetic_reshuffling:{id:"genes-genetic_reshuffling",title:t("arpa_genepool_genetic_reshuffling_title"),desc:t("arpa_genepool_genetic_reshuffling_desc"),reqs:{evolve:3},grant:["evolve",4],cost:{Plasmid(){return 175}},action(){return!!se("genetic_reshuffling")}},recombinant_dna:{id:"genes-recombinant_dna",title:t("arpa_genepool_recombinant_dna_title"),desc:t("arpa_genepool_recombinant_dna_desc"),reqs:{evolve:4},grant:["evolve",5],cost:{Plasmid(){return 440}},action(){return!!se("recombinant_dna")}},chimeric_dna:{id:"genes-chimeric_dna",title:t("arpa_genepool_chimeric_dna_title"),desc:t("arpa_genepool_chimeric_dna_desc"),reqs:{evolve:5},grant:["evolve",6],cost:{Plasmid(){return 1100}},action(){return!!se("chimeric_dna")}},molecular_cloning:{id:"genes-molecular_cloning",title:t("arpa_genepool_molecular_cloning_title"),desc:t("arpa_genepool_molecular_cloning_desc"),reqs:{evolve:6},grant:["evolve",7],cost:{Plasmid(){return 2750}},action(){return!!se("molecular_cloning")}},transgenes:{id:"genes-transgenes",title:t("arpa_genepool_transgenes_title"),desc:t("arpa_genepool_transgenes_desc"),reqs:{evolve:7},grant:["evolve",8],cost:{Plasmid(){return 6875}},action(){return!!se("transgenes")}},synthesis:{id:"genes-synthesis",title:t("arpa_genepool_synthesis_title"),desc:t("arpa_genepool_synthesis_desc",[2,10]),reqs:{evolve:1},grant:["synthesis",1],cost:{Plasmid(){return 25}},action(){return!!se("synthesis")}},karyokinesis:{id:"genes-karyokinesis",title:t("arpa_genepool_karyokinesis_title"),desc:t("arpa_genepool_synthesis_desc",[3,25]),reqs:{synthesis:1},grant:["synthesis",2],cost:{Plasmid(){return 40}},action(){return!!se("karyokinesis")}},cytokinesis:{id:"genes-cytokinesis",title:t("arpa_genepool_cytokinesis_title"),desc:t("arpa_genepool_synthesis_desc",[4,50]),reqs:{synthesis:2},grant:["synthesis",3],cost:{Plasmid(){return 55}},action(){return!!se("cytokinesis")}},mitosis:{id:"genes-mitosis",title:t("arpa_genepool_mitosis_title"),desc:t("arpa_genepool_mitosis_desc",[3]),reqs:{synthesis:3,evolve:2},grant:["plasma",1],cost:{Plasmid(){return 90}},action(){return!!se("mitosis")}},metaphase:{id:"genes-metaphase",title:t("arpa_genepool_metaphase_title"),desc:t("arpa_genepool_mitosis_desc",[5]),reqs:{plasma:1},grant:["plasma",2],cost:{Plasmid(){return 165}},action(){return!!se("metaphase")}},mutation:{id:"genes-mutation",title:t("arpa_genepool_mutation_title"),desc:t("arpa_genepool_mutation_desc"),reqs:{synthesis:3,creep:5},grant:["mutation",1],cost:{Plasmid(){return 1250}},action(){return se("mutation")?(e.genes.mutation=1,sa(),!0):!1}},transformation:{id:"genes-transformation",title:t("arpa_genepool_transformation_title"),desc:t("arpa_genepool_transformation_desc"),reqs:{mutation:1},grant:["mutation",2],cost:{Plasmid(){return 1500}},action(){return se("transformation")?(e.genes.mutation=2,sa(),!0):!1}},metamorphosis:{id:"genes-metamorphosis",title:t("arpa_genepool_metamorphosis_title"),desc:t("arpa_genepool_metamorphosis_desc"),reqs:{mutation:2},grant:["mutation",3],cost:{Plasmid(){return 1750}},action(){return se("metamorphosis")?(e.genes.mutation=3,sa(),!0):!1}},replication:{id:"genes-replication",title:t("arpa_genepool_replication_title"),desc:t("arpa_genepool_replication_desc"),reqs:{evolve:1},grant:["birth",1],cost:{Plasmid(){return 65}},action(){return!!se("replication")}},artificer:{id:"genes-artificer",title:t("arpa_genepool_artificer_title"),desc:t("arpa_genepool_artificer_desc"),reqs:{evolve:1},grant:["crafty",1],cost:{Plasmid(){return 45}},action(){return!!se("artificer")}},detail_oriented:{id:"genes-detail_oriented",title:t("arpa_genepool_detail_oriented_title"),desc:t("arpa_genepool_crafting_desc",["50"]),reqs:{crafty:1},grant:["crafty",2],cost:{Plasmid(){return 90}},action(){return!!se("detail_oriented")}},rigorous:{id:"genes-rigorous",title:t("arpa_genepool_rigorous_title"),desc:t("arpa_genepool_crafting_desc",["100"]),reqs:{crafty:2},grant:["crafty",3],cost:{Plasmid(){return 135}},action(){return!!se("rigorous")}},geographer:{id:"genes-geographer",title:t("arpa_genepool_geographer_title"),desc:t("arpa_genepool_geographer_desc"),reqs:{store:1},grant:["queue",1],cost:{Plasmid(){return 75}},action(){return!!se("geographer")}},architect:{id:"genes-architect",title:t("arpa_genepool_architect_title"),desc:t("arpa_genepool_architect_desc"),reqs:{queue:1},grant:["queue",2],cost:{Plasmid(){return 160}},action(){return!!se("architect")},post(){Or(),ca()}},precognition:{id:"genes-precognition",title:t("arpa_genepool_precognition_title"),desc:t("arpa_genepool_precognition_desc"),reqs:{queue:2},grant:["queue",3],condition(){return e.stats.aiappoc>0},cost:{Plasmid(){return 3500},Phage(){return 100},AICore(){return 1}},action(){return!!se("precognition")}},governance:{id:"genes-governance",title:t("arpa_genepool_governance_title"),desc:t("arpa_genepool_governance_desc"),reqs:{queue:2},grant:["governor",1],cost:{Plasmid(){return 300},Phage(){return 25}},action(){return!!se("governance")}},civil_service:{id:"genes-civil_service",title:t("arpa_genepool_civil_service_title"),desc:t("arpa_genepool_civil_service_desc"),reqs:{governor:1},grant:["governor",2],cost:{Plasmid(){return 1e3},Harmony(){return 1}},action(){return!!se("civil_service")},post(){if(e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("tasks"))for(let r=0;r<6;r++)e.race.governor.tasks.hasOwnProperty(`t${r}`)||(e.race.governor.tasks[`t${r}`]="none");Ne()}},bureaucratic_efficiency:{id:"genes-bureaucratic_efficiency",title:t("arpa_genepool_bureaucratic_efficiency_title"),desc:t("arpa_genepool_bureaucratic_efficiency_desc"),reqs:{governor:2},grant:["governor",3],cost:{Plasmid(){return 2500},Artifact(){return 1}},action(){return!!se("bureaucratic_efficiency")},post(){Ne()},flair(){return t("arpa_genepool_bureaucratic_efficiency_flair")}},hardened_genes:{id:"genes-hardened_genes",title:t("arpa_genepool_hardened_genes_title"),desc:t("arpa_genepool_hardened_genes_desc"),reqs:{},grant:["challenge",1],cost:{Plasmid(){return 5}},action(){return!!se("hardened_genes")}},unlocked:{id:"genes-unlocked",title:t("arpa_genepool_unlocked_title"),desc:t("arpa_genepool_unlocked_desc"),reqs:{challenge:1},grant:["challenge",2],cost:{Plasmid(){return 50}},action(){return!!se("unlocked")},post(){jt(!0)}},universal:{id:"genes-universal",title:t("arpa_genepool_universal_title"),desc:t("arpa_genepool_universal_desc"),reqs:{challenge:2},grant:["challenge",3],condition(){return e.race.universe!=="standard"},cost:{Plasmid(){return 400}},action(){return!!se("universal")},post(){jt(!0)}},standard:{id:"genes-standard",title:t("arpa_genepool_standard_title"),desc:t("arpa_genepool_standard_desc"),reqs:{challenge:3},grant:["challenge",4],condition(){return e.race.universe!=="standard"},cost:{Plasmid(){return 2500}},action(){return!!se("standard")},post(){jt(!0)}},mastered:{id:"genes-mastered",title:t("arpa_genepool_mastered_title"),desc:t("arpa_genepool_mastered_desc"),reqs:{challenge:4},grant:["challenge",5],cost:{Plasmid(){return 4e3}},action(){return!!se("mastered")}},negotiator:{id:"genes-negotiator",title:t("arpa_genepool_negotiator_title"),desc:t("arpa_genepool_negotiator_desc"),reqs:{challenge:2},grant:["trader",1],cost:{Plasmid(){return 750}},action(){return se("negotiator")?(e.genes.trader=1,fs(),!0):!1}},haggler:{id:"genes-haggler",title:t("arpa_genepool_haggler_title"),desc:t("arpa_genepool_haggler_desc"),reqs:{trader:1},condition(){return!!e.stats.achieve.godslayer},grant:["trader",2],cost:{Supercoiled(){return 10}},action(){return se("haggler")?(e.genes.trader=2,fs(),!0):!1}},ancients:{id:"genes-ancients",title:t("arpa_genepool_ancients_title"),desc:t("arpa_genepool_ancients_desc"),reqs:{evolve:2},condition(){return!!e.genes.old_gods},grant:["ancients",1],cost:{Plasmid(){return 120}},action(){return se("ancients")?(e.genes.ancients=1,ae(),!0):!1}},faith:{id:"genes-faith",title:t("arpa_genepool_faith_title"),desc:t("arpa_genepool_faith_desc"),reqs:{ancients:1},grant:["ancients",2],cost:{Plasmid(){return 300}},action(){return se("faith")?(e.civic.priest.display=!0,!0):!1}},devotion:{id:"genes-devotion",title:t("arpa_genepool_devotion_title"),desc:t("arpa_genepool_devotion_desc"),reqs:{ancients:2},grant:["ancients",3],cost:{Plasmid(){return 600}},action(){return!!se("devotion")}},acolyte:{id:"genes-acolyte",title:t("arpa_genepool_acolyte_title"),desc:t("arpa_genepool_acolyte_desc"),reqs:{ancients:3},grant:["ancients",4],cost:{Plasmid(){return 1e3}},action(){return!!se("acolyte")}},conviction:{id:"genes-conviction",title:t("arpa_genepool_conviction_title"),desc:t("arpa_genepool_conviction_desc"),reqs:{ancients:4},grant:["ancients",5],cost:{Plasmid(){return 1500}},action(){return!!se("conviction")}},doctrine:{id:"genes-doctrine",title:t("arpa_genepool_doctrine_title"),desc:t("arpa_genepool_doctrine_desc"),reqs:{ancients:5},condition(){return!!e.stats.achieve.godslayer},grant:["ancients",6],cost:{Supercoiled(){return 50}},action(){return!!se("doctrine")}},ideology:{id:"genes-ideology",title:t("arpa_genepool_ideology_title"),desc:t("arpa_genepool_ideology_desc"),reqs:{ancients:6},grant:["ancients",7],cost:{Supercoiled(){return 75}},action(){return!!se("ideology")}},transcendence:{id:"genes-transcendence",title:t("arpa_genepool_transcendence_title"),desc:t("arpa_genepool_transcendence_desc"),reqs:{ancients:1,mutation:3},grant:["transcendence",1],cost:{Plasmid(){return 3e3}},action(){return se("transcendence")?(e.genes.transcendence=1,ae(),!0):!1}},preeminence:{id:"genes-preeminence",title:t("arpa_genepool_preeminence_title"),desc:t("arpa_genepool_preeminence_desc"),reqs:{transcendence:1,challenge:5,ancients:7},grant:["transcendence",2],cost:{Supercoiled(){return 250},Harmony(){return 10}},action(){return!!se("preeminence")}},bleeding_effect:{id:"genes-bleeding_effect",title:t("arpa_genepool_bleeding_effect_title"),desc:t("arpa_genepool_bleeding_effect_desc",[2.5]),reqs:{creep:2},grant:["bleed",1],condition(){return e.race.universe==="antimatter"},cost:{Plasmid(){return 100}},action(){return!!se("bleeding_effect")}},synchronicity:{id:"genes-synchronicity",title:t("arpa_genepool_synchronicity_title"),desc:t("arpa_genepool_synchronicity_desc",[25]),reqs:{bleed:1},grant:["bleed",2],cost:{Plasmid(){return 500}},action(){return!!se("synchronicity")}},astral_awareness:{id:"genes-astral_awareness",title:t("arpa_genepool_astral_awareness_title"),desc:t("arpa_genepool_astral_awareness_desc"),reqs:{bleed:2},grant:["bleed",3],cost:{Plasmid(){return 1e3}},action(){return!!se("astral_awareness")}},blood_remembrance:{id:"genes-blood_remembrance",title:t("arpa_genepool_blood_remembrance_title"),desc:t("arpa_genepool_blood_remembrance_desc"),reqs:{},grant:["blood",1],condition(){return e.prestige.Blood_Stone.count>=1},cost:{Plasmid(){return 1e3},Phage(){return 10}},action(){return!!se("blood_remembrance")}},blood_sacrifice:{id:"genes-blood_sacrifice",title:t("arpa_genepool_blood_sacrifice_title"),desc:t("arpa_genepool_blood_sacrifice_desc"),reqs:{blood:1},grant:["blood",2],cost:{Plasmid(){return 3e3},Phage(){return 100},Artifact(){return 1}},action(){return!!se("blood_sacrifice")}},essence_absorber:{id:"genes-essence_absorber",title:t("arpa_genepool_essence_absorber_title"),desc:t("arpa_genepool_essence_absorber_desc"),reqs:{blood:2},grant:["blood",3],cost:{Plasmid(){return 7500},Phage(){return 250},Artifact(){return 1}},action(){return!!se("essence_absorber")},post(){jn()}}},We={purify:{id:"blood-purify",title:t("arpa_blood_purify_title"),desc:t("arpa_blood_purify_desc"),reqs:{},grant:["spire",1],cost:{Blood_Stone(){return 10}},action(){return!!Rt($(this)[0].cost)}},chum:{id:"blood-chum",title:t("arpa_blood_chum_title"),desc:t("arpa_blood_chum_desc"),reqs:{spire:1},grant:["spire",2],cost:{Blood_Stone(){return 25}},action(){return!!Rt($(this)[0].cost)}},lust:{id:"blood-lust",title:t("arpa_blood_lust_title"),desc:t("arpa_blood_lust_desc"),reqs:{},grant:["lust","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.lust||0))*15+15},Artifact(r){return((r||0)+(e.blood.lust||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},illuminate:{id:"blood-illuminate",title:t("arpa_blood_illuminate_title"),desc:t("arpa_blood_illuminate_desc"),reqs:{},grant:["illuminate","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.illuminate||0))*12+12},Artifact(r){return((r||0)+(e.blood.illuminate||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},greed:{id:"blood-greed",title:t("arpa_blood_greed_title"),desc:t("arpa_blood_greed_desc"),reqs:{},grant:["greed","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.greed||0))*16+16},Artifact(r){return((r||0)+(e.blood.greed||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},hoarder:{id:"blood-hoarder",title:t("arpa_blood_hoarder_title"),desc:t("arpa_blood_hoarder_desc"),reqs:{},grant:["hoarder","*"],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(r){return((r||0)+(e.blood.hoarder||0))*14+14},Artifact(r){return((r||0)+(e.blood.hoarder||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},artisan:{id:"blood-artisan",title:t("arpa_blood_artisan_title"),desc:t("arpa_blood_artisan_desc"),reqs:{},grant:["artisan","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.artisan||0))*8+8},Artifact(r){return((r||0)+(e.blood.artisan||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},attract:{id:"blood-attract",title:t("arpa_blood_attract_title"),desc:t("arpa_blood_attract_desc"),reqs:{},grant:["attract","*"],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(r){return((r||0)+(e.blood.attract||0))*4+4},Artifact(r){return((r||0)+(e.blood.attract||0))%5===0?1:0}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},wrath:{id:"blood-wrath",title:t("arpa_blood_wrath_title"),desc:t("arpa_blood_wrath_desc"),reqs:{},grant:["wrath","*"],cost:{Blood_Stone(r){return((r||0)+(e.blood.wrath||0))*2+2},Artifact(){return 1}},effect(){return`${t("arpa_blood_repeat")}`},action(){return!!Rt($(this)[0].cost)}},prepared:{id:"blood-prepared",title:t("arpa_blood_prepared_title"),desc:t("arpa_blood_prepared_desc"),reqs:{},grant:["prepared",1],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 50}},action(){return!!Rt($(this)[0].cost)},post(){Xa()}},compact:{id:"blood-compact",title:t("arpa_blood_compact_title"),desc:t("arpa_blood_compact_desc"),reqs:{prepared:1},grant:["prepared",2],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 75}},action(){return!!Rt($(this)[0].cost)}},infernal:{id:"blood-infernal",title:t("arpa_blood_infernal_title"),desc:t("arpa_blood_infernal_desc"),reqs:{prepared:2},grant:["prepared",3],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 125},Artifact(){return 1}},action(){return!!Rt($(this)[0].cost)}},unbound:{id:"blood-unbound",title:t("arpa_blood_unbound_title"),desc:t("arpa_blood_unbound_desc"),reqs:{},grant:["unbound",1],cost:{Blood_Stone(){return 50}},action(){return!!Rt($(this)[0].cost)}},unbound_resistance:{id:"blood-unbound_resistance",title:t("arpa_blood_unbound_resistance_title"),desc:t("arpa_blood_unbound_resistance_desc"),reqs:{unbound:1},grant:["unbound",2],cost:{Blood_Stone(){return 100}},action(){return!!Rt($(this)[0].cost)}},shadow_war:{id:"blood-shadow_war",title:t("arpa_blood_shadow_war_title"),desc:t("arpa_blood_shadow_war_desc"),reqs:{unbound:2},grant:["unbound",3],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 250},Artifact(){return 2}},action(){return!!Rt($(this)[0].cost)}},unbound_immunity:{id:"blood-unbound_immunity",title:t("arpa_blood_unbound_immunity_title"),desc:t("arpa_blood_unbound_immunity_desc"),reqs:{unbound:3},grant:["unbound",4],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 500}},action(){return!!Rt($(this)[0].cost)}},blood_aware:{id:"blood-blood_aware",title:t("arpa_blood_blood_aware_title"),desc:t("arpa_blood_blood_aware_desc"),reqs:{},grant:["aware",1],condition(){return!!(e.genes.blood&&e.genes.blood>=3)},cost:{Blood_Stone(){return 10}},action(){return!!Rt($(this)[0].cost)}}};function se(r){let a=!0,i=_t[r].cost;return Object.keys(i).forEach(function(s){let n=s;s==="Plasmid"&&e.race.universe==="antimatter"&&(s="AntiPlasmid"),e.prestige[s].countNumber(e.resource[i].amount))return a=!1,!1}),a}function Vr(r,a,i){return r=au(r,a,i),Ct({cost:r},a,i)}function au(r,a,i){let s=re("human");if(i&&i.creative||!i&&e.race.creative||!i&&s>0){var n={};return Object.keys(r).forEach(function(c){n[c]=function(){let o=r[c](a,i);return(i&&i.creative||!i&&e.race.creative)&&(o*=1-v.creative.vars()[1]/100),s>0&&(o*=1-v.creative.vars(1)[1]/100*s),o}}),n}return r}function qe(r,a,i,s,n){var c=e.arpa[r]?e.arpa[r].rank:0;return(n&&n.creative||!n&&e.race.creative)&&r!=="syphon"&&(s-=v.creative.vars()[0]),a&&(c+=a),Math.round(s**c*i)}function Wc(){if(e.tech.high_tech&&e.tech.high_tech>=6){let r=$("#arpaPhysics");K(r),Object.keys(de).forEach(function(a){nu(r,a)})}}function Cn(){let r=$("#geneticMinor")[0];if(r){let a=Sortable.get(r);a&&a.destroy()}}function iu(){let r=$("#geneticMinor")[0];r&&Sortable.create(r,{onEnd(a){let i=e.settings.mtorder;i.splice(a.newDraggableIndex,0,i.splice(a.oldDraggableIndex,1)[0]),e.settings.mtorder=i,sa()}})}function sa(){let r=$("#arpaGenetics");if(Cn(),K(r),!e.settings.arpa.genetics)return!1;if(e.tech.genetics>1){let a=$('
');r.append(a);let i=e.tech.genetics>2?t("arpa_gene_mutation"):t("arpa_sequence_genome");e.race.artifical&&(i=e.tech.genetics>2?t("arpa_code_modification"):t("arpa_decompile_source"));let s=$(`
${i} - ${t("arpa_to_complete")}
`);a.append(s);let n=$(`{{ progress }}%`);a.append(n);let c=e.tech.genetics>2?t("arpa_mutate"):t("arpa_sequence");e.race.artifical&&(c=e.tech.genetics>2?t("arpa_modify"):t("arpa_decompile"));let o=$(``);if(a.append(o),e.tech.genetics>=5){let l=$(``);a.append(l)}if(e.tech.genetics>=6){let l=$(``);a.append(l)}if(e.tech.genetics>=7){let l=$(``);a.append(l)}e.arpa.sequence.on&&$("#arpaSequence button.seq").addClass("has-text-success"),e.arpa.sequence.boost&&$("#arpaSequence button.boost").addClass("has-text-success"),e.arpa.sequence.auto&&$("#arpaSequence button.auto").addClass("has-text-success"),C({el:"#arpaSequence",data:e.arpa.sequence,methods:{toggle(){e.arpa.sequence.on?(e.arpa.sequence.on=!1,$("#arpaSequence button.seq").removeClass("has-text-success")):(e.arpa.sequence.on=!0,$("#arpaSequence button.seq").addClass("has-text-success"))},booster(){e.arpa.sequence.boost?(e.arpa.sequence.boost=!1,$("#arpaSequence button.boost").removeClass("has-text-success")):(e.arpa.sequence.boost=!0,$("#arpaSequence button.boost").addClass("has-text-success"))},boostLabel(l){return t(e.race.artifical?"arpa_boost_artifical_label":"arpa_boost_label")+(l?e.arpa.sequence.boost?t("city_on"):t("city_off"):"")},novo(){let l=W(),u=2e5;if(e.resource.Knowledge.amount>=u){let p=Math.floor(e.resource.Knowledge.amount/u),h=Math.min(l,p);e.resource.Knowledge.amount-=u*h,e.resource.Genes.amount+=h;let d=mt(8,12,!1);d.length>0&&$("#arpaSequence > div:first").append(d)}},novoLabel(){return t(e.race.artifical?"arpa_novo_artifical_label":"arpa_novo_label",["200k"])},auto_seq(){e.arpa.sequence.auto?(e.arpa.sequence.auto=!1,$("#arpaSequence button.auto").removeClass("has-text-success")):(e.arpa.sequence.auto=!0,$("#arpaSequence button.auto").addClass("has-text-success"))},autoLabel(l){return t(e.race.artifical?"arpa_auto_compile_label":"arpa_auto_seq_label")+(l?e.arpa.sequence.boost?t("city_on"):t("city_off"):"")}},filters:{timer(l){if(e.arpa.sequence.on&&e.arpa.sequence.labs>0)return e.arpa.sequence.boost?ut(l/(e.arpa.sequence.labs*2)):ut(l/e.arpa.sequence.labs);{let u=ht(14,12);return u.length>0?u:t("time_never")}}}}),N("popArpaSeq",function(){return e.tech.genetics>2?e.race.artifical?t("arpa_modify_desc"):t("arpa_mutate_desc"):e.race.artifical?t("arpa_decompile_desc"):t("arpa_sequence_desc")},{elm:"#arpaSequence .seqlbl",classes:"has-background-light has-text-dark"})}if(e.tech.genetics>2){let a=$('
');$("#arpaGenetics").append(a);let i=$('
');a.append(i),e.tech.decay&&e.tech.decay>=2&&(e.settings.mtorder.includes("fortify")||e.settings.mtorder.push("fortify")),Object.keys(e.race).forEach(function(q){v[q]&&v[q].type==="minor"&&(e.settings.mtorder.includes(q)||e.settings.mtorder.push(q))}),e.genes.challenge&&e.genes.challenge>=5&&(e.settings.mtorder.includes("mastery")||e.settings.mtorder.push("mastery"));let s=!1,n=[];e.settings.mtorder.forEach(function(q){(v[q]&&v[q].type==="minor"||q==="mastery"||q==="fortify")&&(q!=="fortify"||e.tech.decay&&e.tech.decay>=2)&&(!["promiscuous","content","resilient","industrious","tactical","fibroblast"].includes(q)&&e.race.lone_survivor||!e.race.lone_survivor)&&(s=!0,su(i,q),n.push(q))}),a.append(`
${t("arpa_race_genetic_traids",[lt("name")])}
`);let c=Tt("name"),o=[],l=[],u=$('
');a.append(u);let p=Re(e.race);ke("fool",2023)&&(p.hooved=1),Object.keys(p).forEach(function(q){if(v[q]&&v[q].type!=="minor"&&v[q].type!=="special"&&q!=="evil"&&q!=="soul_eater"&&q!=="artifical"){let P=!1;if(e.race.ss_traits&&e.race.ss_traits.includes(q)||e.race.iTraits&&e.race.iTraits.hasOwnProperty(q)||["sludge","ultra_sludge"].includes(e.race.species)&&(q==="ooze"||e.race.modified)?P=!0:e.race.hasOwnProperty(q)||(P=!0),!P&&(v[q].type==="major"&&e.genes.mutation||v[q].type==="genus"&&e.genes.mutation&&e.genes.mutation>=2)){let O=$('
'),U=$(`${t("arpa_remove_button")}`);o.push(q),O.append(U),O.append($(`${c[q]?c[q]:v[q].name} (${t("arpa_genepool_rank",[p[q]])})`)),u.append(O)}else l.push(q),u.append(`
${c[q]?c[q]:v[q].name} (${t("arpa_genepool_rank",[p[q]])})
`)}});let h=[],d=[];if(e.genes.mutation&&e.genes.mutation>=3&&(e.race.species!=="sludge"&&e.race.species!=="ultra_sludge"||!e.race.modified)){a.append(`
${t("arpa_race_genetic_gain")}
`);let q=["dumb","smart"],P=x[e.race.species].type==="hybrid"?e.race.maintype:x[e.race.species].type,O=x[e.race.species].type==="hybrid"?x[e.race.species].hybrid:[x[e.race.species].type];Object.keys(x).forEach(function(Z){Z!=="junker"&&Z!=="sludge"&&Z!=="ultra_sludge"&&Z!=="custom"&&(O.includes(x[Z].type)||x[Z].type==="hybrid"&&Z===e.race.species)&&Object.keys(x[Z].traits).forEach(function(z){if(!e.race[z]&&z!=="soul_eater"){let Y=q.indexOf(z);if(Y===-1)d.push(z),x[Z].type!==P&&Z!==e.race.species&&h.push(z);else{let tt=!1;switch(Y%2){case 0:e.race[q[Y+1]]&&(tt=!0);break;case 1:e.race[q[Y-1]]&&(tt=!0);break}tt||(d.push(z),x[Z].type!==P&&h.push(z))}}})});let U=$('
');a.append(U);for(let Z=0;Z'),tt=$(`${t("arpa_gain_button")}`);Y.append(tt),Y.append($(`${c[z]?c[z]:v[z].name}`)),U.append(Y)}}s&&a.prepend(`
${t("arpa_race_genetic_minor_traits",[lt("name")])}
`);let g=function(q){let P=v[q].val*5;return["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(P*=10),x[e.race.species].type==="hybrid"&&(P*=2),P<0&&(P*=-1),t("arpa_remove",[Tt("name",q),P,e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name")])},w=function(q){let P=v[q].val*5;return["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(P*=10),x[e.race.species].type==="hybrid"&&(P*=2),P<0&&(P*=-1),t("arpa_gain",[Tt("name",q),P,e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name")])},k=function(q){let P=ia(e.race.minor[q]?e.race.minor[q]+4:4);return q==="mastery"&&(P*=5),t("arpa_gene_buy",[Tt("name",q),X(P),e.resource.Genes.name])},M=function(q){let P=ia(e.genes.minor[q]?e.genes.minor[q]+4:4);return q==="mastery"&&(P*=2),t("arpa_phage_buy",[Tt("name",q),X(P),t("resource_Phage_name")])};C({el:"#geneticBreakdown",data:{genes:e.genes,race:e.race},methods:{gene(q){let P=0,O=W(),U=!0,Z=!1;for(;P=z?(e.resource.Genes.amount-=z,e.race.minor[q]?e.race.minor[q]++:e.race.minor[q]=1,e.race[q]?e.race[q]++:e.race[q]=1,Z=!0):U=!1,P++}Z&&(q==="mastery"&&jt(!0),sa(),q==="persuasive"&&fs())},phage(q){let P=0,O=W(),U=!0,Z=!1;for(;P=z?(e.prestige.Phage.count-=z,e.genes.minor[q]?e.genes.minor[q]++:e.genes.minor[q]=1,e.race[q]?e.race[q]++:e.race[q]=1,Z=!0):U=!1,P++}Z&&(q==="mastery"&&jt(!0),sa(),q==="persuasive"&&fs())},purge(q){if(["sludge","ultra_sludge"].includes(e.race.species)&&(e.race.modified||q==="ooze"))return;let P=v[q].val*5;["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(P*=10),x[e.race.species].type==="hybrid"&&(P*=2),P<0&&(P*=-1);let O=e.race.universe==="antimatter"?"AntiPlasmid":"Plasmid";if(e.prestige[O].count>=P){e.prestige[O].count-=P;let U=e.race[q];delete e.race[q],e.race.modified?e.race.modified++:e.race.modified=1,Ei(q,U),sa(),ae(),Ht();let Z=0;Object.keys(e.race).forEach(function(z){v[z]&&(v[z].type=="major"||v[z].type=="genus")&&z!=="evil"&&Z++}),Z===0&&oe("blank_slate")}},gain(q){if(["sludge","ultra_sludge"].includes(e.race.species)&&e.race.modified)return;let P=v[q].val*5;["custom","hybrid","sludge","ultra_sludge"].includes(e.race.species)&&(P*=10),x[e.race.species].type==="hybrid"&&(P*=2),P<0&&(P*=-1);let O=e.race.universe==="antimatter"?"AntiPlasmid":"Plasmid";e.prestige[O].count>=P&&(e.prestige[O].count-=P,e.race[q]=1,e.race.modified?e.race.modified++:e.race.modified=1,Ka(q),h.includes(q)&&me(q,{down:!0}),sa(),ae(),Ht())},geneCost(q){return k(q)},phageCost(q){return M(q)},traitEffect(q){return t(`trait_${q}_effect`)},removeCost(q){return g(q)},addCost(q){return w(q)},genePurchasable(q){let P=ia(e.race.minor[q]?e.race.minor[q]+4:4);return q==="mastery"&&(P*=5),e.resource.Genes.amount>=P},phagePurchasable(q){let P=ia(e.genes.minor[q]?e.genes.minor[q]+4:4);return q==="mastery"&&(P*=2),e.prestige.Phage.count>=P}}}),n.forEach(function(q){N(`popGenetrait${q}`,function(){return k(q)},{elm:`#geneticBreakdown .t-${q} .gbuy`,classes:"has-background-light has-text-dark"}),e.prestige.Phage.count>0&&N(`popGenetrait${q}`,function(){return M(q)},{elm:`#geneticBreakdown .t-${q} .pbuy`,classes:"has-background-light has-text-dark"}),N(`popGenetrait${q}`,function(){return e.stats.feat.novice&&e.stats.achieve.apocalypse&&e.stats.achieve.apocalypse.l>0?`
${Tt("desc",q)}
${t(`trait_${q}_effect`)}
`:Tt("desc",q)},{elm:`#geneticBreakdown .t-${q} .name`,classes:"has-background-light has-text-dark"})}),o.forEach(function(q){N(`popRemoveBkdwn${q}`,function(){return g(q)},{elm:`#geneticBreakdown .remove${q}`,classes:"has-background-light has-text-dark"});let P=`raceTrait${q}`,O=$("
");Hr(O,q,{trank:e.race[q]}),N(P,O,{wide:!0,classes:"w30"})}),l.forEach(function(q){let P=`raceTrait${q}`,O=$("
");Hr(O,q,{trank:e.race[q]}),N(P,O,{elm:`#geneticBreakdown .trait${q}`,wide:!0,classes:"w30"})}),d.forEach(function(q){N(`popAddBkdwn${q}`,function(){return w(q)},{elm:`#geneticBreakdown .add${q}`,classes:"has-background-light has-text-dark"});let P=`raceTrait${q}`,O=$("
");Hr(O,q,{trank:h.includes(q)?.5:1}),N(P,O,{wide:!0,classes:"w30"})}),iu()}}function su(r,a){let i=$(`
`),s=$(`${e.resource.Genes.name} (${e.race.minor[a]||0})`);if(i.append(s),e.prestige.Phage.count>0){let c=$(`${t("resource_Phage_name")} (${e.genes.minor[a]||0})`);i.append(c)}let n=e.race[a]>1?`(${e.race[a]}) `:"";i.append(`${n}${Tt("name",a)}`),r.append(i)}function Qc(){(e.tech.genetics&&e.tech.genetics>3||e.sim)&&(K($("#arpaCrispr")),$("#arpaCrispr").append(`
${t("arpa_crispr_desc")}
`),$("#arpaCrispr").append('
'),Jl())}function jn(){e.tech.b_stone&&e.tech.b_stone>=2&&(K($("#arpaBlood")),$("#arpaBlood").append(`
${t("arpa_blood_desc")}
`),$("#arpaBlood").append('
'),Zl())}function nu(r,a){if(eu(a)){if(e.arpa[a]||(e.arpa[a]={complete:0,rank:0}),de[a].rank&&e.arpa[a].rank>=de[a].rank)return;let i=$(`
`);r.append(i);let s=typeof de[a].title=="string"?de[a].title:de[a].title(),n=$(`
${s}{{ rank | level }}
`);i.append(n);let c=$('
{{ complete }}%
');n.append(c);let o=$('
');i.append(o),o.append($(``)),o.append($(``)),o.append($(``)),o.append($(``)),o.append($(``)),C({el:`#arpa${a}`,data:e.arpa[a],methods:{queue(u){if(e.tech.queue){let h=W();for(let d=0;d0){if(e.settings.q_merge!=="merge_never"&&e.queue.queue.length>0&&e.queue.queue[e.queue.queue.length-1].id===g)e.queue.queue[e.queue.queue.length-1].q++;else{let M=typeof de[u].title=="string"?de[u].title:de[u].title();e.queue.queue.push({id:g,action:"arpa",type:u,label:M,cna:!1,time:0,q:1,qs:1,t_max:0})}ka()}else break}}},build(u,p){cu(u,p,!0)},srDesc(){return Ai(typeof de[a].desc=="string"?de[a].desc:de[a].desc())},srLevel(){return Ai(de[a].effect())},arpaProjectSRCosts(u,p){let h=u==="100"?100-e.arpa[p].complete:u;var d=`Construct ${h}%. Costs:`,g=Vr(de[p].cost);return Object.keys(g).forEach(function(w){var k=+(g[w]()*(h/100)).toFixed(0);if(k>0){var M=w==="Money"?"$":e.resource[w].name+": ",q=e.resource[w].amount>=k?"":` ${t("insufficient")} ${e.resource[w].name}.`;d=d+` ${M} ${X(k,2)}.${q}`}}),d}},filters:{remain(u){return 100-u},level(u){return t("arpa_level",[u])}}}),N(`popArpa${a}`,function(){return de[a].desc},{elm:`#arpa${a} .head .desc`,classes:"has-background-light has-text-dark"}),N(`popArpa${a}`,function(){return de[a].effect()},{elm:`#arpa${a} .head .rank`,classes:"has-background-light has-text-dark"});let l=[1,10,25,100];for(let u=0;u=100&&(e.arpa[r].rank++,e.arpa[r].complete=0,e.tech[de[r].grant]=e.arpa[r].rank,n=!0,r==="monument"&&(e.arpa.m_type=Uc(),$(`#arpa${r} .head .desc`).html(de[r].title()),Lr(!1,["arpamonument"])),r==="roid_eject"&&($(`#arpa${r} .head .desc`).html(de[r].title()),Lr(!1,["arparoid_eject"])),r==="launch_facility"&&(e.settings.showSpace=!0,e.tech.space=1,ue("popArpalaunch_facility"),[1,10,25,100].forEach(function(o){ue(`popArpalaunch_facility${o}`)}),s||fr(["arpalaunch_facility"]),Wc(),St(),I(t("arpa_projects_launch_facility_msg"),"info",!1,["progress"])),e.race.inflation&&(e.race.inflation+=10),ae()));if(i){let c=[1,10,25,100],o=$("#popper"),l=o.data("id");for(let u=0;u"),n=Vr(de[a].cost);let c=ys(de[a],i/100,!1,!0);return Object.keys(n).forEach(function(o){var l=+(n[o]()*(i/100)).toFixed(0);if(l>0){var u=o==="Money"?"$":e.resource[o].name+": ",p=e.resource[o].amount>=l?"has-text-dark":o===c.r?"has-text-danger":"has-text-alert";s.append($(`
${u}${X(l,2)}
`))}}),s}function fs(){Object.keys(e.resource).forEach(function(r){C({el:`#market-${r}`},"update")}),C({el:"#galaxyTrade"},"update")}function bs(){if(!e.civic.mad.armed&&!e.race.cataclysm){e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"mad"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,o=$e("mad");e.stats.mad++,gr(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,B("apocalypse"),B("squished",!0),B(`extinct_${r}`),e.civic.govern.type==="anarchy"&&B("anarchist"),e.city.biome==="hellscape"&&x[e.race.species].type!=="demonic"&&oe("take_no_advice"),e.race.truepath&&B("ashanddust"),vr(),Li("md");let l=e.race.hasOwnProperty("srace")?e.race.srace:!1,u=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,rapid_mutation:1,ancient_ruins:1,universe:e.race.universe,seeded:!1,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},u>0&&(e.race.corruption=u),l&&(e.race.srace=l),Sr({orbit:i,biome:s,ptrait:n,geology:c}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}}function Jc(){e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"bioseed"});let r=e.race.species,a=e.race.gods,i=x[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,o=$e("bioseed");e.stats.bioseed++,gr(),e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,B("seeder"),B(`biome_${n}`),c.forEach(function(w){Ie.hasOwnProperty(w)&&B(`atmo_${w}`)}),B(`genus_${i}`),e.race.gravity_well&&B("escape_velocity"),e.race.truepath&&B("exodus"),c.includes("dense")&&e.race.universe==="heavy"&&B("double_density"),e.race.junker&&e.race.species==="junker"&&oe("organ_harvester"),e.city.biome==="hellscape"&&x[e.race.species].type!=="demonic"&&oe("ill_advised"),typeof e.tech.world_control>"u"&&B("cult_of_personality"),e.race.cataclysm&&B("iron_will",!1,5),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross");let l=0,u=0;switch(Object.keys(e.city.geology).forEach(function(w){e.city.geology[w]>0?l++:e.city.geology[w]<0&&u++}),l>=4&&B("miners_dream"),u>=3&&oe("rocky_road"),e.race.steelen&&e.race.steelen>=1&&B("steelen"),e.race.universe){case"micro":e.race.small||e.race.compact?B("macro",!0):B("marble",!0);break;default:break}vr();let p=e.race.hasOwnProperty("srace")?e.race.srace:!1,h=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0,d=e.starDock.probes.count+1,g=e.starDock.hasOwnProperty("geck")?e.starDock.geck.count:0;e.stats.achieve.explorer&&(d+=e.stats.achieve.explorer.l),e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!0,probes:d,geck:g,seed:Math.floor(T(1e4)),ascended:!1},h>0&&(e.race.corruption=h),p&&(e.race.srace=p),Sr({orbit:s,biome:n,ptrait:c,geology:!1}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Zc(){if(e.city.ptrait.includes("unstable")&&e.tech.quaked){ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),He("reset",{end:"cataclysm"}),or();let r=$e("cataclysm");e.stats.cataclysm++,gr(),e.prestige.Phage.count+=r.phage,e.stats.phage+=r.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=r.plasmid,e.stats.antiplasmid+=r.plasmid):(e.prestige.Plasmid.count+=r.plasmid,e.stats.plasmid+=r.plasmid),e.stats.pdebt=r.pdebt,B("squished",!0),B(`extinct_${e.race.species}`),e.city.biome==="hellscape"&&x[e.race.species].type!=="demonic"&&oe("take_no_advice"),vr(),B("shaken"),e.race.cataclysm&&B("failed_history"),Li("ct");let a=e.race.hasOwnProperty("srace")?e.race.srace:!1,i=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:e.race.species,gods:e.race.gods,old_gods:e.race.old_gods,universe:e.race.universe,seeded:!1,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},i>0&&(e.race.corruption=i),a&&(e.race.srace=a),Sr({orbit:e.city.calendar.orbit,biome:e.city.biome,ptrait:e.city.ptrait,geology:e.city.geology}),e.race.universe==="antimatter"?e.race.weak_mastery=1:e.race.no_plasmid=1;let s=["crispr","trade","craft"];for(let n=0;n1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:"bigbang",seeded:!0,bigbang:!0,probes:4,seed:Math.floor(T(1e4)),ascended:!1},l>0&&(e.race.corruption=l),o&&(e.race.srace=o),Sr({orbit:i,biome:s,ptrait:n,geology:!1}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Xc(){or(),He("reset",{end:"ascend"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,o=$e("ascend");e.stats.ascend++,gr(),e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.Harmony.count=parseFloat((e.prestige.Harmony.count+o.harmony).toFixed(2)),e.stats.harmony=parseFloat((e.stats.harmony+o.harmony).toFixed(2)),n.forEach(function(h){Ie.hasOwnProperty(h)&&B(`atmo_${h}`)}),typeof e.tech.world_control>"u"&&B("cult_of_personality");let l=0;Object.keys(e.city.geology).forEach(function(h){e.city.geology[h]>0&&l++}),l>=4&&B("miners_dream"),(!e.galaxy.hasOwnProperty("dreadnought")||e.galaxy.dreadnought.count===0)&&B("dreaded"),!e.race.modified&&(e.race.species==="synth"||e.race.species==="nano")&&e.race.emfield&&oe("digital_ascension"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),vr();let u=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:!0},p>0&&(e.race.corruption=p),u&&(e.race.srace=u),Object.keys(c).forEach(function(h){c[h]+=.02}),Sr({orbit:i,biome:s,ptrait:n,geology:c}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Ii(){if(ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"descension"}),B("squished",!0),B(`extinct_${e.race.species}`),e.race.witch_hunter&&e.tech.forbidden>=5&&e.race.universe==="magic"?B("nightmare"):B("corrupted"),e.race.fasting&&e.tech.dish_reset){let p=fe();e.stats.endless_hunger.b5[p]=!0,p!=="m"&&p!=="l"&&(e.stats.endless_hunger.b5.l=!0),e.stats.starved===0&&oe("immortal")}x[e.race.species].type==="angelic"&&oe("twisted"),e.race.junker&&e.race.species==="junker"&&oe("the_misery"),!e.race.modified&&e.race.junker&&e.race.species==="junker"&&oe("garbage_pie"),e.race.cataclysm&&oe("finish_line"),e.race.ooze&&e.race.species==="sludge"&&oe("slime_lord"),Li("di");let r=$e("descend");e.prestige.Artifact.count+=r.artifact,e.stats.artifact+=r.artifact;let a=fe();e.stats.spire.hasOwnProperty(a)&&(e.stats.spire[a].hasOwnProperty("lord")?e.stats.spire[a].lord++:e.stats.spire[a].lord=1,e.tech.dl_reset?e.stats.spire[a].dlstr=0:e.stats.spire[a].hasOwnProperty("dlstr")?e.stats.spire[a].dlstr++:e.stats.spire[a].dlstr=1);let i=e.race.species,s=e.race.gods,n=e.city.calendar.orbit,c=e.city.biome,o=e.city.ptrait,l=e.city.geology;e.stats.descend++,gr(),vr();let u=e.race.hasOwnProperty("srace")?e.race.srace:!1;e.race={species:"protoplasm",gods:i,old_gods:s,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),corruption:5,ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},u&&(e.race.srace=u),Sr({orbit:n,biome:c,ptrait:o,geology:l}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Yc(){or(),He("reset",{end:"apotheosis"});let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,o=$e("apotheosis");e.stats.apotheosis++,gr(),e.prestige.Supercoiled.count+=o.supercoiled,e.stats.supercoiled+=o.supercoiled,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,n.forEach(function(h){Ie.hasOwnProperty(h)&&B(`atmo_${h}`)}),typeof e.tech.world_control>"u"&&B("cult_of_personality");let l=0;Object.keys(e.city.geology).forEach(function(h){e.city.geology[h]>0&&l++}),l>=4&&B("miners_dream"),(!e.galaxy.hasOwnProperty("dreadnought")||e.galaxy.dreadnought.count===0)&&B("dreaded"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),vr();let u=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:!0},p>0&&(e.race.corruption=p),u&&(e.race.srace=u),Object.keys(c).forEach(function(h){c[h]+=.02}),Sr({orbit:i,biome:s,ptrait:n,geology:c}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function eo(r){or(),He("reset",{end:"terraform"});let a=e.race.species,i=e.race.gods,s=e.city.calendar.orbit,n=r.biome,c=r.traitlist,o=r.geology,l=$e("terraform");e.stats.terraform++,gr(),e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.Harmony.count=parseFloat((e.prestige.Harmony.count+l.harmony).toFixed(2)),e.stats.harmony=parseFloat((e.stats.harmony+l.harmony).toFixed(2)),c.forEach(function(d){Ie.hasOwnProperty(d)&&B(`atmo_${d}`)}),typeof e.tech.world_control>"u"&&B("cult_of_personality");let u=0;Object.keys(e.city.geology).forEach(function(d){e.city.geology[d]>0&&u++}),u>=4&&B("miners_dream"),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),vr();let p=e.race.hasOwnProperty("srace")?e.race.srace:!1,h=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:a,old_gods:i,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1,rejuvenated:!0},h>0&&(e.race.corruption=h),p&&(e.race.srace=p),Sr({orbit:s,biome:n,ptrait:c,geology:o}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function to(){e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"ai apocalypse"}),B(`extinct_${e.race.species}`),B("obsolete"),B("squished",!0),e.race.junker&&e.race.species==="junker"&&oe("the_misery"),Li("ai");let r=e.race.species,a=e.race.gods,i=e.city.calendar.orbit,s=e.city.biome,n=e.city.ptrait,c=e.city.geology,o=$e("ai");vr(),e.stats.aiappoc++,gr(),e.prestige.Phage.count+=o.phage,e.stats.phage+=o.phage,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o.plasmid,e.stats.antiplasmid+=o.plasmid):(e.prestige.Plasmid.count+=o.plasmid,e.stats.plasmid+=o.plasmid),e.stats.pdebt=o.pdebt,e.prestige.AICore.count+=o.cores,e.stats.cores+=o.cores;let l=x[r].type!=="synthetic"&&!["junker","sludge","ultra_sludge"].includes(r)?r:e.race.hasOwnProperty("srace")?e.race.srace:r;e.stats.synth[r]=!0;let u=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,srace:l,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},u>0&&(e.race.corruption=u),Sr({orbit:i,biome:s,ptrait:n,geology:c}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function ro(){ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"matrix"});let r=e.race.species,a=e.race.gods,i=x[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,o=e.city.geology,l=$e("matrix");B(`biome_${n}`),c.forEach(function(h){Ie.hasOwnProperty(h)&&B(`atmo_${h}`)}),B(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),B("bluepill"),zn(),vr(),e.stats.matrix++,gr(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.prestige.AICore.count+=l.cores,e.stats.cores+=l.cores;let u=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},p>0&&(e.race.corruption=p),u&&(e.race.srace=u),Sr({orbit:s,biome:n,ptrait:c,geology:o}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function ao(){ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"retired"});let r=e.race.species,a=e.race.gods,i=x[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,o=e.city.geology,l=$e("retired");B(`biome_${n}`),c.forEach(function(h){Ie.hasOwnProperty(h)&&B(`atmo_${h}`)}),B(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),B("retired"),zn(),vr(),e.stats.retire++,gr(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.prestige.AICore.count+=l.cores,e.stats.cores+=l.cores;let u=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},p>0&&(e.race.corruption=p),u&&(e.race.srace=u),Sr({orbit:s,biome:n,ptrait:c,geology:o}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function io(){ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e))),or(),He("reset",{end:"eden"});let r=e.race.species,a=e.race.gods,i=x[r].type,s=e.city.calendar.orbit,n=e.city.biome,c=e.city.ptrait,o=e.city.geology,l=$e("eden");B(`biome_${n}`),c.forEach(function(h){Ie.hasOwnProperty(h)&&B(`atmo_${h}`)}),B(`genus_${i}`),e.race.gross_enabled&&e.race.ooze&&e.race.species!=="custom"&&e.race.species!=="sludge"&&B("gross"),B("adam_eve"),zn(),vr(),e.stats.eden++,gr(),e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=l.plasmid,e.stats.antiplasmid+=l.plasmid):(e.prestige.Plasmid.count+=l.plasmid,e.stats.plasmid+=l.plasmid),e.stats.pdebt=l.pdebt,e.prestige.Phage.count+=l.phage,e.stats.phage+=l.phage,e.prestige.AICore.count+=l.cores,e.stats.cores+=l.cores;let u=e.race.hasOwnProperty("srace")?e.race.srace:!1,p=e.race.hasOwnProperty("corruption")&&e.race.corruption>1?e.race.corruption-1:0;e.race={species:"protoplasm",gods:r,old_gods:a,universe:e.race.universe,seeded:!1,seed:Math.floor(T(1e4)),ascended:e.race.hasOwnProperty("ascended")?e.race.ascended:!1},p>0&&(e.race.corruption=p),u&&(e.race.srace=u),Sr({orbit:s,biome:n,ptrait:c,geology:o}),pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),window.location.reload()}function Sr(r){e.city={calendar:{day:0,year:0,weather:2,temp:1,moon:0,wind:0,orbit:r.orbit},biome:r.biome,ptrait:r.ptrait},r.geology&&(e.city.geology=r.geology),e.tech={theology:1},Pn(),e.new=!0,e.seed=Math.rand(0,1e4)}function zn(){let r=fe();e.race.womling_friend?(r!=="m"&&e.stats.womling.friend.l++,r!=="l"&&(e.stats.womling.friend.hasOwnProperty(r)||(e.stats.womling.friend[r]=0),e.stats.womling.friend[r]++)):e.race.womling_lord?(r!=="m"&&e.stats.womling.lord.l++,r!=="l"&&(e.stats.womling.lord.hasOwnProperty(r)||(e.stats.womling.lord[r]=0),e.stats.womling.lord[r]++)):e.race.womling_god&&(r!=="m"&&e.stats.womling.god.l++,r!=="l"&&(e.stats.womling.god.hasOwnProperty(r)||(e.stats.womling.god[r]=0),e.stats.womling.god[r]++)),e.stats.womling.friend.l>0&&e.stats.womling.lord.l>0&&e.stats.womling.god.l>0&&B("overlord",r==="m",ft(),"l"),e.stats.womling.friend[r]>0&&e.stats.womling.lord[r]>0&&e.stats.womling.god[r]>0&&B("overlord",r==="m",ft(),r)}function Li(r){if(e.race.species==="ultra_sludge"){let a=ft(),i=fe();e.stats.death_tour[r][i]c&&(c=e.stats.death_tour[n][o])}),s>c&&(s=c)}),s>0&&oe("grand_death_tour",!1,s)}}var ei={spc_titan:{info:{name(){return A().titan},desc(){return t("space_titan_info_desc",[A().titan,x[e.race.species].home])},support:"electrolysis",zone:"outer",syndicate(){return!!(e.tech.titan&&e.tech.titan>=3&&e.tech.enceladus&&e.tech.enceladus>=2)},syndicate_cap(){return e.tech.triton?e.tech.outer>=4?2e3:1e3:600}},titan_mission:{id:"space-titan_mission",title(){return t("space_mission_title",[A().titan])},desc(){return t("space_mission_desc",[A().titan])},reqs:{outer:1},grant:["titan",1],path:["truepath"],queue_complete(){return e.tech.titan>=1?0:1},cost:{Helium_3(r,a){return+ve(25e4,!1,a).toFixed(0)},Elerium(){return 100}},effect(){return t("space_titan_mission_effect",[A().titan])},action(){return _($(this)[0])?(I(t("space_titan_mission_action",[A().titan,x[e.race.species].home]),"info",!1,["progress"]),!0):!1}},titan_spaceport:{id:"space-titan_spaceport",title:t("space_red_spaceport_title"),desc:`
${t("space_red_spaceport_desc")}
${t("requires_power")}
`,reqs:{titan:1},path:["truepath"],cost:{Money(r){return f("titan_spaceport",r,25e5,1.32)},Lumber(r){return f("titan_spaceport",r,75e4,1.32)},Cement(r){return f("titan_spaceport",r,35e4,1.32)},Mythril(r){return f("titan_spaceport",r,1e4,1.32)}},effect(){let r=e.resource.Water.display?`
${t("plus_max_resource",[X(G(250)),e.resource.Water.name])}
`:"",a=e.tech.enceladus&&e.tech.enceladus>=2?`
+${t("galaxy_alien2_support",[$(this)[0].support(),A().enceladus])}
`:"",i=e.tech.titan&&e.tech.titan>=5?`
${t("space_titan_spaceport_storage",[25])}
`:"";return`${a}${r}${i}
${t("minus_power",[$(this)[0].powered()])}
`},support(){return 2},powered(){return V(10)},action(){return _($(this)[0])?(S("titan_spaceport"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["titan_spaceport","space"]}},post(){e.tech.titan===1&&(e.tech.titan=2,ae())}},electrolysis:{id:"space-electrolysis",title:t("space_electrolysis_title"),desc(){return`
${t("space_electrolysis_title")}
${t("space_electrolysis_req",[e.resource.Water.name])}
`},reqs:{titan:3},path:["truepath"],cost:{Money(r){return f("electrolysis",r,1e6,1.25)},Copper(r){return f("electrolysis",r,185e3,1.25)},Steel(r){return f("electrolysis",r,22e4,1.25)},Polymer(r){return f("electrolysis",r,38e4,1.25)}},effect(r){return`${`
+${t("galaxy_alien2_support",[$(this)[0].support(r),A().titan])}
`}
${t("space_electrolysis_use",[$(this)[0].support_fuel().a,e.resource.Water.name,$(this)[0].powered()])}
`},support(r){return e.tech.titan_ai_core&&e.tech.titan_ai_core>=2&&(r?e.space.ai_core2.on:H.ai_core2)?3:2},support_fuel(){return{r:"Water",a:35}},powered(){return V(8)},action(){return _($(this)[0])?(S("electrolysis"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["electrolysis","space"]}},post(){e.tech.titan===3&&(e.tech.titan=4,ae())}},hydrogen_plant:{id:"space-hydrogen_plant",title:t("space_hydrogen_plant_title"),desc(){return`
${t("space_hydrogen_plant_title")}
${t("space_hydrogen_plant_req")}
`},reqs:{titan_power:1},path:["truepath"],cost:{Money(r){return f("hydrogen_plant",r,15e5,1.28)},Iridium(r){return f("hydrogen_plant",r,292e3,1.28)},Stanene(r){return f("hydrogen_plant",r,599e3,1.28)},Cement(r){return f("hydrogen_plant",r,18e4,1.28)}},effect(){return`${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}, ${t("space_hydrogen_plant_effect",[1,t("space_electrolysis_title")])}`},support(){return 2},powered(){return nt(-22)},action(){return _($(this)[0])?(S("hydrogen_plant"),e.space.electrolysis.on>e.space.hydrogen_plant.on&&e.space.hydrogen_plant.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["hydrogen_plant","space"]}}},titan_quarters:{id:"space-titan_quarters",title:t("interstellar_habitat_title"),desc(){return`
${t("interstellar_habitat_title")}
${t("space_habitat_req",[A().titan,e.resource.Food.name,e.resource.Water.name])}
`},reqs:{titan:4},path:["truepath"],cost:{Money(r){return f("titan_quarters",r,12e5,1.28)},Furs(r){return f("titan_quarters",r,85e3,1.28)},Plywood(r){return f("titan_quarters",r,1e5,1.28)},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=E(1);return`
${t("space_used_support",[A().titan])}
${t("plus_max_resource",[E(1),e.race.truepath?t("job_colonist_tp",[A().titan]):t("colonist")])}
${t("plus_max_resource",[r,t("citizen")])}
${t("spend",[$(this)[0].support_fuel()[0].a,e.resource[$(this)[0].support_fuel()[0].r].name])}
${t("spend",[$(this)[0].support_fuel()[1].a,e.resource[$(this)[0].support_fuel()[1].r].name])}
`},s_type:"titan",support(){return-1},support_fuel(){return[{r:"Water",a:12},{r:"Food",a:500}]},powered(){return 0},action(){if(_($(this)[0])){if(S("titan_quarters"),e.civic.titan_colonist.display=!0,L($(this)[0])){e.resource[e.race.species].max+=E(1);let r=E(1);e.civic.titan_colonist.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.titan_colonist.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["titan_quarters","space"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},titan_mine:{id:"space-titan_mine",title(){return Ce("mine")},desc(){return`
${t("space_red_mine_desc")}
${t("space_support",[A().titan])}
`},reqs:{titan:4},condition(){return!!(e.space.titan_quarters&&e.space.titan_quarters.count>0)},path:["truepath"],cost:{Money(r){return f("titan_mine",r,475e3,1.28)},Lumber(r){return f("titan_mine",r,568e3,1.28)},Wrought_Iron(r){return f("titan_mine",r,25e4,1.28)}},effect(){let r=ie("titan_mine","adamantite"),a=ie("titan_mine","aluminium"),i=+r.toFixed(3),s=+a.toFixed(3);return`
${t("space_used_support",[A().titan])}
${t("space_red_mine_effect",[i,e.resource.Adamantite.name])}
${t("space_red_mine_effect",[s,e.resource.Aluminium.name])}
`},s_type:"titan",support(){return-1},powered(){return 0},special(){return!0},action(){return _($(this)[0])?(S("titan_mine"),e.resource.Adamantite.display=!0,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,ratio:90},p:["titan_mine","space"]}}},storehouse:{id:"space-storehouse",title:t("space_storehouse_title"),desc:t("space_storehouse_title"),reqs:{titan:5},path:["truepath"],cost:{Money(r){return f("storehouse",r,175e3,1.28)},Lumber(r){return f("storehouse",r,1e5,1.28)},Aluminium(r){return f("storehouse",r,12e4,1.28)},Cement(r){return f("storehouse",r,45e3,1.28)}},wide:!0,res(){return["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Steel","Titanium","Alloy","Polymer","Iridium","Chrysotile","Nano_Tube","Neutronium","Adamantite"]},heavy(r){return!!["Copper","Iron","Steel","Titanium","Iridium","Neutronium","Adamantite"].includes(r)},val(r){switch(r){case"Lumber":return 3e3;case"Stone":return 3e3;case"Chrysotile":return 3e3;case"Furs":return 1700;case"Copper":return 1520;case"Iron":return 1400;case"Aluminium":return 1280;case"Cement":return 1120;case"Coal":return 480;case"Steel":return 240;case"Titanium":return 160;case"Alloy":return 180;case"Polymer":return 150;case"Iridium":return 175;case"Nano_Tube":return 120;case"Neutronium":return 64;case"Adamantite":return 72;default:return 0}},effect(r){let a='
',i=ri("storehouse",!1,r),s=ri("storehouse",!0,r);for(let n of $(this)[0].res())if(e.resource[n].display){let c=$(this)[0].heavy(n),o=X(+(G($(this)[0].val(n))*(c?s:i)).toFixed(0),1);a=a+`${t("plus_max_resource",[o,e.resource[n].name])}`}return a=a+"
",a},action(){if(_($(this)[0])){S("storehouse");let r=ri("storehouse",!1),a=ri("storehouse",!0);for(let i of $(this)[0].res())if(e.resource[i].display){let s=$(this)[0].heavy(i);e.resource[i].max+=G($(this)[0].val(i))*(s?a:r)}return!0}return!1},struct(){return{d:{count:0},p:["storehouse","space"]}}},titan_bank:{id:"space-titan_bank",title:t("city_bank"),desc(){return t("city_bank_desc",[A().titan])},reqs:{titan:6},path:["truepath"],cost:{Money(r){return f("titan_bank",r,25e5,1.32)},Titanium(r){return f("titan_bank",r,38e4,1.32)},Neutronium(r){return f("titan_bank",r,5e3,1.32)}},effect(){let r=kr()*2;return r=G(r),r=(+r.toFixed(0)).toLocaleString(),t("plus_max_resource",[`$${r}`,t("resource_Money_name")])},action(){return _($(this)[0])?(e.resource.Money.max+=G(1800),S("titan_bank"),!0):!1},struct(){return{d:{count:0},p:["titan_bank","space"]}}},g_factory:{id:"space-g_factory",title:t("interstellar_g_factory_title"),desc(){return`
${t("interstellar_g_factory_title")}
${t("space_support",[A().titan])}
`},reqs:{graphene:1},path:["truepath"],cost:{Money(r){return f("g_factory",r,95e4,1.28)},Copper(r){return f("g_factory",r,165e3,1.28)},Stone(r){return f("g_factory",r,22e4,1.28)},Adamantite(r){return f("g_factory",r,12500,1.28)}},effect(){let r=.05;return e.race.high_pop&&(r=+he(r).toFixed(3)),`
${t("space_used_support",[A().titan])}
${t("space_red_mine_effect",[r,e.resource.Graphene.name])}
${t("interstellar_g_factory_effect")}
`},s_type:"titan",support(){return-1},powered(){return 0},special:!0,action(){return _($(this)[0])?(S("g_factory"),e.resource.Graphene.display=!0,L($(this)[0])&&(e.race.kindling_kindred||e.race.smoldering?e.space.g_factory.Oil++:e.space.g_factory.Lumber++),e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,on:0,Lumber:0,Coal:0,Oil:0},p:["g_factory","space"]}}},sam:{id:"space-sam",title:t("space_sam_title"),desc(){return`
${t("space_sam_desc")}
${t("requires_power")}
`},reqs:{titan:7},path:["truepath"],cost:{Money(r){return f("sam",r,25e5,1.28)},Steel(r){return f("sam",r,45e4,1.28)},Elerium(r){return f("sam",r,120,1.28)},Brick(r){return f("sam",r,16e4,1.28)}},effect(){return`
${t("galaxy_defense_platform_effect",[25])}
`+`
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(5)},action(){return _($(this)[0])?(S("sam"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["sam","space"]}},post(){C({el:"#spc_titansynd"},"update")}},decoder:{id:"space-decoder",title:t("space_decoder_title"),desc(){return`
${t("space_decoder_title")}
${t("requires_power_support_combo",[A().titan,e.resource.Cipher.name])}
`},reqs:{titan:8},path:["truepath"],cost:{Money(r){return f("decoder",r,125e5,1.275)},Elerium(r){return f("decoder",r,750,1.275)},Orichalcum(r){return f("decoder",r,33e4,1.275)},Quantium(r){return f("decoder",r,18e4,1.275)}},effect(r){let a=$(this)[0].support_fuel().a,i=2500;e.race.high_pop&&(i=he(i)),(r?e.space?.ai_core2?.on??0:H.ai_core2)&&(i*=1.25);let s=`
${t("space_used_support",[A().titan])}
`;return s+=`
${t("space_red_exotic_lab_effect1",[i])}
`,s+`
${t("spend",[a,e.resource[$(this)[0].support_fuel().r].name])}
`},s_type:"titan",support(){return-1},powered(){return 0},support_fuel(){return{r:"Cipher",a:.06}},action(){return _($(this)[0])?(S("decoder"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["decoder","space"]}}},ai_core:{id:"space-ai_core",title:t("space_ai_core"),desc(r){return!e.space.hasOwnProperty("ai_core")||e.space.ai_core.count<100||r?`
${t("space_ai_core")}
${t("requires_segments",[100])}
`+(e.space.hasOwnProperty("ai_core")&&e.space.ai_core.count>=100?`
${t("requires_power")}
`:""):`
${t("space_ai_core")}
`},reqs:{titan:9},path:["truepath"],condition(){return!(e.space.ai_core.count>=100)},queue_size:10,queue_complete(){return 100-e.space.ai_core.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?25e5:0},Cement(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?18e4:0},Aluminium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?25e4:0},Elerium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?250:0},Nano_Tube(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?125e3:0},Orichalcum(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?5e4:0},Quantium(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?1e5:0},Cipher(r){return(r||0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0)<100?750:0}},effect(r){let a=`
${t("space_ai_core_effect")}
`,i=(r?.count??0)+(e.space.hasOwnProperty("ai_core")?e.space.ai_core.count:0);if(i<100){let s=100-i;a+=`
${t("space_dwarf_collider_effect2",[s])}
`}else return ei.spc_titan.ai_core2.effect(r);return a},action(){return _($(this)[0])&&e.space.ai_core.count<100?(S("ai_core"),e.space.ai_core.count>=100&&(e.tech.titan_ai_core=1,e.space.ai_core2={count:1,on:0},L($(ei.spc_titan.ai_core2)[0]),St(),ae(),e.city.ptrait.includes("kamikaze")&&!e.race.tidal_decay&&I(t("planet_kamikaze_stabilize",[x[e.race.species].home,100]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0},p:["ai_core","space"]}}},ai_core2:{id:"space-ai_core2",title:t("space_ai_core"),desc(){return`
${t("space_ai_core")}
${t("space_electrolysis_req",[e.resource[$(this)[0].p_fuel().r].name])}
`},reqs:{titan_ai_core:1},path:["truepath"],condition(){return!!(e.space.hasOwnProperty("ai_core")&&e.space.ai_core.count>=100)},wiki:!1,queue_complete(){return 0},cost:{},powered(){return V(100)},p_fuel(){return{r:"Water",a:1e3}},effect(r){let a=25,i=`
${t("interstellar_citadel_stat",[+Cr(r).toFixed(1)])}
`;if(i+=`
${t("interstellar_citadel_effect",[a])}
${t("space_ai_core_effect2",[a])}
`,e.tech.titan_ai_core&&e.tech.titan_ai_core>=2&&(i+=`
${t("space_ai_core_effect3",[50])}
`),i+=`
${t("space_electrolysis_use",[$(this)[0].p_fuel().a,e.resource[$(this)[0].p_fuel().r].name,$(this)[0].powered()])}
`,e.tech.titan_ai_core&&e.tech.titan_ai_core>=3){let s=+mu(r).toFixed(1);i+=`
${t("space_ai_core_effect4",[s])}
`}return i},action(){return!1},flair(){return e.space.hasOwnProperty("ai_core2")&&e.space.ai_core2.on>=1?t("space_ai_core_flair"):t("space_ai_core_flair2")}},ai_colonist:{id:"space-ai_colonist",title:t("space_ai_colonist_title"),desc(){return`
${t("space_ai_colonist_title")}
${t("requires_power")}
`},reqs:{titan_ai_core:3},path:["truepath"],cost:{Money(r){return f("ai_colonist",r,112e6,1.35)},Alloy(r){return f("ai_colonist",r,75e4,1.35)},Elerium(r){return f("ai_colonist",r,500,1.35)},Nano_Tube(r){return f("ai_colonist",r,525e3,1.35)},Quantium(r){return f("ai_colonist",r,15e4,1.35)},Cipher(r){return f("ai_colonist",r,1e4,1.35)}},effect(){return`
${t("plus_max_resource",[E(1),e.race.truepath?t("job_colonist_tp",[A().titan]):t("colonist")])}
${t("space_ai_colonist_effect",[E(1),A().titan])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(10)},action(){return _($(this)[0])?(S("ai_colonist"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["ai_colonist","space"]}},flair:t("tech_combat_droids_flair")},wonder_gardens:{id:"space-wonder_gardens",title(){return t("space_wonder_gardens",[A().titan])},desc(){return t("space_wonder_gardens",[A().titan])},reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.space.wonder_gardens)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}}},spc_enceladus:{info:{name(){return A().enceladus},desc(){return t("space_enceladus_info_desc",[A().enceladus,x[e.race.species].home])},support:"titan_spaceport",zone:"outer",syndicate(){return!!(e.tech.titan&&e.tech.titan>=3&&e.tech.enceladus&&e.tech.enceladus>=2)},syndicate_cap(){return e.tech.triton?e.tech.outer>=4?1500:1e3:600}},enceladus_mission:{id:"space-enceladus_mission",title(){return t("space_mission_title",[A().enceladus])},desc(){return t("space_mission_desc",[A().enceladus])},reqs:{outer:1},grant:["enceladus",1],path:["truepath"],queue_complete(){return e.tech.enceladus>=1?0:1},cost:{Helium_3(r,a){return+ve(25e4,!1,a).toFixed(0)},Elerium(){return 100}},effect(){return t("space_titan_mission_effect",[A().enceladus])},action(){return _($(this)[0])?(I(t("space_enceladus_mission_action",[A().enceladus]),"info",!1,["progress"]),e.resource.Water.display=!0,!0):!1}},water_freighter:{id:"space-water_freighter",title:t("space_water_freighter_title"),desc(){return`
${t("space_water_freighter_title")}
${t("space_support",[A().enceladus])}
`},reqs:{enceladus:2},path:["truepath"],cost:{Money(r){return f("water_freighter",r,45e4,1.25)},Iron(r){return f("water_freighter",r,362e3,1.25)},Nano_Tube(r){return f("water_freighter",r,125e3,1.25)},Sheet_Metal(r){return f("water_freighter",r,75e3,1.25)}},effect(r){let a=+ve(5,!0,r).toFixed(2),i=+ie("water_freighter").toFixed(2);return`
${t("space_used_support",[A().enceladus])}
${t("produce",[i,e.resource.Water.name])}
${t("space_belt_station_effect3",[a])}
`},s_type:"enceladus",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("water_freighter"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["water_freighter","space"]}}},zero_g_lab:{id:"space-zero_g_lab",title:t("tech_zero_g_lab"),desc(){return`
${t("tech_zero_g_lab")}
${t("requires_power_support",[A().enceladus])}
`},reqs:{enceladus:3},path:["truepath"],cost:{Money(r){return f("zero_g_lab",r,5e6,1.25)},Alloy(r){return f("zero_g_lab",r,125e3,1.25)},Graphene(r){return f("zero_g_lab",r,225e3,1.25)},Stanene(r){return f("zero_g_lab",r,6e5,1.25)}},effect(){let r=Wr("spc_enceladus"),a=Math.round(1e4*r),i=`
${t("space_used_support",[A().enceladus])}
${t("city_max_knowledge",[a])}
`;return e.resource.Quantium.display&&(i=i+`
${t("space_zero_g_lab_effect",[E(1)])}
`),e.resource.Cipher.display&&(i=i+`
${t("plus_max_resource",[1e4,e.resource.Cipher.name])}
`),i+`
${t("minus_power",[$(this)[0].powered()])}
`},s_type:"enceladus",support(){return-1},powered(){return V(12)},action(){return _($(this)[0])?(S("zero_g_lab"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["zero_g_lab","space"]}},post(){gt()},postPower(r){Bi("Quantium")}},operating_base:{id:"space-operating_base",title:t("tech_operating_base"),desc(){return`
${t("tech_operating_base")}
${t("requires_power_support",[A().enceladus])}
`},reqs:{enceladus:4},path:["truepath"],cost:{Money(r){return f("operating_base",r,75e5,1.3)},Furs(r){return f("operating_base",r,5e5,1.3)},Adamantite(r){return f("operating_base",r,375e3,1.3)},Stanene(r){return f("operating_base",r,75e4,1.3)},Mythril(r){return f("operating_base",r,225e3,1.3)},Horseshoe(){return e.race.hooved?4:0}},effect(){let r=`
${t("space_used_support",[A().enceladus])}
`;if(r+=`
${t("galaxy_defense_platform_effect",[50])}
`,r+=t("plus_max_resource",[$(this)[0].soldiers(),t("civics_garrison_soldiers")]),e.race.orbit_decayed){let a=e.tech.medic*5;r+=`
${t("city_hospital_effect",[a])}
`}return r+`
${t("minus_power",[$(this)[0].powered()])}
`},s_type:"enceladus",support(){return-1},powered(){return V(10)},action(){return _($(this)[0])?(S("operating_base"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["operating_base","space"]}},soldiers(){let r=e.race.grenadier?3:4;return E(r)},post(){C({el:"#spc_enceladussynd"},"update")}},munitions_depot:{id:"space-munitions_depot",title:t("tech_munitions_depot"),desc:t("tech_munitions_depot"),category:"storage",era:"solar",reqs:{enceladus:5},path:["truepath"],cost:{Money(r){return f("munitions_depot",r,5e6,1.22)},Iron(r){return f("munitions_depot",r,185e3,1.22)},Sheet_Metal(r){return f("munitions_depot",r,1e5,1.22)}},effect(){let r=25;return`
${t("plus_max_crates",[r])}
${t("plus_max_containers",[r])}
`},action(){return _($(this)[0])?(S("munitions_depot"),e.resource.Crates.max+=25,e.resource.Containers.max+=25,e.resource.Containers.display||wr(),!0):!1},struct(){return{d:{count:0},p:["munitions_depot","space"]}}}},spc_triton:{info:{name(){return A().triton},desc(){return t("space_triton_info_desc",[A().triton,x[e.race.species].home])},zone:"outer",syndicate(){return!!(e.tech.triton&&e.tech.triton>=2)},syndicate_cap(){return e.tech.outer&&e.tech.outer>=4?5e3:3e3},extra(r){e.tech.triton&&e.tech.triton>=3&&($(`#${r}`).append(`
${t("space_ground_resist")}
`),C({el:`#${r}resist`,data:e.space.fob,methods:{threat(a,i){let s=e.civic.garrison.wounded-we();s<0&&(s=0);let n=+(a-Qe(i,"army",s)).toFixed(0);return n<0?0:n}}}))}},triton_mission:{id:"space-triton_mission",title(){return t("space_mission_title",[A().triton])},desc(){return t("space_mission_desc",[A().triton])},reqs:{outer:2},grant:["triton",1],path:["truepath"],queue_complete(){return e.tech.triton>=1?0:1},cost:{Helium_3(r,a){return+ve(6e5,!1,a).toFixed(0)},Elerium(){return 2500}},effect(){return t("space_triton_mission_effect",[A().triton])},action(){return _($(this)[0])?(I(t("space_triton_mission_action",[A().triton]),"info",!1,["progress"]),e.space.syndicate.spc_triton=1250,e.space.syndicate.spc_titan+=250,e.space.syndicate.spc_enceladus+=250,!0):!1}},fob:{id:"space-fob",title:t("space_fob_title"),desc(){return`
${t("tech_fob")}
${t("requires_power_combo",[e.resource.Helium_3.name])}
`},reqs:{triton:2},path:["truepath"],queue_complete(){return 1-e.space.fob.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,25e7,1.1)},Copper(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,8e6,1.1)},Uranium(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,5e4,1.1)},Nano_Tube(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,25e5,1.1)},Graphene(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,3e6,1.1)},Sheet_Metal(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,75e5,1.1)},Quantium(r){return(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)>=1?0:f("fob",r,5e5,1.1)},Horseshoe(r){return e.race.hooved&&(r||0)+(e.space.hasOwnProperty("fob")?e.space.fob.count:0)<1?10:0}},effect(r){let a=we(),i=we(!0),s=`
${t("galaxy_defense_platform_effect",[500])}
`;s+=t("plus_max_resource",[$(this)[0].soldiers(),t("civics_garrison_soldiers")]),s+=`
${t("civics_garrison_soldiers")}: ${a} / ${i}
`,s+=`
${t("civics_garrison_wounded")}: ${e.civic.garrison?e.civic.garrison.wounded:0}
`,s+=`
${t("space_fob_landed",[e.space.fob?e.space.fob.troops:0])}
`;let n=+ve(125,!0,r).toFixed(2);return s+`
${t("requires_power_combo_effect",[$(this)[0].powered(),n,e.resource.Helium_3.name])}
`},powered(){return V(50)},action(){return e.space.fob.count<1&&_($(this)[0])?(S("fob"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,troops:0,enemy:0},p:["fob","space"]}},soldiers(){let r=e.race.grenadier?6:10;return E(r)},post(){e.tech.triton===2&&(e.tech.triton=3,ae(),St(),I(t("space_fob_msg"),"info",!1,["progress"]))}},lander:{id:"space-lander",title:t("space_lander_title"),desc(){return`
${t("space_lander_title")}
${t("requires_soldiers")}
${t("space_red_space_barracks_desc_req")}
`},reqs:{triton:3},path:["truepath"],cost:{Money(r){return f("lander",r,24e5,1.15)},Aluminium(r){return f("lander",r,185e3,1.15)},Neutronium(r){return f("lander",r,1e4,1.15)},Nano_Tube(r){return f("lander",r,158e3,1.15)}},powered(){return 0},effect(r){let a=+ve(50,!0,r).toFixed(2),i="";return e.space.crashed_ship&&e.space.crashed_ship.count===100&&(i=`
${t("space_lander_effect3",[ie("lander"),e.resource.Cipher.name])}
`),`
${t("space_lander_effect",[A().triton])}
${i}
${t("space_lander_effect2",[E(3)])}
${t("space_red_space_barracks_effect2",[a])}
`},action(){return _($(this)[0])?(S("lander"),e.space.lander.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["lander","space"]}}},crashed_ship:{id:"space-crashed_ship",title:t("space_crashed_ship_title"),desc(){return`
${t("space_crashed_ship_title")}
`},reqs:{triton:3},path:["truepath"],queue_complete(){return 0},cost:{},effect(){let r=e.space.crashed_ship?e.space.crashed_ship.count:0;return`
${t("space_crashed_ship_effect",[r])}
`},action(){return!1},struct(){return{d:{count:0},p:["crashed_ship","space"]}}}},spc_kuiper:{info:{name(){return t("space_kuiper_title")},desc(){return t("space_kuiper_desc")},zone:"outer",syndicate(){return!!e.tech.kuiper},syndicate_cap(){return 2500}},kuiper_mission:{id:"space-kuiper_mission",title(){return t("space_mission_title",[t("space_kuiper_title")])},desc(){return t("space_mission_desc",[t("space_kuiper_title")])},reqs:{outer:7},grant:["kuiper",1],path:["truepath"],queue_complete(){return e.tech.kuiper>=1?0:1},cost:{Helium_3(r,a){return+ve(1e6,!1,a).toFixed(0)},Elerium(){return 1e3}},effect(){return t("space_kuiper_mission_effect")},action(){return _($(this)[0])?(y(ei.spc_kuiper.orichalcum_mine),y(ei.spc_kuiper.uranium_mine),y(ei.spc_kuiper.neutronium_mine),e.space.syndicate.spc_kuiper=500,I(t("space_kuiper_mission_action"),"info",!1,["progress"]),!0):!1}},orichalcum_mine:{id:"space-orichalcum_mine",title(){return t("space_kuiper_mine",[e.resource.Orichalcum.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Orichalcum.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return f("orichalcum_mine",r,25e6,1.25)},Graphene(r){return f("orichalcum_mine",r,9e5,1.25)},Elerium(r){return f("orichalcum_mine",r,200,1.25)},Mythril(r){return f("orichalcum_mine",r,45e4,1.25)},Quantium(r){return f("orichalcum_mine",r,15e4,1.25)}},effect(r){let a=+ie("orichalcum_mine").toFixed(3),i=+ve($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Orichalcum_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return V(10)},p_fuel(){return{r:"Oil",a:200}},action(){return _($(this)[0])?(S("orichalcum_mine"),e.resource.Orichalcum.display=!0,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["orichalcum_mine","space"]}}},uranium_mine:{id:"space-uranium_mine",title(){return t("space_kuiper_mine",[e.resource.Uranium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Uranium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return f("uranium_mine",r,5e6,1.25)},Iridium(r){return f("uranium_mine",r,25e4,1.25)},Steel(r){return f("uranium_mine",r,62e4,1.25)}},effect(r){let a=+ie("uranium_mine").toFixed(3),i=+ve($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Uranium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return V(5)},p_fuel(){return{r:"Oil",a:60}},action(){return _($(this)[0])?(S("uranium_mine"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["uranium_mine","space"]}}},neutronium_mine:{id:"space-neutronium_mine",title(){return t("space_kuiper_mine",[e.resource.Neutronium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Neutronium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:1},path:["truepath"],cost:{Money(r){return f("neutronium_mine",r,8e6,1.25)},Adamantite(r){return f("neutronium_mine",r,65e4,1.25)},Stanene(r){return f("neutronium_mine",r,125e4,1.25)}},effect(r){let a=+ie("neutronium_mine").toFixed(3),i=+ve($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Neutronium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return V(8)},p_fuel(){return{r:"Oil",a:60}},action(){return _($(this)[0])?(S("neutronium_mine"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["neutronium_mine","space"]}}},elerium_mine:{id:"space-elerium_mine",title(){return t("space_kuiper_mine",[e.resource.Elerium.name])},desc(){return`
${t("space_kuiper_mine",[e.resource.Elerium.name])}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{kuiper:2},path:["truepath"],cost:{Money(r){return f("elerium_mine",r,2e7,1.25)},Titanium(r){return f("elerium_mine",r,25e4,1.25)},Neutronium(r){return f("elerium_mine",r,12e4,1.25)},Orichalcum(r){return f("elerium_mine",r,175e3,1.25)}},effect(r){let a=+ie("elerium_mine").toFixed(3),i=+ve($(this)[0].p_fuel().a,!0,r).toFixed(1);return`
${t("gain",[a,t("resource_Elerium_name")])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),i,e.resource[$(this)[0].p_fuel().r].name])}
`},powered(){return V(12)},p_fuel(){return{r:"Oil",a:125}},action(){return _($(this)[0])?(S("elerium_mine"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_mine","space"]}}}},spc_eris:{info:{name(){return A().eris},desc(){return t("space_eris_info_desc",[A().eris])},support:"drone_control",zone:"outer",syndicate(){return!!e.tech.eris},syndicate_cap(){return 7500},extra(r){e.tech.eris&&e.tech.eris===1&&($(`#${r}`).append(`
${t("space_scanned")} {{ eris_scan }}%
`),C({el:`#${r}scanned`,data:e.tech}))}},eris_mission:{id:"space-eris_mission",title(){return t("space_mission_title",[A().eris])},desc(){return t("space_mission_desc",[A().eris])},reqs:{outer:7},grant:["eris",1],path:["truepath"],queue_complete(){return e.tech.eris>=1?0:1},cost:{Helium_3(r,a){return+ve(125e4,!1,a).toFixed(0)},Elerium(){return 1250}},effect(){return t("space_eris_mission_effect",[A().eris])},action(){return _($(this)[0])?(e.space.syndicate.spc_eris=4e3,I(t("space_eris_mission_action",[A().eris]),"info",!1,["progress"]),!0):!1}},drone_control:{id:"space-drone_control",title(){return t("space_drone_control",[A().titan])},desc(){return`
${t("space_drone_control",[A().titan])}
${t("requires_power_combo",[e.resource[$(this)[0].p_fuel().r].name])}
`},reqs:{eris:3},path:["truepath"],cost:{Money(r){return f("drone_control",r,75e6,1.3)},Neutronium(r){return f("drone_control",r,1e5,1.3)},Stanene(r){return f("drone_control",r,45e4,1.3)},Quantium(r){return f("drone_control",r,3e5,1.3)}},effect(){let r=$(this)[0].p_fuel().a;return`
+${t("galaxy_alien2_support",[$(this)[0].support(),A().eris])}
`+`
${t("requires_power_combo_effect",[$(this)[0].powered(),r,e.resource[$(this)[0].p_fuel().r].name])}
`},support(){return 5},powered(){return V(25)},p_fuel(){return{r:"Uranium",a:5}},action(){return _($(this)[0])?(S("drone_control"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["drone_control","space"]}}},shock_trooper:{id:"space-shock_trooper",title:t("space_shock_trooper_title"),desc(){return`
${t("space_shock_trooper_title")}
${t("space_support",[A().eris])}
`},reqs:{eris:3},path:["truepath"],cost:{Money(r){return f("shock_trooper",r,425e4,1.225)},Polymer(r){return f("shock_trooper",r,375e3,1.225)},Adamantite(r){return f("shock_trooper",r,5e5,1.225)},Graphene(r){return f("shock_trooper",r,22e4,1.225)},Elerium(r){return f("shock_trooper",r,350,1.225)}},effect(){let r=Math.round(Qe(1,"army",0)*Wr("spc_eris")),a=`
${t("space_used_support",[A().eris])}
`;return e.space.digsite&&e.space.digsite.count===100&&(a=`
${t("space_lander_effect3",[ie("shock_trooper"),e.resource.Cipher.name])}
`),a+`
${t("space_digsite_offense",[r])}
`},s_type:"eris",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("shock_trooper"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["shock_trooper","space"]}}},tank:{id:"space-tank",title:t("space_tank_title"),desc(){return`
${t("space_tank_title")}
${t("space_support",[A().eris])}
`},reqs:{eris:4},path:["truepath"],cost:{Money(r){return f("tank",r,1e8,1.25)},Alloy(r){return f("tank",r,125e4,1.25)},Orichalcum(r){return f("tank",r,6e5,1.25)},Mythril(r){return f("tank",r,5e5,1.25)},Uranium(r){return f("tank",r,25e3,1.25)}},effect(){let r=Math.round(100*Wr("spc_eris")),a=`
${t("space_used_support",[A().eris])}
`;return e.space.digsite&&e.space.digsite.count===100&&(a=`
${t("space_lander_effect3",[ie("tank"),e.resource.Cipher.name])}
`),a+`
${t("space_digsite_offense",[r])}
`},s_type:"eris",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("tank"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tank","space"]}}},digsite:{id:"space-digsite",title:t("space_digsite_title"),desc(){return`
${t("space_digsite_title")}
`},reqs:{eris:3},path:["truepath"],queue_complete(){return 0},cost:{},effect(){let r=e.space.digsite?e.space.digsite.count:0;return`
${t("space_crashed_ship_effect",[r])}
`},action(){return!1},struct(){return{d:{count:0,enemy:1e4},p:["digsite","space"]}}}}},le={tau_star:{info:{name(){return t("tab_tauceti")},desc(){return t("tau_star",[t("tab_tauceti"),t("space_sun_info_name")])}},ringworld:{id:"tauceti-ringworld",title:t("tau_star_ringworld"),desc(r){return!e.tauceti.hasOwnProperty("ringworld")||e.tauceti.ringworld.count<1e3||r?`
${t("tau_star_ringworld")}
${t("requires_segments",[1e3])}
`:`
${t("tau_star_ringworld")}
`},reqs:{matrix:2},path:["truepath"],queue_size:50,queue_complete(){return 1e3-e.tauceti.ringworld.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?1e7:1e8:0},Neutronium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?2e4:1e5:0},Nano_Tube(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?7e4:35e4:0},Adamantite(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?2e5:1e6:0},Bolognium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?17600:88e3:0},Orichalcum(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?25e3:125e3:0},Unobtainium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?e.race.lone_survivor?360:1800:0},Quantium(r){return(r||0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0)<1e3?yr(e.race.lone_survivor?10100:101e3):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("ringworld")?e.tauceti.ringworld.count:0);if(i<1e3){let s=1e3-i;a+=`
${t("tau_star_ringworld_effect")}
`,a+=`
${t("space_dwarf_collider_effect2",[s])}
`}else a+=`
${t("space_dwarf_reactor_effect1",[e.race.lone_survivor?100:1e4])}
`;return a},action(){return _($(this)[0])&&e.tauceti.ringworld.count<1e3?(S("ringworld","tauceti"),e.tauceti.ringworld.count>=1e3&&(e.race.lone_survivor?e.tech.eden=1:(e.tech.matrix=3,e.tauceti.matrix={count:1,on:0}),br(),ue()),!0):!1},struct(){return{d:{count:0},p:["ringworld","tauceti"]}}},matrix:{id:"tauceti-matrix",title:t("tau_star_matrix"),desc(){return`
${t("tau_star_matrix")}
${t("requires_power")}
`},reqs:{matrix:3},condition(){return e.tauceti.ringworld.count>=1e3},queue_complete(){return 0},cost:{},powered(){return 1e4},postPower(r){r?setTimeout(function(){e.tech.matrix=H.matrix?4:3,br()},250):(e.tech.matrix=3,br())},effect(){let r=so(),a=$(this)[0].powered(),i=a>0?`
${t("minus_power",[a])}
`:"";return`
${t("tau_star_matrix_effect")}
${r}${i}`},action(){return!1}},blue_pill:{id:"tauceti-blue_pill",title:t("tau_star_blue_pill"),desc:t("tau_star_blue_pill"),wiki:!1,reqs:{matrix:4},queue_complete(){return 0},no_multi:!0,cost:{},effect(){let r=so();return`
${t("tau_star_blue_pill_effect")}
${r}`},action(){if(_($(this)[0])){let o=function(){a.fillStyle="#0001",a.fillRect(0,0,i,s),a.fillStyle="#0f0",a.font="15pt monospace",c.forEach((l,u)=>{let p=String.fromCharCode(Math.rand(65382,65438)),h=u*20;a.fillText(p,h,l),l>100+Math.random()*1e4?c[u]=0:c[u]=l+20})};$("body").append('');let r=document.getElementById("matrix"),a=r.getContext("2d"),i=r.width=document.body.offsetWidth,s=r.height=document.body.offsetHeight,n=Math.floor(i/20)+1,c=Array(n).fill(0);return setInterval(o,50),setTimeout(function(){ro()},5e3),!0}return!1}},goe_facility:{id:"tauceti-goe_facility",title:t("tau_star_goe_facility"),desc(){return`
${t("tau_star_goe_facility")}
`},reqs:{eden:2},condition(){return e.tauceti.ringworld.count>=1e3},queue_complete(){return 0},cost:{Money(r){return 1e6},Copper(r){return 1e7},Graphene(r){return 5e6},Stanene(r){return 8e6},Elerium(r){return 1e4}},effect(){let r=lu();return`
${t("tau_star_goe_facility_effect")}
${r}`},action(){if(_($(this)[0])){let r=Ct(le.tau_star.goe_facility);return Object.keys(r).forEach(function(a){e.resource[a].amount+=r[a]()}),io(),!1}return!1},struct(){return{d:{count:0},p:["goe_facility","tauceti"]}}}},tau_home:{info:{name(){return t("tau_planet",[x[e.race.species].home])},desc(){return t("tau_home",[x[e.race.species].home])},support:"orbital_station",extra(r){e.tech.tau_home&&e.tech.tau_home>=2&&!Yt()&&($(`#${r}`).append(`
${t("resource_Materials_name")} {{ amount | round | locale }} / {{ max | locale }}
`),C({el:`#${r}Mats`,data:e.resource.Materials,methods:{tauShow(){return!Yt()}},filters:{round(a){return+a.toFixed(0)},locale(a){return a.toLocaleString()}}}))}},home_mission:{id:"tauceti-home_mission",title(){return t("tau_new_mission_title",[x[e.race.species].home])},desc(){return t("tau_new_mission_title",[x[e.race.species].home])},reqs:{tauceti:2},grant:["tau_home",1],path:["truepath"],queue_complete(){return e.tech.tau_home>=1?0:1},cost:{Money(){return 1e9}},effect(){return t("tau_new_mission_effect",[x[e.race.species].home])},action(){return _($(this)[0])?(y(le.tau_home.colony),y(le.tau_home.mining_pit),I(t("tau_home_mission_result",[x[e.race.species].home]),"info",!1,["progress"]),!0):!1}},dismantle:{id:"tauceti-dismantle",title(){return t("tau_home_dismantle")},desc(){return t("tau_home_dismantle")},reqs:{tau_home:1},grant:["tau_home",2],path:["truepath"],queue_complete(){return e.tech.tau_home>=2?0:1},cost:{Money(){return 1e8}},effect(){let r="Explorer";if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")){let a=e.space.shipyard.ships.findIndex(i=>i.location==="tauceti"&&i.class==="explorer");a!==-1&&(r=e.space.shipyard.ships[a].name)}return t("tau_home_dismantle_effect",[r])},action(){let r=-1;if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")&&(r=e.space.shipyard.ships.findIndex(a=>a.location==="tauceti"&&a.class==="explorer")),r>=0&&_($(this)[0])){if(e.space.shipyard.ships.splice(r,1),S("orbital_station","tauceti"),S("colony","tauceti"),S("mining_pit","tauceti"),e.civic.pit_miner.display=!0,e.resource.Materials.display=!0,L($(le.tau_home.orbital_station)[0])){e.tauceti.colony.on++,e.tauceti.mining_pit.on++;let a=$(le.tau_home.mining_pit)[0].workers();e.civic.pit_miner.max+=a;let i=Math.min(a,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=i,e.civic.pit_miner.workers+=i}return e.settings.tabLoad&&Ba(),!0}return!1}},orbital_station:{id:"tauceti-orbital_station",title:t("tau_home_orbital_station"),desc:`
${t("tau_home_orbital_station")}
${t("requires_power")}
`,reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return f("orbital_station",r,8e7,1.3,"tauceti")},Materials(r){return Yt()?0:f("orbital_station",r,5e5,1.3,"tauceti")},Helium_3(r){return Yt()?f("orbital_station",r,ye(25e4),1.3,"tauceti"):0},Copper(r){return Yt()?f("orbital_station",r,125e4,1.3,"tauceti"):0},Adamantite(r){return Yt()?f("orbital_station",r,9e5,1.3,"tauceti"):0}},effect(){let r=G(15e3),a=+ye($(this)[0].support_fuel().a).toFixed(1),i=`
${t("space_red_spaceport_effect1",[t("tau_planet",[x[e.race.species].home]),$(this)[0].support()])}
`;return i=i+`
${t("plus_max_resource",[r.toLocaleString(),e.resource.Helium_3.name])}
`,i=i+`
${t("spend_power",[a,e.resource[$(this)[0].support_fuel().r].name,$(this)[0].powered()])}
`,i},support_fuel(){return{r:"Helium_3",a:e.tech.isolation?e.race.lone_survivor?5:25:400}},support(){return 3},powered(){return V(e.tech.isolation?e.race.lone_survivor?4:6:30)},refresh:!0,action(){return _($(this)[0])?(S("orbital_station","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["orbital_station","tauceti"]}}},colony:{id:"tauceti-colony",title:t("tau_home_colony"),desc(){return`
${t("tau_home_colony_desc",[x[e.race.species].home])}
${t("requires_power_support_combo",[x[e.race.species].home,e.resource.Food.name])}
`},reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return f("colony",r,1575e4,1.225,"tauceti")},Materials(r){return Yt()?0:f("colony",r,65e4,1.225,"tauceti")},Furs(r){return Yt()?f("colony",r,72e4,1.225,"tauceti"):0},Graphene(r){return Yt()?f("colony",r,485e3,1.225,"tauceti"):0},Brick(r){return Yt()?f("colony",r,yr(88e4),1.225,"tauceti"):0}},effect(){let r=$(this)[0].citizens(),a=e.tech.isolation?900:250,i=+$(this)[0].support_fuel().a.toFixed(1),s=`
${t("tau_new_support",[$(this)[0].support(),x[e.race.species].home])}
`;if(e.race.lone_survivor||(s=s+`
${t("plus_max_citizens",[r])}
`),e.tech.isolation){let n=kr()*25;n=G(n),n=(+n.toFixed(0)).toLocaleString(),s=s+`
${t("plus_max_resource",[`$${n}`,t("resource_Money_name")])}
`}if(s=s+`
${t("tau_home_colony_effect",[50,x[e.race.species].home])}
`,e.tech.isolation){let n=Q("gaslighter",0),c=(n?n+e.tech.broadcast:e.tech.broadcast)*2;s=s+`
${t("space_red_vr_center_effect1",[c])}
`}return s=s+`
${t("plus_max_resource",[a,t("resource_Crates_name")])}
${t("plus_max_resource",[a,t("resource_Containers_name")])}
`,e.race.lone_survivor?s=s+`
${t("gain",[-i,e.resource[$(this)[0].support_fuel().r].name])}
`:s=s+`
${t("spend",[i,e.resource[$(this)[0].support_fuel().r].name])}
`,s},s_type:"tau_home",support(){return-2},support_fuel(){return{r:"Food",a:e.tech.isolation?e.race.lone_survivor?-2:75:1e3}},powered(){return 0},action(){return _($(this)[0])?(S("colony","tauceti"),L($(this)[0]),e.resource.Containers.display||wr(),!0):!1},struct(){return{d:{count:0,on:0},p:["colony","tauceti"]}},citizens(){let r=e.tech.isolation?8:5;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),e.race.lone_survivor?0:r}},tau_housing:{id:"tauceti-tau_housing",title(){return Oe("small")},desc(){return $(this)[0].citizens()===1?t("city_basic_housing_desc"):t("city_basic_housing_desc_plural",[$(this)[0].citizens()])},category:"residential",reqs:{housing:1,isolation:1},condition(){return!e.race.lone_survivor},cost:{Money(r){return f("tau_housing",r,15e4,1.15,"tauceti")},Lumber(r){return e.race.kindling_kindred||e.race.smoldering?0:f("tau_housing",r,125e3,1.25,"tauceti")},Stone(r){return e.race.kindling_kindred?f("tau_housing",r,125e3,1.25,"tauceti"):0},Chrysotile(r){return e.race.smoldering?f("tau_housing",r,5e4,1.25,"tauceti"):0},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=$(this)[0].citizens();return e.race.sappy?`
${t("plus_max_resource",[r,t("citizen")])}
${t("city_grove_effect",[2.5])}
`:t("plus_max_resource",[r,t("citizen")])},action(){return _($(this)[0])?(S("tau_housing","tauceti"),!0):!1},struct(){return{d:{count:0},p:["tau_housing","tauceti"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},captive_housing:zt("captive_housing","tauceti"),pylon:{id:"tauceti-pylon",title:t("tau_home_pylon"),desc:t("tau_home_pylon"),reqs:{magic:2},condition(){return!!(e.tech.isolation&&e.tauceti.hasOwnProperty("pylon"))},cost:{Money(r){return f("pylon",r,50,1.48,"tauceti")},Stone(r){return f("pylon",r,100,1.42,"tauceti")},Crystal(r){return f("pylon",r,8,1.42,"tauceti")-3}},effect(){let r=G(2),a=+(.0125*Me("magic")).toFixed(3);return`
${t("gain",[a,e.resource.Mana.name])}
${t("plus_max_resource",[r,e.resource.Mana.name])}
`},special(){return!!(e.tech.magic&&e.tech.magic>=3)},action(){return _($(this)[0])?(S("pylon","tauceti"),e.resource.Mana.max+=G(2),!0):!1},struct(){return{d:{count:0},p:["pylon","tauceti"]}}},cloning_facility:{id:"tauceti-cloning_facility",title:t("tau_home_cloning"),desc(){return t("tau_home_cloning_desc",[x[e.race.species].name])},category:"military",reqs:{cloning:1},path:["truepath"],queue_complete(){return e.resource[e.race.species].max-e.resource[e.race.species].amount},cost:{Money(r){return e.resource[e.race.species].amount?f("citizen",r,Math.round((e.race.high_pop?1e5:125e3)/E(1)),e.race.high_pop?1.01:1.02,"tauceti",e.race.high_pop?1.003:1.005):0},Copper(r){return!e.race.artifical||e.race.deconstructor?0:e.resource[e.race.species].amount>=5?f("citizen",r,Math.round(50/E(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0},Aluminium(r){return!e.race.artifical||e.race.deconstructor?0:e.resource[e.race.species].amount>=5?f("citizen",r,Math.round(50/E(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0},Nanite(r){return e.race.deconstructor&&e.resource[e.race.species].amount>=3?f("citizen",r,Math.round(500/E(1)),1.01,"tauceti",e.race.high_pop?1.0032:1.005):0}},effect(){let r="";return e.resource[e.race.species].max===e.resource[e.race.species].amount&&(r=`
${t("city_assembly_effect_warn")}
`),`
${t("tau_home_cloning_effect",[x[e.race.species].name])}
${r}`},action(){return e.resource[e.race.species].max>e.resource[e.race.species].amount&&_($(this)[0])?(e.resource[e.race.species].amount++,!0):!1},struct(){return{d:{count:0,on:0},p:["cloning_facility","tauceti"]}}},horseshoe:zt("horseshoe","tauceti"),bonfire:zt("bonfire","tauceti"),firework:zt("firework","tauceti"),assembly:zt("assembly","tauceti"),nanite_factory:zt("nanite_factory","tauceti"),tau_farm:{id:"tauceti-tau_farm",title:t("tau_home_tau_farm"),desc(){return`
${t("tau_home_tau_farm")}
${t("requires_power")}
`},reqs:{tau_home:7},path:["truepath"],cost:{Money(r){return f("tau_farm",r,135e6,1.25,"tauceti")},Stone(r){return f("tau_farm",r,921e4,1.25,"tauceti")},Steel(r){return f("tau_farm",r,6295e3,1.25,"tauceti")},Water(r){return f("tau_farm",r,1e4,1.25,"tauceti")}},effect(){let r=`
${t("space_red_spaceport_effect1",[t("tau_planet",[x[e.race.species].home]),$(this)[0].support()])}
`;if(r=r+`
${t("produce",[+ie("tau_farm","food").toFixed(2),e.resource.Food.name])}
`,!e.race.kindling_kindred&&!e.race.smoldering&&(r=r+`
${t("produce",[+ie("tau_farm","lumber").toFixed(2),e.resource.Lumber.name])}
`),e.tech.isolation){let a=+ie("tau_farm","water").toFixed(2);if(r=r+`
${t("produce",[a,e.resource.Water.name])}
`,e.race.artifical){let i=G(350);r=r+`
${t("city_transmitter_effect",[i])}
`}}return r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},support(){return 1},powered(){return V(e.tech.isolation?1:4)},action(){return _($(this)[0])?(S("tau_farm","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tau_farm","tauceti"]}}},mining_pit:{id:"tauceti-mining_pit",title:t("tau_home_mining_pit"),desc(){return`
${t("tau_home_mining_pit")}
${t("space_support",[x[e.race.species].home])}
`},reqs:{tau_home:2},path:["truepath"],cost:{Money(r){return f("mining_pit",r,425e4,1.225,"tauceti")},Materials(r){return Yt()?0:f("mining_pit",r,35e4,1.225,"tauceti")},Lumber(r){return Yt()?f("mining_pit",r,235e4,1.225,"tauceti"):0},Iron(r){return Yt()?f("mining_pit",r,835e3,1.225,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),x[e.race.species].home])}
`;if(r=r+`
${t("plus_max_resource",[$(this)[0].workers(),t("job_pit_miner")])}
`,!Yt())r=r+`
${t("plus_max_resource",[1e6,t("resource_Materials_name")])}
`,r=r+`
${t("tau_home_mining_pit_effect",[e.resource.Materials.name])}
`;else if(e.tech.isolation){if(e.race.lone_survivor){let a=[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name,e.resource.Copper.name,e.resource.Iron.name,e.resource.Aluminium.name,e.resource.Coal.name];e.race.smoldering?(a.push(e.resource.Chrysotile.name),r=r+`
${t("tau_home_mining_pit_effect2cs",a)}
`):r=r+`
${t("tau_home_mining_pit_effect2c",a)}
`}else{let a=[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name,e.resource.Copper.name,e.resource.Coal.name];e.race.smoldering?(a.push(e.resource.Chrysotile.name),r=r+`
${t("tau_home_mining_pit_effect2bs",a)}
`):r=r+`
${t("tau_home_mining_pit_effect2b",a)}
`}r=r+`
${t("production",[8,e.resource.Cement.name])}
`}else r=r+`
${t("tau_home_mining_pit_effect2",[e.resource.Bolognium.name,e.resource.Adamantite.name,e.resource.Stone.name])}
`;return r},s_type:"tau_home",support(){return-1},powered(){return 0},workers(){return E(e.tech.isolation?6:8)},action(){if(_($(this)[0])){if(S("mining_pit","tauceti"),L($(this)[0])){let r=$(this)[0].workers();e.civic.pit_miner.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.pit_miner.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["mining_pit","tauceti"]}}},excavate:{id:"tauceti-excavate",title:t("tau_home_excavate"),desc(){return`
${t("tau_home_excavate")}
`},reqs:{tau_home:2},grant:["tau_home",3],path:["truepath"],cost:{Money(r){return 165e7},Materials(r){return 75e4}},effect(){return t("tau_home_excavate_effect")},action(){return _($(this)[0])?(I(t("tau_home_excavate_msg"),"info",!1,["progress"]),!0):!1}},alien_outpost:{id:"tauceti-alien_outpost",title:t("tech_alien_outpost"),desc(){return`
${t("tech_alien_outpost")}
${t("requires_power")}
`},reqs:{tau_home:4},path:["truepath"],cost:{},queue_complete(){return 0},effect(){let r=`
${t("plus_max_resource",["20%",t("resource_Knowledge_name")])}
`;return e.tech.isolation&&(r=r+`
${t("plus_max_resource",[(e.race.lone_survivor?35e5:65e5).toLocaleString(),t("resource_Knowledge_name")])}
`,r=r+`
${t("plus_max_resource",[2e5.toLocaleString(),e.resource.Cipher.name])}
`,r=r+`
${t("space_lander_effect3",[ie("alien_outpost"),e.resource.Cipher.name])}
`),e.tech.outpost_boost&&(r=r+`
${t("tech_alien_outpost_effect2")}
`),e.race.lone_survivor&&(r=r+`
${t("city_wardenclyffe_effect1",[E(1),e.civic.professor.name])}
`),r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(e.tech.isolation?e.race.lone_survivor?8:25:100)},special(){return!!e.tech.replicator},action(){return!1},struct(){return{d:{count:1,on:0},p:["alien_outpost","tauceti"]}}},jump_gate:{id:"tauceti-jump_gate",title:t("tau_jump_gate"),desc(r){return!e.tauceti.hasOwnProperty("jump_gate")||e.tauceti.jump_gate.count<100||r?`
${t("tau_jump_gate")}
${t("requires_segments",[100])}
`:`
${t("tau_jump_gate")}
`},reqs:{tauceti:3},condition(){return e.tech.isolation?0:1},path:["truepath"],queue_size:10,queue_complete(){return 100-e.tauceti.jump_gate.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0)<100?1e6:0},Materials(r){return(r||0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0)<100?12500:0}},effect(r){let a=(r?.count??0)+(e.tauceti.hasOwnProperty("jump_gate")?e.tauceti.jump_gate.count:0);if(a<100){let i=100-a;return`
${t("tau_jump_gate_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return t("tau_jump_gate_effect")},action(){return _($(this)[0])&&e.tauceti.jump_gate.count<100?(S("jump_gate","tauceti"),!0):!1},struct(){return{d:{count:0},p:["jump_gate","tauceti"]}}},fusion_generator:{id:"tauceti-fusion_generator",title:t("tech_fusion_generator"),desc(){return`
${t("tech_fusion_generator")}
${t("requires_res",[e.resource.Helium_3.name])}
`},reqs:{tau_home:6},path:["truepath"],cost:{Money(r){return f("fusion_generator",r,188e6,1.25,"tauceti")},Iridium(r){return f("fusion_generator",r,555e4,1.25,"tauceti")},Stanene(r){return f("fusion_generator",r,7003500,1.25,"tauceti")},Sheet_Metal(r){return f("fusion_generator",r,yr(95e3),1.25,"tauceti")}},effect(){let r=+ye($(this)[0].p_fuel().a).toFixed(1),a=`
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}
`;return e.race.lone_survivor?a=a+`
${t("gain",[-r,e.resource[$(this)[0].p_fuel().r].name])}
`:a=a+`
${t("spend",[r,e.resource[$(this)[0].p_fuel().r].name])}
`,a},p_fuel(){return{r:"Helium_3",a:e.tech.isolation?e.race.lone_survivor?-15:75:500}},powered(){return nt(-32)},action(){return _($(this)[0])?(S("fusion_generator","tauceti"),e.tauceti.fusion_generator.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["fusion_generator","tauceti"]}}},repository:{id:"tauceti-repository",title:t("tech_repository"),desc:t("tech_repository"),reqs:{tau_home:5},path:["truepath"],cost:{Money(r){return f("repository",r,1028e4,1.28,"tauceti")},Iron(r){return f("repository",r,18e5,1.28,"tauceti")},Cement(r){return f("repository",r,15e5,1.28,"tauceti")},Neutronium(r){return f("repository",r,215e3,1.28,"tauceti")}},wide:!0,res(){let r=["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Steel","Titanium","Crystal","Alloy","Polymer","Iridium","Chrysotile","Nano_Tube","Neutronium","Adamantite","Unobtainium"];return e.tech.isolation&&(r.push("Oil"),r.push("Helium_3"),r.push("Uranium"),r.push("Water")),r},val(r){switch(r){case"Lumber":return 3e4;case"Stone":return 3e4;case"Chrysotile":return 3e4;case"Crystal":return 10;case"Furs":return 17e3;case"Copper":return 15200;case"Iron":return 14e3;case"Aluminium":return 12800;case"Cement":return 11200;case"Coal":return 4800;case"Steel":return 2400;case"Titanium":return 1600;case"Alloy":return 1800;case"Polymer":return 1500;case"Iridium":return 1750;case"Nano_Tube":return 1200;case"Neutronium":return 640;case"Adamantite":return 720;case"Unobtainium":return 1e3;case"Oil":return 680;case"Helium_3":return 575;case"Uranium":return 125;case"Water":return 15;case"Elerium":return 3;default:return 0}},effect(r){let a='
',i=ri("repository",!1,r),s=250;for(let n of $(this)[0].res())if(e.resource[n].display){let c=X(+(G($(this)[0].val(n))*i).toFixed(0),1);a=a+`${t("plus_max_resource",[c,e.resource[n].name])}`}return e.tech.isolation&&(a=a+`${t("plus_max_resource",[s,t("resource_Crates_name")])}${t("plus_max_resource",[s,t("resource_Containers_name")])}`),a=a+"
",a},action(){if(_($(this)[0])){S("repository","tauceti");let r=250;e.resource.Crates.max+=r,e.resource.Containers.max+=r,e.resource.Containers.display||wr();let a=ri("repository");for(let i of $(this)[0].res())e.resource[i].display&&(e.resource[i].max+=G($(this)[0].val(i))*a);return!0}return!1},struct(){return{d:{count:0},p:["repository","tauceti"]}}},tau_factory:{id:"tauceti-tau_factory",title:t("tau_home_tau_factory"),desc(){return`
${t("tau_home_tau_factory")}
${t("requires_power_support",[x[e.race.species].home])}
`},reqs:{tau_home:8},path:["truepath"],cost:{Money(r){return f("tau_factory",r,269e6,1.25,"tauceti")},Titanium(r){return f("tau_factory",r,3e6,1.25,"tauceti")},Elerium(r){return f("tau_factory",r,850,1.25,"tauceti")},Bolognium(r){return f("tau_factory",r,25e4,1.25,"tauceti")},Quantium(r){return f("tau_factory",r,yr(425e3),1.25,"tauceti")}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),x[e.race.species].home])}
`;return r=r+`
${t("tau_home_tau_factory_effect",[$(this)[0].manufacturing()])}
`,e.tech.isolation&&(e.race.flier||(r=r+`
${t("plus_max_resource",[E(2),t("job_cement_worker")])}
`),r=r+`
${t("space_red_fabrication_effect1",[E(5)])}
`),r=r+`
${t("city_crafted_mats",[e.tech.isolation?275:90])}
`,r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},special:!0,s_type:"tau_home",support(){return-1},powered(){return V(e.tech.isolation?2:5)},manufacturing(){return e.tech.isolation?5:3},action(){return _($(this)[0])?(e.civic.craftsman.display=!0,S("tau_factory","tauceti"),L($(this)[0])&&(e.city.factory.Alloy+=$(this)[0].manufacturing(),Fe()),!0):!1},struct(){return{d:{count:0,on:0},p:["tau_factory","tauceti"]}}},infectious_disease_lab:{id:"tauceti-infectious_disease_lab",title(){return e.tech.isolation?t("tech_infectious_disease_lab_alt"):t(e.race.artifical?"tech_infectious_disease_lab_s":"tech_infectious_disease_lab")},desc(){return`
${$(this)[0].title()}
${t("requires_power_support",[x[e.race.species].home])}
`},reqs:{disease:1},path:["truepath"],cost:{Money(r){return f("infectious_disease_lab",r,1e9,1.25,"tauceti")},Alloy(r){return f("infectious_disease_lab",r,325e5,1.25,"tauceti")},Polymer(r){return f("infectious_disease_lab",r,5e7,1.25,"tauceti")},Bolognium(r){return f("infectious_disease_lab",r,25e5,1.25,"tauceti")},Unobtainium(r){return f("infectious_disease_lab",r,64e3,1.25,"tauceti")}},effect(){let r=39616;if(e.tech.supercollider&&e.tech.isolation){let i=e.tech.tp_particles||e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/i+1}let a=`
${t("tau_new_support",[$(this)[0].support(),x[e.race.species].home])}
`;if(a=a+`
${t("city_max_knowledge",[Math.round(r).toLocaleString()])}
`,e.tech.isolation){let i=G(375);a=a+`
${t("plus_max_resource",[i,t("resource_Elerium_name")])}
`,a=a+`
${t("city_wardenclyffe_effect1",[E(2),e.civic.professor.name])}
`,a=a+`
${t("city_wardenclyffe_effect1",[E(1),e.civic.scientist.name])}
`,a=a+`
${t("space_zero_g_lab_effect",[E(1)])}
`,a=a+`
${t("city_library_effect",[75])}
`}return e.tech.alien_crafting&&(a=a+`
${t("production",[65,e.resource.Quantium.name])}
`),e.tech.focus_cure&&(a=a+`
${t("tau_home_disease_lab_cure",[+e.tauceti.infectious_disease_lab.cure.toFixed(1)])}
`,e.race.hasOwnProperty("vax")&&(a=a+`
${t("tau_home_disease_lab_vax",[+e.race.vax.toFixed(2)])}
`)),a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},s_type:"tau_home",support(){return-1},powered(){return V(e.tech.isolation?e.race.lone_survivor?2:8:35)},action(){return _($(this)[0])?(S("infectious_disease_lab","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,cure:0},p:["infectious_disease_lab","tauceti"]}},post(){e.tech.disease===1&&(e.tech.disease=2,I(t("tau_plague4",[t("tab_tauceti")]),"info",!1,["progress"]),ae()),gt()},postPower(r){Bi("Quantium")}},tauceti_casino:{id:"tauceti-tauceti_casino",title:t("city_casino"),desc:t("city_casino"),category:"commercial",reqs:{gambling:1,isolation:1},cost:{Money(r){return f("tauceti_casino",r,145e4,1.35,"tauceti")},Furs(r){return f("tauceti_casino",r,95e3,1.35,"tauceti")},Cement(r){return f("tauceti_casino",r,12e4,1.35,"tauceti")},Plywood(r){return f("tauceti_casino",r,yr(55e3),1.35,"tauceti")}},effect(){let r=$(this)[0].citizens(),a=e.race.lone_survivor?"":`
${t("plus_max_resource",[r,t("citizen")])}
`;return a=a+Gi(),a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},powered(){return V(e.race.lone_survivor?1:2)},action(){return _($(this)[0])?(S("tauceti_casino","tauceti"),e.race.joyless||(e.civic.entertainer.max+=E(1),e.civic.entertainer.display=!0),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["tauceti_casino","tauceti"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),e.race.lone_survivor?0:r},flair:t("city_casino_flair")},tau_cultural_center:{id:"tauceti-tau_cultural_center",title:t("tech_cultural_center"),desc(){return`
${t("tech_cultural_center")}
${t("space_electrolysis_req",[e.resource[$(this)[0].p_fuel().r].name])}
`},category:"commercial",reqs:{tau_culture:1},path:["truepath"],cost:{Money(r){return f("tau_cultural_center",r,9145e4,1.35,"tauceti")},Copper(r){return f("tau_cultural_center",r,585e4,1.35,"tauceti")},Coal(r){return f("tau_cultural_center",r,465e3,1.35,"tauceti")},Polymer(r){return f("tau_cultural_center",r,3792e3,1.35,"tauceti")}},effect(){let r=8,a=1;e.civic.govern.type==="corpocracy"?a=2:e.civic.govern.type==="socialist"&&(a=.8);let i=20*a,s=5*a,n=15*a,c=`
${t("tau_home_cultureal_effect1",[$(this)[0].p_fuel().a,e.resource[$(this)[0].p_fuel().r].name,$(this)[0].title])}
`;return c+=`
${t("city_tourist_center_effect2",[i,Ce("casino")])}
`,c+=`
${t("city_tourist_center_effect2",[s,t("arpa_project_monument_title")])}
`,c+=`
${t("tau_home_cultureal_effect2",[r,t("tau_red_womlings")])}
`,e.tech.tau_culture>=2&&(c+=`
${t("tau_home_cultureal_effect3",[n,t(`tau_gas2_alien_station_data2_r${e.race.tau_food_item||0}`)])}
`),c+=`
${t("minus_power",[$(this)[0].powered()])}
`,c},powered(){return V(1)},p_fuel(){return{r:"Food",a:e.race.lone_survivor?25:500}},action(){return _($(this)[0])?(S("tau_cultural_center","tauceti"),e.tauceti.tau_cultural_center.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["tau_cultural_center","tauceti"]}}}},tau_red:{info:{name(){return t("tau_planet",[A().red])},desc(){return t("tau_red",[A().red])},support:"orbital_platform",extra(r){e.tech.tau_red&&e.tech.tau_red>=5&&($(`#${r}`).append(`
${t("tau_red_womling_prod")} {{ prod }}%
`),C({el:`#${r}Womlings`,data:e.tauceti.overseer}))}},red_mission:{id:"tauceti-red_mission",title(){return t("tau_new_mission_title",[A().red])},desc(){return t("tau_new_mission_title",[A().red])},reqs:{tauceti:2},grant:["tau_red",1],path:["truepath"],queue_complete(){return e.tech.tau_red>=1?0:1},cost:{Money(){return 1e9}},effect(){return t("tau_new_mission_effect",[A().red])},action(){return _($(this)[0])?(e.tauceti.settlement={count:0,on:0},I(t("tau_red_mission_result",[A().red]),"info",!1,["progress"]),!0):!1}},orbital_platform:{id:"tauceti-orbital_platform",title:t("tau_red_orbital_platform"),desc:`
${t("tau_red_orbital_platform")}
${t("requires_power")}
`,reqs:{tau_red:1,tauceti:4},path:["truepath"],cost:{Money(r){return f("orbital_platform",r,5e7,1.3,"tauceti")},Oil(r){return Yt()?f("orbital_platform",r,ye(uu(275e3)),1.3,"tauceti"):0},Aluminium(r){return f("orbital_platform",r,178e4,1.3,"tauceti")},Bolognium(r){return f("orbital_platform",r,45e4,1.3,"tauceti")}},effect(){let r=G(17500),a=+ye($(this)[0].support_fuel().a).toFixed(1),i=`
${t("space_red_spaceport_effect1",[t("tau_planet",[A().red]),$(this)[0].support()])}
`;return i=i+`
${t("plus_max_resource",[r.toLocaleString(),e.resource.Oil.name])}
`,i=i+`
${t("spend_power",[a,e.resource[$(this)[0].support_fuel().r].name,$(this)[0].powered()])}
`,i},support_fuel(){return{r:e.race.lone_survivor?"Helium_3":"Oil",a:e.tech.isolation?e.race.lone_survivor?8:32:125}},support(){let r=e.tech.womling_logistics?2.5:2;return e.race.lone_survivor&&(r*=2),r},powered(){return V(e.tech.isolation?e.race.lone_survivor?2:3:18)},refresh:!0,action(){return Yt()&&_($(this)[0])?(S("orbital_platform","tauceti"),L($(this)[0]),e.tech.tau_red===1&&(e.tech.tau_red=2,I(t("tau_red_orbital_platform_msg",[t("tau_planet",[A().red]),t("tau_planet",[x[e.race.species].home])]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["orbital_platform","tauceti"]}}},contact:{id:"tauceti-contact",title(){return t("tau_red_contact")},desc(){return t("tau_red_contact")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Money(){return 6e8},Food(){return e.race.lone_survivor&&e.race.artifical?62e3:25e5}},effect(){return t("tau_red_contact_effect")},action(){return _($(this)[0])?(e.race.womling_friend=1,Fn(),!0):!1}},introduce:{id:"tauceti-introduce",title(){return t("tau_red_introduce")},desc(){return t("tau_red_introduce")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Knowledge(){return 7e6}},effect(){return t("tau_red_introduce_effect")},action(){return _($(this)[0])?(e.race.womling_god=1,Fn(),!0):!1}},subjugate:{id:"tauceti-subjugate",title(){return t("tau_red_subjugate")},desc(){return t("tau_red_subjugate")},reqs:{tau_red:4},grant:["tau_red",5],path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{Money(){return 285e7}},effect(){return t("tau_red_subjugate_effect")},action(){return _($(this)[0])?(e.race.womling_lord=1,Fn(),!0):!1}},jeff:{id:"tauceti-jeff",title(){return t("tau_red_jeff")},desc(){return t("tau_red_jeff")},reqs:{tau_red:5},path:["truepath"],queue_complete(){return e.tech.tau_red>=5?0:1},cost:{},effect(){let r=e.tauceti.overseer?e.tauceti.overseer.injured:0;e.tauceti.overseer&&e.tauceti.overseer.pop${t("tau_red_jeff_effect1",[e.tauceti.overseer?e.tauceti.overseer.pop:0])}`;return a=a+`
${t("tau_red_jeff_effect2",[e.tauceti.overseer?e.tauceti.overseer.working:0])}
`,a=a+`
${t("tau_red_jeff_effect3",[r])}
`,a=a+`
${t("tau_red_jeff_effect4",[e.tauceti.overseer?e.tauceti.overseer.loyal:0])}
`,a=a+`
${t("tau_red_jeff_effect5",[e.tauceti.overseer?e.tauceti.overseer.morale:0])}
`,e.tech.hasOwnProperty("womling_tech")&&(a=a+`
${t("tau_red_jeff_effect6",[e.tech.womling_tech])}
`),a=a+`
${t("job_farmer")}: ${e.tauceti.womling_farm?e.tauceti.womling_farm.farmers:0}
`,a=a+`
${t("job_miner")}: ${e.tauceti.womling_mine?e.tauceti.womling_mine.miners:0}
`,e.tauceti.womling_lab&&(a=a+`
${t("job_scientist")}: ${e.tauceti.womling_lab?e.tauceti.womling_lab.scientist:0}
`),a},action(){return!1}},overseer:{id:"tauceti-overseer",title(){return $(this)[0].name()},desc(){return`
${$(this)[0].name()}
${t("space_support",[A().red])}
`},name(){return e.race.womling_lord?t("tau_red_overseer"):e.race.womling_god?t("tau_red_womgod"):t("tau_red_womally")},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return f("overseer",r,6e6,1.28,"tauceti")},Cement(r){return f("overseer",r,245e4,1.28,"tauceti")},Alloy(r){return e.race.womling_friend?f("overseer",r,185e4,1.28,"tauceti"):0},Neutronium(r){return e.race.womling_lord?f("overseer",r,165e3,1.28,"tauceti"):0},Titanium(r){return e.race.womling_god?f("overseer",r,225e4,1.28,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return r=r+`
${t("tau_red_overseer_effect",[$(this)[0].val()])}
`,r},val(){let r=0;return e.race.womling_lord?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?12:10:e.race.womling_god?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?6:5:e.race.womling_friend&&(r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?10:8),e.race.lone_survivor&&(r*=2),r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("overseer","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,pop:0,working:0,injured:0,morale:0,loyal:0,prod:0},p:["overseer","tauceti"]}}},womling_village:{id:"tauceti-womling_village",title:t("tau_red_womling_village"),desc(){return`
${t("tau_red_womling_village")}
${t("space_support",[A().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return f("womling_village",r,1e7,1.28,"tauceti")},Stone(r){return f("womling_village",r,225e4,1.28,"tauceti")},Plywood(r){return f("womling_village",r,yr(125e4),1.28,"tauceti")},Wrought_Iron(r){return f("womling_village",r,yr(4e5),1.28,"tauceti")}},effect(){let r=e.tech.womling_pop&&e.tech.womling_pop>=2?6:5,a=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return a=a+`
${t("tau_red_womling_village_effect",[r])}
`,e.tech.tau_junksale&&(a=a+`
${t("tau_red_womling_village_effect2",[40,t(`tau_gas2_alien_station_data4_r${e.race.tau_junk_item||0}`)])}
`),a},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("womling_village","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:1,on:1},p:["womling_village","tauceti"]}}},womling_farm:{id:"tauceti-womling_farm",title:t("tau_red_womling_farm"),desc(){return`
${t("tau_red_womling_farm")}
${t("space_support",[A().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return f("womling_farm",r,24e6,1.28,"tauceti")},Iron(r){return f("womling_farm",r,95e5,1.28,"tauceti")},Water(r){return f("womling_farm",r,5e3,1.28,"tauceti")}},effect(){let r=e.tech.womling_pop?16:12;e.tech.womling_gene&&(r+=4);let a=e.tauceti.hasOwnProperty("womling_farm")?e.tauceti.womling_farm.farmers:0,i=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return i=i+`
${t("tau_red_womling_farm_effect",[r])}
`,i=i+`
${t("tau_red_womling_employ",[2])}
`,e.tech.isolation&&(i=i+`
${t("tau_red_womling_generate",[e.resource.Furs.name])}
`),i=i+`
${t("tau_red_womling_farm_effect2",[r/2*a])}
`,i},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("womling_farm","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:1,on:1,farmers:0},p:["womling_farm","tauceti"]}}},womling_mine:{id:"tauceti-womling_mine",title:t("tau_red_womling_mine"),desc(){return`
${t("tau_red_womling_mine")}
${t("space_support",[A().red])}
`},reqs:{tau_red:5},path:["truepath"],cost:{Money(r){return f("womling_mine",r,125e5,1.28,"tauceti")},Lumber(r){return f("womling_mine",r,128e5,1.28,"tauceti")},Steel(r){return f("womling_mine",r,45e5,1.28,"tauceti")}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return e.tech.isolation?e.race.lone_survivor?r=r+`
${t("tau_red_womling_mine_effect_c",[e.resource.Unobtainium.name,e.resource.Uranium.name,e.resource.Titanium.name,e.resource.Iron.name,e.resource.Copper.name,e.resource.Aluminium.name,e.resource.Neutronium.name,e.resource.Iridium.name])}
`:r=r+`
${t("tau_red_womling_mine_effect_b",[e.resource.Unobtainium.name,e.resource.Uranium.name,e.resource.Titanium.name])}
`:r=r+`
${t("tau_red_womling_mine_effect_a",[e.resource.Unobtainium.name])}
`,r=r+`
${t("tau_red_womling_employ",[6])}
`,r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("womling_mine","tauceti"),e.resource.Unobtainium.display=!0,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,miners:0},p:["womling_mine","tauceti"]}},flair(){return t("tau_red_womling_mine_flair")}},womling_fun:{id:"tauceti-womling_fun",title(){return $(this)[0].name()},desc(){return`
${$(this)[0].name()}
${t("space_support",[A().red])}
`},name(){return e.race.womling_lord?t("tau_red_womling_fun1"):e.race.womling_god?t("tau_red_womling_fun2"):t("tau_red_womling_fun3")},reqs:{tau_red:6},path:["truepath"],cost:{Money(r){return f("womling_fun",r,38e5,1.28,"tauceti")},Food(r){return e.race.womling_friend?f("womling_fun",r,175e3,1.28,"tauceti"):0},Lumber(r){return f("womling_fun",r,5e5,1.28,"tauceti")},Stone(r){return f("womling_fun",r,5e5,1.28,"tauceti")},Furs(r){return e.race.womling_lord||e.race.womling_god?f("womling_fun",r,835e3,1.28,"tauceti"):0},Copper(r){return e.race.womling_lord?f("womling_fun",r,1125e3,1.28,"tauceti"):0},Alloy(r){return e.race.womling_god?f("womling_fun",r,656e3,1.28,"tauceti"):0},Water(r){return e.race.womling_friend?f("womling_fun",r,3500,1.28,"tauceti"):0}},effect(){let r=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return r=r+`
${t("tau_red_womling_fun_effect",[$(this)[0].val()])}
`,r},val(){let r=0;return e.race.womling_lord?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?24:20:e.race.womling_god?r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?12:10:e.race.womling_friend&&(r=e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5?18:15),e.race.lone_survivor&&(r*=2),r},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("womling_fun","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["womling_fun","tauceti"]}}},womling_lab:{id:"tauceti-womling_lab",title:t("interstellar_laboratory_title"),desc(){return`
${t("interstellar_laboratory_title")}
${t("space_support",[A().red])}
`},reqs:{tau_red:7},path:["truepath"],cost:{Money(r){return f("womling_lab",r,65e6,1.28,"tauceti")},Elerium(r){return f("womling_lab",r,1200,1.28,"tauceti")},Orichalcum(r){return f("womling_lab",r,25e5,1.28,"tauceti")},Unobtainium(r){return f("womling_lab",r,1e4,1.28,"tauceti")},Quantium(r){return f("womling_lab",r,yr(95e3),1.28,"tauceti")}},effect(){let r=e.tauceti.hasOwnProperty("overseer")?e.tauceti.overseer.prod:100,a=Math.round(25e3*r/100),i=`
${t("tau_new_support",[$(this)[0].support(),A().red])}
`;return i=i+`
${t("tau_red_womling_lab_effect",[a])}
`,i=i+`
${t("tau_red_womling_employ_single",[1])}
`,i},s_type:"tau_red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("womling_lab","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,scientist:0,tech:0},p:["womling_lab","tauceti"]}}}},tau_gas:{info:{name(r,a){let i=a||"gas_name",s=i==="gas_name"?0:1;if(r||e.race[i])switch(r||e.race[i]){case 1:{let n=e.race.universe==="antimatter"?"plasmid":"antiplasmid";switch(Math.round(e.stats[n]+s)%3){case 1:return t("tau_planet",[A().gas]);case 2:return t("tau_gas_title0a",[A().gas]);default:return t("tau_gas_title0b",[A().gas])}}case 2:switch(Math.round(e.stats.reset+s)%3){case 1:return t("tau_gas_title1a");case 2:return t("tau_gas_title1b");default:return t("tau_gas_title1c")}case 3:switch(Math.round(e.stats.mad+s)%3){case 1:return t("tau_gas_title2a");case 2:return t("tau_gas_title2b");default:return t("tau_gas_title2c")}case 4:switch(Math.round(e.stats.bioseed+s)%3){case 1:return t("tau_gas_title3a",[x[e.race.gods].solar.gas]);case 2:return t("tau_gas_title3b",[x[e.race.old_gods].name]);default:return t("tau_gas_title3c",[x[e.race.species].name])}case 5:switch(Math.round(e.stats.portals+s)%3){case 1:return t("tau_gas_title4a",[A().gas]);case 2:return t("tau_gas_title4b",[lt("reverse",A().gas)]);default:return t("tau_gas_title4c")}case 6:switch(Math.round(e.stats.womling.friend.l+e.stats.womling.lord.l+e.stats.womling.god.l+s)%3){case 1:return t("tau_gas_title5a");case 2:return t("tau_gas_title5b");default:return t("tau_gas_title5c")}case 7:switch(Math.round(e.stats.tdays+s)%3){case 1:return t("tau_gas_title6a");case 2:return t("tau_gas_title6b");default:return t("tau_gas_title6c")}default:return i==="gas_name"?t("tau_gas_title"):t("tau_gas2_title")}return i==="gas_name"?t("tau_gas_title"):t("tau_gas2_title")},desc(){return t("tau_gas_desc")}},gas_contest:{id:"tauceti-gas_contest",title(){return t("tau_gas_contest_title")},desc(){return t("tau_gas_contest_title")},reqs:{tauceti:5},grant:["tau_gas",1],path:["truepath"],queue_complete(){return e.tech.tau_gas>=1?0:1},cost:{Money(){return 1e7}},effect(){return e.race.lone_survivor?t("tau_gas_contest_effect_alt"):t("tau_gas_contest_effect")},action(){return!!_($(this)[0])}},refueling_station:{id:"tauceti-refueling_station",title(){return t("tau_gas_refueling_station_title")},desc(){return`
${t("tau_gas_refueling_station_title")}
${t("requires_power")}
`},reqs:{tau_gas:2},path:["truepath"],cost:{Money(r){return f("refueling_station",r,68e6,1.28,"tauceti")},Graphene(r){return f("refueling_station",r,25e5,1.28,"tauceti")},Unobtainium(r){return f("refueling_station",r,5500,1.28,"tauceti")},Mythril(r){return f("refueling_station",r,yr(6e4),1.28,"tauceti")}},powered(){return V(e.tech.isolation?2:5)},effect(){let r=+ie("refueling_station").toFixed(2),a=G(1e4),i=`
${t("space_gas_mining_effect1",[r])}
`;if(i=i+`
${t("plus_max_resource",[a.toLocaleString(),e.resource.Helium_3.name])}
`,e.tech.tau_whale>=2){let s=G(6500);i=i+`
${t("plus_max_resource",[s.toLocaleString(),e.resource.Oil.name])}
`}return e.tech.isolation&&(i=i+`
${t("interstellar_g_factory_effect")}
`),i=i+`
${t("minus_power",[$(this)[0].powered()])}
`,i},special(){return!!e.tech.isolation},action(){return _($(this)[0])?(S("refueling_station","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["refueling_station","tauceti"]}},post(){e.tech.tau_gas===2&&(e.tech.tau_gas=3,ae())}},ore_refinery:{id:"tauceti-ore_refinery",title(){return t("tau_gas_ore_refinery_title")},desc(){return`
${t("tau_gas_ore_refinery_title")}
${t("requires_power")}
`},reqs:{tau_gas:4},path:["truepath"],cost:{Money(r){return f("ore_refinery",r,52e6,1.28,"tauceti")},Iridium(r){return f("ore_refinery",r,16e5,1.28,"tauceti")},Unobtainium(r){return f("ore_refinery",r,800,1.28,"tauceti")},Sheet_Metal(r){return f("ore_refinery",r,yr(118e3),1.28,"tauceti")}},powered(){return V(e.tech.isolation?2:8)},smelting(){return e.tech.isolation?12:4},effect(){let r=e.tauceti.hasOwnProperty("ore_refinery")?e.tauceti.ore_refinery.fill:0,a=e.tauceti.hasOwnProperty("ore_refinery")?e.tauceti.ore_refinery.max:0,i=+ie("ore_refinery").toFixed(2),s=`
${t("tau_gas_ore_refinery_effect",[+r.toFixed(2)])}
`;return s=s+`
${t("tau_gas_ore_refinery_effect2",[a])}
`,s=s+`
${t("tau_gas_ore_refinery_effect3",[i])}
`,s=s+`
${t("interstellar_stellar_forge_effect3",[$(this)[0].smelting()])}
`,s=s+`
${t("minus_power",[$(this)[0].powered()])}
`,s},special:!0,action(){if(_($(this)[0])){if(S("ore_refinery","tauceti"),L($(this)[0])){let r=$(this)[0].smelting();e.city.smelter.cap+=r,e.city.smelter.Steel+=r,e.race.evil?e.city.smelter.Wood+=r:e.city.smelter.Oil+=r}return!0}return!1},struct(){return{d:{count:0,on:0,max:0,fill:0},p:["ore_refinery","tauceti"]}},post(){e.tech.tau_roid===3&&(e.tech.tau_roid=4,br(),ae())}},whaling_station:{id:"tauceti-whaling_station",title(){return t("tau_gas_whaling_station_title")},desc(){return`
${t("tau_gas_whaling_station_title")}
${t("requires_power")}
`},reqs:{tau_whale:1},path:["truepath"],cost:{Money(r){return f("whaling_station",r,72e6,1.28,"tauceti")},Steel(r){return f("whaling_station",r,18e5,1.28,"tauceti")},Polymer(r){return f("whaling_station",r,955e3,1.28,"tauceti")},Orichalcum(r){return f("whaling_station",r,268e3,1.28,"tauceti")}},powered(){return V(e.tech.isolation?2:6)},effect(){let r=e.tauceti.hasOwnProperty("whaling_station")?e.tauceti.whaling_station.fill:0,a=e.tauceti.hasOwnProperty("whaling_station")?e.tauceti.whaling_station.max:0,i=+ie("whaling_station").toFixed(2),s=`
${t("tau_gas_whaling_station_effect",[+r.toFixed(2)])}
`;return s=s+`
${t("tau_gas_whaling_station_effect2",[a])}
`,s=s+`
${t("tau_gas_whaling_station_effect3",[i])}
`,s=s+`
${t("minus_power",[$(this)[0].powered()])}
`,s},action(){return _($(this)[0])?(S("whaling_station","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,max:0,fill:0},p:["whaling_station","tauceti"]}},post(){e.tech.tau_whale===1&&(e.tech.tau_whale=2,br())}},womling_station:{id:"tauceti-womling_station",title(){return t("tau_gas_womling_station_title")},desc(){return`
${t("tau_gas_womling_station_desc")}
${t("requires_power")}
`},reqs:{womling_technicians:1},path:["truepath"],cost:{Money(r){return f("womling_station",r,1334e5,1.26,"tauceti")},Furs(r){return f("womling_station",r,3805e3,1.26,"tauceti")},Aluminium(r){return f("womling_station",r,85e5,1.26,"tauceti")},Nano_Tube(r){return f("womling_station",r,909e3,1.26,"tauceti")}},powered(){return V(e.tech.isolation?3:6)},effect(){let r=e.tech.isolation?30:8;e.tech.womling_gene&&(r*=1.25);let a=`
${t("production",[r,le.tau_gas.info.name()])}
`;return e.race.flier||(a=a+`
${t("plus_max_resource",[E(1),t("job_cement_worker")])}
`),a=a+`
${t("space_red_fabrication_effect1",[E(1)])}
`,a=a+`
${t("minus_power",[$(this)[0].powered()])}
`,a},action(){return _($(this)[0])?(e.civic.craftsman.display=!0,S("womling_station","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["womling_station","tauceti"]}}}},tau_roid:{info:{name(){return t("tau_roid_title")},desc(){return t("tau_roid_desc")},support:"patrol_ship"},roid_mission:{id:"tauceti-roid_mission",title(){return t("space_mission_title",[t("tau_roid_title")])},desc(){return t("space_mission_desc",[t("tau_roid_title")])},reqs:{tauceti:5},grant:["tau_roid",1],path:["truepath"],queue_complete(){return e.tech.tau_roid>=1?0:1},cost:{Helium_3(r,a){return+ye(125e4,!1,a).toFixed(0)}},effect(){return t("tau_roid_mission_effect",[t("tau_roid_title")])},action(){return _($(this)[0])?(I(t("tau_roid_mission_result"),"info",!1,["progress"]),!0):!1}},patrol_ship:{id:"tauceti-patrol_ship",title:t("tau_roid_patrol_ship"),desc(){return`
${t("tau_roid_patrol_ship")}
${t("requires_res",[e.resource.Helium_3.name])}
`},reqs:{tau_roid:3},path:["truepath"],cost:{Money(r){return f("patrol_ship",r,45e6,1.25,"tauceti")},Adamantite(r){return f("patrol_ship",r,18e5,1.25,"tauceti")},Elerium(r){return f("patrol_ship",r,520,1.25,"tauceti")},Stanene(r){return f("patrol_ship",r,2675e3,1.25,"tauceti")},Bolognium(r){return f("patrol_ship",r,115e4,1.25,"tauceti")}},effect(){let r=+ye($(this)[0].support_fuel().a).toFixed(1),a=`
${t("tau_roid_patrol_ship_security",[$(this)[0].support()])}
`;return a=a+`
${t("tau_roid_patrol_ship_effect")}
`,a=a+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,a},support_fuel(){return{r:"Helium_3",a:e.tech.isolation?15:250}},support(){return 1},powered(){return 0},refresh:!0,action(){return _($(this)[0])?(S("patrol_ship","tauceti"),e.tauceti.patrol_ship.on++,!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["patrol_ship","tauceti"]}}},mining_ship:{id:"tauceti-mining_ship",title:t("tau_roid_mining_ship"),desc(){return`
${t("tau_roid_mining_ship")}
`},reqs:{tau_roid:4},path:["truepath"],cost:{Money(r){return f("mining_ship",r,28e6,1.28,"tauceti")},Uranium(r){return f("mining_ship",r,12500,1.28,"tauceti")},Titanium(r){return f("mining_ship",r,22e5,1.28,"tauceti")},Alloy(r){return f("mining_ship",r,175e4,1.28,"tauceti")}},effect(){let r=+ye($(this)[0].support_fuel().a).toFixed(1),a=+ie("mining_ship").toFixed(2),i=`
${t("tau_roid_mining_ship_effect",[a])}
`;return i=i+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,i},s_type:"tau_roid",support_fuel(){return{r:"Helium_3",a:e.tech.isolation?12:75}},support(){return-1},powered(){return 0},special:!0,action(){return _($(this)[0])?(S("mining_ship","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,common:50,uncommon:50,rare:50},p:["mining_ship","tauceti"]}}},whaling_ship:{id:"tauceti-whaling_ship",title:t("tau_roid_whaling_ship"),desc(){return`
${t("tau_roid_whaling_ship")}
`},reqs:{tau_whale:2},path:["truepath"],cost:{Money(r){return f("whaling_ship",r,35e6,1.28,"tauceti")},Aluminium(r){return f("whaling_ship",r,34e5,1.28,"tauceti")},Neutronium(r){return f("whaling_ship",r,168e3,1.28,"tauceti")},Nano_Tube(r){return f("whaling_ship",r,8e5,1.28,"tauceti")}},effect(){let r=+ye($(this)[0].support_fuel().a).toFixed(1),a=+ie("whaling_ship").toFixed(2),i=`
${t("tau_roid_whaling_ship_effect",[a])}
`;return i=i+`
${t("spend",[r,e.resource[$(this)[0].support_fuel().r].name])}
`,i},s_type:"tau_roid",support_fuel(){return{r:"Helium_3",a:e.tech.isolation?14:90}},support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("whaling_ship","tauceti"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["whaling_ship","tauceti"]}}}},tau_gas2:{info:{name(r){return le.tau_gas.info.name(r||e.race.gas_name2||!1,"gas_name2")},desc(){return t("tau_gas2_desc",[le.tau_gas.info.name()])}},gas_contest2:{id:"tauceti-gas_contest2",title(){return t("tau_gas2_contest_title")},desc(){return t("tau_gas2_contest_title")},reqs:{tau_gas2:1},grant:["tau_gas2",2],path:["truepath"],queue_complete(){return e.tech.tau_gas2>=1?0:1},cost:{Money(){return 25e6}},effect(){return t("tau_gas2_contest_effect")},action(){return!!_($(this)[0])},flair(){return t("tau_gas2_contest_flair")}},alien_station_survey:{id:"tauceti-alien_station_survey",title:t("tau_gas2_alien_station"),desc:t("tau_gas2_alien_station"),reqs:{tau_gas2:3},grant:["tau_gas2",4],path:["truepath"],queue_complete(){return e.tech.tau_gas3>=4?0:1},cost:{Money(){return e.race.lone_survivor?15e8:3e9},Helium_3(){return 5e6}},effect(){return t("tau_gas2_alien_station_repair_effect",[le.tau_gas2.info.name()])},action(){return _($(this)[0])?(y(le.tau_gas2.alien_station),I(t("tau_gas2_alien_station_msg",[le.tau_gas2.info.name()]),"info",!1,["progress"]),!0):!1}},alien_station:{id:"tauceti-alien_station",title:t("tau_gas2_alien_station"),desc(r){return!e.tauceti.hasOwnProperty("alien_station")||e.tauceti.alien_station.count<100||r?`
${t("tau_gas2_alien_station")}
`+(e.tauceti.hasOwnProperty("alien_station")&&e.tauceti.alien_station.count>=100?`
${t("space_dwarf_reactor_desc_req")}
`:`
${t("tau_gas2_alien_station_repair")}
`):`
${t("tau_gas2_alien_station")}
`},reqs:{tau_gas2:4},condition(){return e.tauceti.alien_station.count<100},path:["truepath"],queue_size:5,queue_complete(){return 100-e.tauceti.alien_station.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?12e6:5e7:0},Aluminium(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?256e3:256e4:0},Polymer(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?198900:989e3:0},Mythril(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?yr(125e3):0},Cipher(r){return(r||0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0)<100?e.race.lone_survivor?256:2001:0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("alien_station")?e.tauceti.alien_station.count:0);return i<100?(a+=`
${t("tau_gas2_alien_station_repaired",[i])}
`,a):le.tau_gas2.alien_space_station.effect(r)},action(){return _($(this)[0])&&e.tauceti.alien_station.count<100?(S("alien_station","tauceti"),e.tauceti.alien_station.count>=100&&(e.tech.tau_gas2=5,e.tauceti.alien_space_station={count:1,on:0}),!0):!1},struct(){return{d:{count:0},p:["alien_station","tauceti"]}},post(){e.resource.Elerium.diff>=10&&(e.tauceti.alien_space_station.on=1),br()}},alien_space_station:{id:"tauceti-alien_space_station",title:t("tau_gas2_alien_station"),desc(){return`
${t("tau_gas2_alien_station")}
${t("space_dwarf_reactor_desc_req")}
`},reqs:{tau_gas2:5},path:["truepath"],cost:{},queue_complete(){return 0},special(){return!!(e.tech.tau_gas2&&e.tech.tau_gas2===6&&(!e.tech.alien_data||e.tech.alien_data<6))},wiki:!1,effect(){let r=$(this)[0].p_fuel().a,a=`
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}
`;if(e.tech.tau_gas2&&e.tech.tau_gas2>=6&&e.tauceti.alien_space_station.hasOwnProperty("decrypted")){let i=e.race.lone_survivor?1e5:25e6,s=+(e.tauceti.alien_space_station.decrypted/i).toFixed(2);s>100&&(s=100),a=a+`
${t("tau_gas2_alien_station_effect",[s])}
`}return a=a+`
${t("spend",[r,e.resource[$(this)[0].p_fuel().r].name])}
`,a},p_fuel(){return{r:"Elerium",a:e.race.lone_survivor?1:10}},powered(){return nt(-75)},action(){return!1}},matrioshka_brain:{id:"tauceti-matrioshka_brain",title:t("tech_matrioshka_brain"),desc(r){return!e.tauceti.hasOwnProperty("matrioshka_brain")||e.tauceti.matrioshka_brain.count<1e3||r?`
${t("tech_matrioshka_brain")}
${t("requires_segments",[1e3])}
`:`
${t("tech_matrioshka_brain")}
`},reqs:{tau_gas2:7},condition(){return!!e.tauceti.matrioshka_brain},path:["truepath"],queue_size:50,queue_complete(){return 1e3-e.tauceti.matrioshka_brain.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?2e7:0},Neutronium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?45e3:0},Nano_Tube(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?16e4:0},Adamantite(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?666e3:0},Stanene(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?61600:0},Bolognium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?44e3:0},Unobtainium(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?1200:0},Mythril(r){return(r||0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0)<1e3?yr(64e3):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("matrioshka_brain")?e.tauceti.matrioshka_brain.count:0);return i<1e3&&(a+=`
${t("tau_gas2_matrioshka_brain_seg",[1e3-i])}
`),a},action(){return _($(this)[0])&&e.tauceti.matrioshka_brain.count<1e3?(S("matrioshka_brain","tauceti"),e.tauceti.matrioshka_brain.count>=1e3&&(e.tech.m_brain=1),!0):!1},struct(){return{d:{count:0},p:["matrioshka_brain","tauceti"]}}},ignition_device:{id:"tauceti-ignition_device",title:t("tech_ignition_device"),desc(r){return!e.tauceti.hasOwnProperty("ignition_device")||e.tauceti.ignition_device.count<10||r?`
${t("tech_ignition_device")}
${t("requires_segments",[10])}
`:`
${t("tech_ignition_device")}
`},reqs:{tau_gas2:8},condition(){return!!(e.tauceti.ignition_device&&e.tauceti.ignition_device.count<10)},path:["truepath"],queue_size:1,queue_complete(){return 10-e.tauceti.ignition_device.count},cost:{Money(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?25e7:0},Uranium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?5e4:0},Elerium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?25e3:0},Graphene(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?225e5:0},Orichalcum(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?15e6:0},Quantium(r){return(r||0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0)<10?yr(8e6):0}},effect(r){let a="",i=(r?.count??0)+(e.tauceti.hasOwnProperty("ignition_device")?e.tauceti.ignition_device.count:0);return i<10&&(a+=`
${t("tau_gas2_ignition_device_seg",[10-i])}
`),a},action(){return _($(this)[0])&&e.tauceti.ignition_device.count<10?(S("ignition_device","tauceti"),e.tauceti.ignition_device.count>=10&&(e.tech.m_ignite=1),!0):!1},struct(){return{d:{count:0},p:["ignition_device","tauceti"]}}},ignite_gas_giant:{id:"tauceti-ignite_gas_giant",title(){return t("tau_gas2_ignite_gas_giant",[le.tau_gas2.info.name()])},desc(){return t("tau_gas2_ignite_gas_giant",[le.tau_gas2.info.name()])},reqs:{tau_gas2:8,m_ignite:1},grant:["m_ignite",2],queue_size:1,queue_complete(){return!1},path:["truepath"],cost:{Helium_3(){return 75e5}},effect(){let r=`
${t("tau_gas2_ignite_gas_giant_effect",[t("tech_matrioshka_brain")])}
`;return e.tech.m_brain?(r=r+`
${t("tau_gas2_ignite_gas_giant_effect3")}
`,r+=ou()):r=r+`
${t("tau_gas2_ignite_gas_giant_effect2",[t("tech_matrioshka_brain")])}
`,r},action(){return e.tech.m_brain&&_($(this)[0])?(ao(),!0):!1}}}};for(let r=1;r<9;r++)le.tau_gas[`gas_contest-a${r}`]={id:`tauceti-gas_contest-a${r}`,title(){return le.tau_gas.info.name(r)},desc(){return le.tau_gas.info.name(r)},reqs:{tau_gas:1},grant:["tau_gas",2],path:["truepath"],wiki:!1,queue_complete(){return e.tech.tau_gas>=2?0:1},cost:{},effect(){return t(r===8?"tau_gas_contest_reject":"tau_gas_contest_pick",[le.tau_gas.info.name(r)])},action(){return _($(this)[0])?(e.race.gas_name=r,y(le.tauceti.tau_gas.refueling_station),!0):!1}},le.tau_gas2[`gas_contest-b${r}`]={id:`tauceti-gas_contest-b${r}`,title(){return le.tau_gas2.info.name(r)},desc(){return le.tau_gas2.info.name(r)},reqs:{tau_gas2:2},grant:["tau_gas2",3],path:["truepath"],wiki:!1,queue_complete(){return e.tech.tau_gas2>=3?0:1},cost:{},effect(){return t(r===8?"tau_gas2_contest_reject":"tau_gas_contest_pick",[le.tau_gas2.info.name(r)])},action(){return _($(this)[0])?(e.race.gas_name2=r,!0):!1}};function so(){let r=$e("matrix"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name"),i=e.stats.retire===e.stats.matrix+1?`
${t("tau_star_matrix_skilled",[1])}
`:"";return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
${i}`}function ou(){let r=$e("retired"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name"),i=e.stats.retire+1===e.stats.matrix?`
${t("tau_star_matrix_skilled",[1])}
`:"";return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
${i}`}function lu(){let r=$e("eden"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("tau_star_matrix_servants",[1])}
`}function Fn(){y(le.tau_red.overseer),y(le.tau_red.womling_village),y(le.tau_red.womling_mine),y(le.tau_red.womling_fun),y(le.tau_red.womling_farm),e.race.lone_survivor&&(e.tauceti.womling_village.count=2,e.tauceti.womling_village.on=2,e.tauceti.womling_mine.count=1,e.tauceti.womling_mine.on=1)}function uu(r){return e.tech.womling_tech&&e.tech.womling_logistics&&e.tech.womling_logistics>=2&&(r*=.94**e.tech.womling_tech),r}function yr(r){return e.tech.womling_tech&&e.tech.womling_recycling&&e.tech.womling_recycling>=1&&(r*=(e.tech.isolation?.97:.98)**e.tech.womling_tech),r}function ii(){return ei}function no(){return le}function Yt(){return!!(e.tech.tauceti&&e.tech.tauceti>=4)}function co(r,a,i){switch(r){case"tauceti":return Vt(le,a,i)}}function br(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==6))return;let r=$("#tauceti");K(r),r.append($(`

${t("tab_tauceti")}

`)),!(!e.tech.tauceti||e.tech.tauceti<2)&&Object.keys(le).forEach(function(a){let i=a.replace("tau_","");if(e.settings.tau[`${i}`]){let s=typeof le[a].info.name=="string"?le[a].info.name:le[a].info.name(),n="";if(le[a].info.hasOwnProperty("prop")&&(n=le[a].info.prop()),le[a].info.support){let c=le[a].info.support;le[a].info.hide_support?r.append(`

${s}

${n}
`):r.append(`

${s}

{{ support }}/{{ s_max }}${n}
`),C({el:`#sr${a}`,data:e.tauceti[c],filters:{filter(){return le[a].info.filter(...arguments)}}})}else r.append(`

${s}

${n}
`);N(a,function(){return typeof le[a].info.desc=="string"?le[a].info.desc:le[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),Object.keys(le[a]).forEach(function(c){if(c!=="info"&&Vt(le,a,c)){let o=le[a][c];er(o,"tauceti",c)}}),le[a].info.hasOwnProperty("extra")&&le[a].info.extra(a)}})}function En(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==2||e.settings.govTabs!==5))&&(In(),ni(),K($("#dwarfShipYard")),e.space.hasOwnProperty("shipyard")&&e.settings.showShipYard)){let r=$("#dwarfShipYard");e.space.shipyard.hasOwnProperty("blueprint")||(e.space.shipyard.blueprint={class:"corvette",armor:"steel",weapon:"railgun",engine:"ion",power:"diesel",sensor:"radar",name:ks()});let a=$('
');r.append(a);let i=$('
');a.append(i),i.append(`
${t("outer_shipyard_registry")}:
`),i.append(`
${t("crew")}
`),i.append(`
${t("power")}
`),i.append(`
${t("firepower")}
`),i.append(`
${t("outer_shipyard_sensors")}
`),i.append(`
${t("speed")}
`),i.append(`
${t("outer_shipyard_fuel")}
`),a.append('
');let s=$('
');a.append(s);let n={class:["corvette","frigate","destroyer","cruiser","battlecruiser","dreadnought","explorer"],power:["solar","diesel","fission","fusion","elerium"],weapon:["railgun","laser","p_laser","plasma","phaser","disruptor"],armor:["steel","alloy","neutronium"],engine:["ion","tie","pulse","photon","vacuum","emdrive"],sensor:["visual","radar","lidar","quantum"]};Object.keys(n).forEach(function(l){let u="";n[l].forEach(function(p,h){u+=`${t(`outer_shipyard_${l}_${p}`)}`}),s.append(` ${u} @@ -6,7 +6,7 @@ ${n} - `;if(e.space.shipyard.expand){let l=`${t(`outer_shipyard_engine_${s.engine}`)} ${t(`outer_shipyard_class_${s.class}`)}`,u=$(`
`),p=$(`
${s.name} | ${t("outer_shipyard_scrap")} | ${l} | ${t(`outer_shipyard_weapon_${s.weapon}`)} | ${t(`outer_shipyard_power_${s.power}`)} | ${t(`outer_shipyard_armor_${s.armor}`)} | ${t(`outer_shipyard_sensor_${s.sensor}`)}
`),h=$('
'),d=$('
'),g=$(`
${o}
`);h.append(`${t("crew")} `),h.append(`${t("firepower")} `),h.append(`${t("outer_shipyard_sensors")} `),h.append(`${t("speed")} `),h.append(`${t("outer_shipyard_fuel")} `),h.append(`${t("outer_shipyard_hull")} `),d.append(``),u.append(p),u.append(h),u.append(d),u.append(g),r.append(u)}else{let l=$(`
`),u=$('
'),p=$('
'),h=$(`
${o}
`);u.append(`${s.name} | `),u.append(`${t("firepower")} `),u.append(`${t("outer_shipyard_sensors")} `),u.append(`${t("speed")} `),u.append(`${t("outer_shipyard_fuel")} `),u.append(`${t("outer_shipyard_hull")} `),p.append(``),l.append(u),l.append(p),l.append(h),r.append(l)}C({el:`#shipReg${i}`,data:e.space.shipyard.ships[i],methods:{scrap(l){e.space.shipyard.ships[l]&&e.space.shipyard.ships[l].location==="spc_dwarf"&&(e.space.shipyard.ships.splice(l,1),Ba(),$s())},scrapAllowed(l){return!!(e.space.shipyard.ships[l]&&e.space.shipyard.ships[l].location==="spc_dwarf")},setLoc(l,u){let p=e.space.shipyard.ships[u];if(l!==p.location){let h=Di(p),d=p.transit>0||p.location!=="spc_dwarf";if(d||e.civic.garrison.workers-e.civic.garrison.crew>=h){let g=An(p,l),w=Tn(p.xy,g),k=ti(p);p.location=l,p.transit=Math.round(w/k),p.dist=Math.round(w/k),p.origin=Re(p.xy),p.destination={x:g.x,y:g.y},d||(e.civic.garrison.crew+=h),Ba(),le(`ship${u}loc${l}`)}}},crewText(l){return Di(e.space.shipyard.ships[l])},fireText(l){return si(e.space.shipyard.ships[l])},sensorText(l){return ci(e.space.shipyard.ships[l])+"km"},speedText(l){let u=7.695363719135802*ti(e.space.shipyard.ships[l]);return Math.round(u)+"km/s"},fuelText(l){let u=lo(e.space.shipyard.ships[l]);return u.res?`${u.burn} ${e.resource[u.res].name}/s`:"N/A"},hullText(l){return`${100-e.space.shipyard.ships[l].damage}%`},hullDamage(l){return e.space.shipyard.ships[l].damage<=10?"has-text-success":e.space.shipyard.ships[l].damage>=40&&e.space.shipyard.ships[l].damage<65?"has-text-caution":e.space.shipyard.ships[l].damage>=65?"has-text-danger":""},dest(l){let u=s.class==="explorer"?t("tech_era_tauceti"):typeof a[e.space.shipyard.ships[l].location].info.name=="string"?a[e.space.shipyard.ships[l].location].info.name:a[e.space.shipyard.ships[l].location].info.name();return t("outer_shipyard_arrive",[u,e.space.shipyard.ships[l].transit])},show(l){return e.space.shipyard.ships[l].transit>0}}}),s.class==="explorer"?s.location!=="tauceti"&&N(`ship${i}loctauceti`,function(){return t("transit_time",[Math.round(Tn(s.xy,An(s,"tauceti"))/ti(s))])},{elm:`#ship${i}loc .tauceti`,placement:"left"}):Object.keys(a).forEach(function(l){(a[l].info.syndicate()||l==="spc_dwarf")&&s.location!==l&&N(`ship${i}loc${l}`,function(){return t("transit_time",[Math.round(Tn(s.xy,An(s,l))/ti(s))])},{elm:`#ship${i}loc .${l}`,placement:"left"})})}pu()}function An(r,a){if(wt[a].orbit===-2)return ai(a);let i=Math.sqrt((r.xy.x-qs(a))**2+r.xy.y**2),s=ti(r)/225,n=xs(1,a),c=Math.abs(i-wt[a].dist),o=Math.abs(i+wt[a].dist),l=Math.abs(i-wt[a].dist*n),u=Math.abs(i+wt[a].dist*n),p=Math.floor(Math.min(c,l,o,u)/s),h=Math.ceil(Math.max(c,l,o,u)/s);i>=wt[a].dist&&i<=wt[a].dist*n&&(p=0);let g=360/(wt[a].orbit===-1?qa():wt[a].orbit),w=(e.space.position[a]+p*g)%360,k=Math.PI/180;for(let M=p;M<=h;M++){let q=xs(Math.cos(w*k)*wt[a].dist,a);q+=qs(a);let P=Math.sin(w*k)*wt[a].dist;if(Math.sqrt((q-r.xy.x)**2+(P-r.xy.y)**2)/s<=M)return{x:q,y:P};w=(w+g)%360}return ai(a)}function Wr(r,a){if(!e.tech.isolation&&e.tech.syndicate&&e.race.truepath&&e.space.syndicate&&e.space.syndicate.hasOwnProperty(r)){let i=1e3,s=0;switch(e.civic.foreign.gov3.hstl<10?s=250-25*e.civic.foreign.gov3.hstl:e.civic.foreign.gov3.hstl>60&&(s=-13*(e.civic.foreign.gov3.hstl-60)),r){case"spc_home":case"spc_moon":case"spc_red":case"spc_hell":i=1250+s;break;case"spc_gas":case"spc_gas_moon":case"spc_belt":i=1020+s;break;case"spc_titan":case"spc_enceladus":i=m.space[r].info.syndicate_cap();break;case"spc_triton":case"spc_kuiper":case"spc_eris":i=m.space[r].info.syndicate_cap();break}let n=e.space.syndicate[r];e.race.chicken&&(n*=1+v.chicken.vars()[1]/100,n=Math.round(pirate)),e.race.ocular_power&&e.race.ocularPowerConfig&&e.race.ocularPowerConfig.f&&(n*=1-v.ocular_power.vars()[1]/500,n=Math.round(pirate));let c=0,o=0,l=0;if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")){if(e.space.shipyard.ships.forEach(function(u){if(u.location===r&&u.transit===0&&u.fueled){let p=si(u);c+=u.damage>0?Math.round(p*(100-u.damage)/100):p,o+=ci(u)}}),r==="spc_enceladus"&&Math.min(be.operating_base,H.operating_base)>0){let u=Math.min(be.operating_base,H.operating_base);c+=u*50}else r==="spc_titan"&&H.sam>0?c+=H.sam*25:r==="spc_triton"&&H.fob>0&&(c+=500,o+=10);o>100&&(o=Math.round((o-100)/(o-100+200)*100)+100),c=Math.round(c*((o+25)/125)),c>n&&(l=c-n),n=n-c>0?n-c:0}return a?{p:1-+(n/i).toFixed(4),r:n,s:o,o:l}:1-+(n/i).toFixed(4)}return a?{p:1,r:0,s:0,o:0}:1}function ci(r){let a=1;switch(r.class){case"corvette":case"frigate":a=2;break;case"destroyer":case"cruiser":a=1.5;break;case"explorer":a=5;break;default:a=1;break}switch(r.sensor){case"visual":return 1;case"radar":return 10*a;case"lidar":return 18*a;case"quantum":return 32*a}}var wt={spc_sun:{dist:0,orbit:0,size:2},spc_home:{dist:1,orbit:-1,size:.6},spc_moon:{dist:1.01,orbit:-1,size:.1,moon:!0},spc_red:{dist:1.524,orbit:687,size:.5},spc_hell:{dist:.4,orbit:88,size:.4},spc_venus:{dist:.7,orbit:225,size:.5},spc_gas:{dist:5.203,orbit:4330,size:1.25},spc_gas_moon:{dist:5.204,orbit:4330,size:.2,moon:!0},spc_belt:{dist:2.7,orbit:1642,size:.5,belt:!0},spc_dwarf:{dist:2.77,orbit:1682,size:.5},spc_saturn:{dist:9.539,orbit:10751,size:1.1},spc_titan:{dist:9.536,orbit:10751,size:.2,moon:!0},spc_enceladus:{dist:9.542,orbit:10751,size:.1,moon:!0},spc_uranus:{dist:19.8,orbit:30660,size:1},spc_neptune:{dist:30.08,orbit:60152,size:1},spc_triton:{dist:30.1,orbit:60152,size:.1,moon:!0},spc_kuiper:{dist:39.5,orbit:90498,size:.5,belt:!0},spc_eris:{dist:68,orbit:204060,size:.5},tauceti:{dist:752568.8,orbit:-2,size:2}};function In(){e.space.position||(e.space.position={}),Object.keys(wt).forEach(function(r){e.space.position.hasOwnProperty(r)||(e.space.position[r]=Math.rand(0,360))}),e.space.position.spc_home=e.space.position.spc_moon,e.space.position.spc_gas_moon=e.space.position.spc_gas,e.space.position.spc_titan=e.space.position.spc_enceladus,e.space.position.spc_saturn=e.space.position.spc_titan,e.space.position.spc_neptune=e.space.position.spc_triton}function ai(r){let a=xs(+Math.cos(e.space.position[r]*(Math.PI/180)).toFixed(5)*wt[r].dist,r),i=+Math.sin(e.space.position[r]*(Math.PI/180)).toFixed(5)*wt[r].dist;return a+=qs(r),{x:a,y:i}}function Tn(r,a){return Math.ceil(Math.sqrt((a.x-r.x)**2+(a.y-r.y)**2)*225)}function ri(r,a,i){let s=1;switch(e.race.pack_rat&&(s*=1+v.pack_rat.vars()[1]/100),e.stats.achieve.blackhole&&(s*=1+e.stats.achieve.blackhole.l*.05),e.tech.world_control&&(s*=3),r){case"storehouse":{let n=i?e.space?.titan_spaceport?.on??0:H.titan_spaceport;n&&(s*=1+n*.25),a&&e.tech.shelving&&(s*=2),e.tech.shelving&&e.tech.shelving>=3&&(s*=1.5)}case"repository":e.tech.isolation&&(s*=3,e.tech.tp_depot&&(s*=1+e.tech.tp_depot/20));break}return s}function uo(){let r={city:{},space:{},ships:[]};r.ships=[...e.space.shipyard.ships],e.space.shipyard.ships=[],e.settings.spaceTabs=6,e.settings.showSpace=!1,e.settings.showOuter=!1,e.settings.showCity=!1,e.settings.showShipYard=!1,e.settings.govTabs===5&&(e.settings.govTabs=0),ni(),K($("#shipList")),Object.keys(m.city).forEach(function(i){e.city.hasOwnProperty(i)&&e.city[i].hasOwnProperty("count")&&(e.race.hooved&&m.city[i].cost.hasOwnProperty("Horseshoe")&&(e.race.shoecnt-=m.city[i].cost.Horseshoe()*e.city[i].count),r.city[i]={c:e.city[i].count},e.city[i].count=0,e.city[i].hasOwnProperty("on")&&(r.city[i].o=e.city[i].on,e.city[i].on=0))}),["spc_home","spc_moon","spc_red","spc_hell","spc_sun","spc_gas","spc_gas_moon","spc_belt","spc_dwarf","spc_titan","spc_enceladus","spc_triton","spc_kuiper","spc_eris"].forEach(function(i){Object.keys(m.space[i]).forEach(function(s){e.space.hasOwnProperty(s)&&e.space[s].hasOwnProperty("count")&&(e.race.hooved&&m.space[i][s].cost.hasOwnProperty("Horseshoe")&&(e.race.shoecnt-=m.space[i][s].cost.Horseshoe()*e.space[s].count),r.space[s]={c:e.space[s].count},e.space[s].count=0,e.space[s].hasOwnProperty("on")&&(r.space[s].o=e.space[s].on,e.space[s].on=0))})}),e.race.hooved&&e.race.shoecnt<5&&(e.race.shoecnt=5),e.resource.Zen.display&&(e.resource.Zen.display=!1),e.resource.Slave.display&&(e.resource.Slave.display=!1,e.resource.Slave.amount=0,lr("slave")),e.race.deconstructor&&xa.forEach(function(i){e.city.nanite_factory[i]=0}),Object.keys(e.resource).forEach(function(i){e.resource[i].hasOwnProperty("trade")&&(e.resource[i].trade=0)}),Object.keys(oi).forEach(function(i){["professor","scientist","pit_miner","cement_worker","craftsman"].includes(i)||(e.civic[i].workers=0,e.civic[i].assigned=0)}),["forager","farmer","lumberjack","quarry_worker","miner","coal_miner","priest","colonist","titan_colonist","space_miner"].forEach(function(i){e.civic[i].display=!1}),e.civic.hunter.display?e.civic.d_job="hunter":e.civic.d_job="unemployed",e.arpa.sequence&&(e.arpa.sequence.on=!1,e.arpa.sequence.boost=!1);for(let i of Object.values(e.race.purgatory.city))i.hasOwnProperty("count")&&(i.count=0),i.hasOwnProperty("on")&&(i.on=0);for(let i of Object.values(e.race.purgatory.space))i.hasOwnProperty("count")&&(i.count=0),i.hasOwnProperty("on")&&(i.on=0);if(e.queue.hasOwnProperty("queue"))for(let i=e.queue.queue.length-1;i>=0;i--){let s=e.queue.queue[i];(s.action==="city"||s.action==="space"||s.action==="starDock")&&e.queue.queue.splice(i,1)}e.tech.magic&&e.tech.magic>=2&&(e.tauceti.pylon={count:0},e.race.casting&&Object.keys(e.race.casting).forEach(function(i){e.race.casting[0]=0})),y(ue.tau_home.tauceti_casino),y(ue.tau_home.tau_housing);let a=be.colony*ue.tau_home.colony.citizens();e.resource[e.race.species].amount>a&&(e.resource[e.race.species].amount=a),lr("spy"),lr("spyop"),K($("#infoTimer")),e.race.inactive=r}function _o(){e.race.lone_survivor&&(e.tech.alloy=1,e.tech.alumina=2,e.tech.asteroid=7,e.tech.banking=11,e.tech.biotech=1,e.tech.boot_camp=2,e.tech.broadcast=2,e.tech.container=7,e.tech.copper=1,e.tech.currency=6,e.tech.disease=2,e.tech.drone=1,e.tech.elerium=2,e.tech.explosives=3,e.tech.factory=3,e.tech.foundry=8,e.tech.gambling=4,e.tech.gas_giant=1,e.tech.gas_moon=2,e.tech.genesis=2,e.tech.genetics=2,e.tech.gov_corp=1,e.tech.gov_fed=1,e.tech.gov_soc=1,e.tech.gov_theo=1,e.tech.govern=3,e.tech.graphene=1,e.tech.helium=1,e.tech.hell=1,e.tech.high_tech=13,e.tech.home_safe=2,e.tech.housing=3,e.tech.housing_reduction=3,e.tech.kuiper=2,e.tech.launch_facility=1,e.tech.luna=2,e.tech.m_smelting=2,e.tech.marines=2,e.tech.mars=5,e.tech.mass=1,e.tech.medic=3,e.tech.military=8,e.tech.mine_conveyor=1,e.tech.mining=4,e.tech.monument=1,e.tech.nano=1,e.tech.oil=7,e.tech.outer=8,e.tech.pickaxe=5,e.tech.polymer=2,e.tech.primitive=3,e.tech.q_factory=1,e.tech.quantium=1,e.tech.queue=3,e.tech.r_queue=1,e.tech.reproduction=1,e.tech.rival=1,e.tech.satellite=1,e.tech.science=9,e.tech.shelving=3,e.tech.shipyard=1,e.tech.smelting=6,e.tech.solar=5,e.tech.space=6,e.tech.space_explore=4,e.tech.space_housing=1,e.tech.spy=5,e.tech.stanene=1,e.tech.steel_container=6,e.tech.storage=5,e.tech.swarm=6,e.tech.syard_armor=3,e.tech.syard_class=6,e.tech.syard_engine=5,e.tech.syard_power=5,e.tech.syard_sensor=4,e.tech.syard_weapon=6,e.tech.syndicate=0,e.tech.synthetic_fur=1,e.tech.tau_home=6,e.tech.tauceti=4,e.tech.theatre=3,e.tech.theology=2,e.tech.titan=9,e.tech.titan_ai_core=3,e.tech.titan_power=1,e.tech.titanium=3,e.tech.trade=3,e.tech.unify=2,e.tech.uranium=4,e.tech.v_train=1,e.tech.vault=4,e.tech.wharf=1,e.tech.world_control=1,e.tech.wsc=0,e.race.flier||(e.tech.cement=5,e.resource.Cement.display=!0),e.race.universe==="magic"&&(e.tech.gov_mage=1,e.tech.magic=4,e.tech.conjuring=2,e.resource.Mana.display=!0,e.resource.Crystal.display=!0,e.civic.crystal_miner.display=!0,e.tauceti.pylon={count:0},e.race.casting={farmer:0,miner:0,lumberjack:0,science:0,factory:0,army:0,hunting:0,crafting:0,total:0}),e.settings.showSpace=!1,e.settings.showTau=!0,e.settings.tau.home=!0,e.settings.showCity=!1,e.settings.showIndustry=!0,e.settings.showPowerGrid=!0,e.settings.showResearch=!0,e.settings.showCivic=!0,e.settings.showMil=!0,e.settings.showResources=!0,e.settings.showMarket=!0,e.settings.showStorage=!0,e.settings.civTabs=1,e.settings.spaceTabs=6,e.settings.showGenetics=!0,e.settings.arpa.physics=!0,e.settings.arpa.genetics=!0,e.resource[e.race.species].display=!0,e.resource.Knowledge.display=!0,e.resource.Money.display=!0,e.resource.Crates.display=!0,e.resource.Containers.display=!0,e.resource.Food.display=!0,e.resource.Stone.display=!0,e.resource.Furs.display=!0,e.resource.Copper.display=!0,e.resource.Iron.display=!0,e.resource.Aluminium.display=!0,e.resource.Coal.display=!0,e.resource.Oil.display=!0,e.resource.Uranium.display=!0,e.resource.Steel.display=!0,e.resource.Titanium.display=!0,e.resource.Alloy.display=!0,e.resource.Polymer.display=!0,e.resource.Iridium.display=!0,e.resource.Helium_3.display=!0,e.resource.Water.display=!0,e.resource.Neutronium.display=!0,e.resource.Adamantite.display=!0,e.resource.Elerium.display=!0,e.resource.Nano_Tube.display=!0,e.resource.Graphene.display=!0,e.resource.Stanene.display=!0,e.resource.Orichalcum.display=!0,e.resource.Bolognium.display=!0,e.resource.Unobtainium.display=!0,e.resource.Brick.display=!0,e.resource.Wrought_Iron.display=!0,e.resource.Sheet_Metal.display=!0,e.resource.Mythril.display=!0,e.resource.Quantium.display=!0,e.resource.Cipher.display=!0,!e.race.kindling_kindred&&!e.race.smoldering&&(e.civic.lumberjack.display=!0,e.resource.Lumber.display=!0,e.resource.Plywood.display=!0,e.resource.Lumber.max=1e7,e.resource.Lumber.amount=1e7,e.resource.Plywood.amount=25e5,e.resource.Lumber.crates=25,e.resource.Lumber.containers=25,e.tech.axe=5),e.race.smoldering&&(e.resource.Chrysotile.display=!0,e.resource.Chrysotile.max=5e6,e.resource.Chrysotile.amount=5e6),e.race.sappy||(e.tech.hammer=4),e.race.apex_predator||(e.tech.armor=3),e.resource[e.race.species].max=1,e.resource[e.race.species].amount=1,e.resource.Crates.amount=1e3,e.resource.Containers.amount=1e3,e.resource.Money.max=1e9,e.resource.Money.amount=1e9,e.resource.Knowledge.max=4321200,e.resource.Knowledge.amount=4321200,e.resource.Food.max=1e4,e.resource.Food.amount=1e4,e.resource.Oil.max=5e5,e.resource.Oil.amount=5e5,e.resource.Helium_3.max=5e5,e.resource.Helium_3.amount=5e5,e.resource.Water.max=25e3,e.resource.Water.amount=25e3,e.resource.Uranium.max=5e5,e.resource.Uranium.amount=5e5,e.resource.Stone.max=1e7,e.resource.Stone.amount=1e7,e.resource.Furs.max=5e6,e.resource.Furs.amount=5e6,e.resource.Copper.max=5e6,e.resource.Copper.amount=5e6,e.resource.Iron.max=5e6,e.resource.Iron.amount=5e6,e.resource.Steel.max=5e6,e.resource.Steel.amount=5e6,e.resource.Aluminium.max=5e6,e.resource.Aluminium.amount=5e6,e.resource.Cement.max=5e6,e.resource.Cement.amount=5e6,e.resource.Titanium.max=5e6,e.resource.Titanium.amount=5e6,e.resource.Coal.max=5e6,e.resource.Coal.amount=5e6,e.resource.Alloy.max=5e6,e.resource.Alloy.amount=5e6,e.resource.Polymer.max=5e6,e.resource.Polymer.amount=5e6,e.resource.Iridium.max=5e6,e.resource.Iridium.amount=5e6,e.resource.Neutronium.max=5e5,e.resource.Neutronium.amount=5e5,e.resource.Adamantite.max=5e6,e.resource.Adamantite.amount=5e6,e.resource.Elerium.max=1e3,e.resource.Elerium.amount=1e3,e.resource.Nano_Tube.max=5e6,e.resource.Nano_Tube.amount=5e6,e.resource.Graphene.max=5e6,e.resource.Graphene.amount=5e6,e.resource.Stanene.max=5e6,e.resource.Stanene.amount=5e6,e.resource.Bolognium.max=5e6,e.resource.Bolognium.amount=5e6,e.resource.Orichalcum.max=5e6,e.resource.Orichalcum.amount=5e6,e.resource.Brick.amount=25e5,e.resource.Wrought_Iron.amount=25e5,e.resource.Sheet_Metal.amount=25e5,e.resource.Mythril.amount=25e5,e.resource.Quantium.amount=25e5,e.race.artifical||(e.resource.Food.crates=10,e.resource.Food.containers=10),e.resource.Stone.crates=25,e.resource.Stone.containers=25,e.resource.Furs.crates=25,e.resource.Furs.containers=25,e.resource.Coal.crates=10,e.resource.Coal.containers=10,e.resource.Copper.crates=25,e.resource.Copper.containers=25,e.resource.Iron.crates=25,e.resource.Iron.containers=25,e.resource.Aluminium.crates=25,e.resource.Aluminium.containers=25,e.resource.Steel.crates=25,e.resource.Steel.containers=25,e.resource.Titanium.crates=25,e.resource.Titanium.containers=25,e.resource.Alloy.crates=25,e.resource.Alloy.containers=25,e.resource.Polymer.crates=25,e.resource.Polymer.containers=25,e.resource.Iridium.crates=25,e.resource.Iridium.containers=25,e.resource.Adamantite.crates=25,e.resource.Adamantite.containers=25,e.resource.Graphene.crates=25,e.resource.Graphene.containers=25,e.resource.Stanene.crates=25,e.resource.Stanene.containers=25,e.resource.Bolognium.crates=25,e.resource.Bolognium.containers=25,e.resource.Orichalcum.crates=25,e.resource.Orichalcum.containers=25,e.civic.taxes.display=!0,e.race.flier||(e.civic.cement_worker.display=!0,e.resource.Cement.crates=25,e.resource.Cement.containers=25),e.race.sappy||(e.civic.quarry_worker.display=!0),e.civic.professor.display=!0,e.civic.scientist.display=!0,e.civic.banker.display=!0,e.civic.pit_miner.display=!0,e.civic.professor.max=1,e.civic.professor.workers=1,e.city.calendar.day++,e.city.market.active=!0,e.city.power=0,e.city.powered=!0,e.race.artifical&&(e.city.transmitter={count:0,on:0}),y(m.city.factory),y(m.city.foundry),y(m.city.smelter),e.city.smelter.cap=2,e.city.smelter.Oil=2,e.city.smelter.Iron=1,e.city.smelter.Steel=1,y(m.city.amphitheatre),y(m.city.apartment),y(m.city.bank),y(m.city.basic_housing),y(m.city.biolab),y(m.city.boot_camp),y(m.city.casino),y(m.city.cement_plant),y(m.city.coal_mine),y(m.city.coal_power),y(m.city.cottage),y(m.city.fission_power),y(m.city.garrison),y(m.city.hospital),y(m.city.library),y(m.city.lumber_yard),y(m.city.mass_driver),y(m.city.metal_refinery),y(m.city.mine),y(m.city.oil_depot),y(m.city.oil_power),y(m.city.oil_well),y(m.city.rock_quarry),y(m.city.sawmill),y(m.city.shed),y(m.city.storage_yard),y(m.city.temple),y(m.city.tourist_center),y(m.city.trade),y(m.city.university),y(m.city.wardenclyffe),y(m.city.warehouse),y(m.city.wharf),y(m.space.spc_belt.elerium_ship),y(m.space.spc_belt.iridium_ship),y(m.space.spc_belt.iron_ship),y(m.space.spc_belt.space_station),y(m.space.spc_dwarf.e_reactor),y(m.space.spc_dwarf.elerium_contain),y(m.space.spc_dwarf.mass_relay),e.space.mass_relay.count=100,y(m.space.spc_dwarf.shipyard),y(m.space.spc_enceladus.munitions_depot),y(m.space.spc_enceladus.operating_base),y(m.space.spc_enceladus.water_freighter),y(m.space.spc_enceladus.zero_g_lab),y(m.space.spc_eris.digsite),y(m.space.spc_eris.drone_control),y(m.space.spc_eris.shock_trooper),y(m.space.spc_eris.tank),y(m.space.spc_gas.gas_mining),y(m.space.spc_gas.gas_storage),y(m.space.spc_gas_moon.drone),y(m.space.spc_gas_moon.oil_extractor),y(m.space.spc_gas_moon.outpost),y(m.space.spc_hell.geothermal),y(m.space.spc_hell.hell_smelter),y(m.space.spc_hell.spc_casino),y(m.space.spc_hell.swarm_plant),y(m.space.spc_home.gps),y(m.space.spc_home.nav_beacon),y(m.space.spc_home.propellant_depot),y(m.space.spc_home.satellite),y(m.space.spc_kuiper.elerium_mine),y(m.space.spc_kuiper.neutronium_mine),y(m.space.spc_kuiper.orichalcum_mine),y(m.space.spc_kuiper.uranium_mine),y(m.space.spc_moon.helium_mine),y(m.space.spc_moon.iridium_mine),y(m.space.spc_moon.moon_base),y(m.space.spc_moon.observatory),y(m.space.spc_red.biodome),y(m.space.spc_red.exotic_lab),y(m.space.spc_red.fabrication),y(m.space.spc_red.garage),y(m.space.spc_red.living_quarters),y(m.space.spc_red.red_factory),y(m.space.spc_red.red_mine),y(m.space.spc_red.red_tower),y(m.space.spc_red.space_barracks),y(m.space.spc_red.spaceport),y(m.space.spc_red.vr_center),y(m.space.spc_red.ziggurat),y(m.space.spc_sun.swarm_control),y(m.space.spc_sun.swarm_satellite),y(m.space.spc_titan.ai_colonist),y(m.space.spc_titan.decoder),y(m.space.spc_titan.electrolysis),y(m.space.spc_titan.g_factory),y(m.space.spc_titan.hydrogen_plant),y(m.space.spc_titan.storehouse),y(m.space.spc_titan.titan_bank),y(m.space.spc_titan.titan_mine),y(m.space.spc_titan.titan_quarters),y(m.space.spc_titan.titan_spaceport),y(m.space.spc_triton.crashed_ship),e.space.crashed_ship.count=100,y(m.space.spc_triton.fob),y(m.space.spc_triton.lander),y(m.tauceti.tau_gas.refueling_station),y(m.tauceti.tau_home.alien_outpost),e.tauceti.alien_outpost.count=1,e.tauceti.alien_outpost.on=1,y(m.tauceti.tau_home.colony),e.tauceti.colony.count=1,e.tauceti.colony.on=1,y(m.tauceti.tau_home.fusion_generator),e.tauceti.fusion_generator.count=1,e.tauceti.fusion_generator.on=1,y(m.tauceti.tau_home.infectious_disease_lab),y(m.tauceti.tau_home.mining_pit),e.tauceti.mining_pit.count=1,e.tauceti.mining_pit.on=1,y(m.tauceti.tau_home.orbital_station),e.tauceti.orbital_station.count=1,e.tauceti.orbital_station.on=1,y(m.tauceti.tau_home.repository),e.tauceti.repository.count=2,y(m.tauceti.tau_home.tauceti_casino),y(m.tauceti.tau_red.orbital_platform),e.space.ai_core={count:100},e.space.ai_core2={count:0,on:0},e.space.m_relay={count:0,on:0},e.civic.garrison={display:!0,disabled:!1,progress:0,tactic:0,workers:2,wounded:0,raid:0,max:2},e.arpa.sequence={max:5e4,progress:0,time:5e4,on:!0,boost:!1,auto:!1,labs:0},e.tech.stock_exchange=0,e.tech.monuments=0,e.tech.supercollider=0,e.tech.tp_depot=0,e.tech.railway=0,e.tech.isolation=1,e.race.truepath=1,e.arpa.m_type=Pe("Monument"),ae(),br(),Pe("Physics"),gt())}function mu(r){let a=0,i=r?e.space.ai_colonist.on:H.ai_colonist,s=r?e.space.decoder.on:be.decoder,n=r?e.space.shock_trooper.on:be.shock_trooper,c=r?e.space.tank.on:be.tank;return i&&s&&(a+=i*s*.35),n&&(a+=n*2),c&&(a+=c*2),a>100&&(a=100),a}function xs(r,a){if(wt[a].orbit!==-2){let i=1.075+wt[a].dist/100;if(e.city.ptrait.includes("elliptical"))switch(a){case"spc_home":i=1.5;break;default:i=1.275+wt[a].dist/100;break}r*=i}return r}function qs(r){if(wt[r].orbit!==-2){let a=wt[r].dist/3;return e.city.ptrait.includes("elliptical")&&r==="spc_home"&&(a+=.15),r==="spc_eris"&&(a+=25),a}return 0}var Ur,dt;function Ya(){let r=document.getElementById("mapCanvas"),a=r.getContext("2d");r.width=r.getBoundingClientRect().width,r.height=r.getBoundingClientRect().height,a.save(),a.fillStyle="#000000",a.fillRect(0,0,r.width,r.height),a.translate(dt.x,dt.y),a.scale(Ur,Ur);let i={};for(let[s,n]of Object.entries(wt))i[s]=ai(s);a.lineWidth=1/Ur,a.strokeStyle="#c0c0c0";for(let[s,n]of Object.entries(wt))if(!n.moon&&n.orbit!==-2){a.beginPath(),n.belt||e.race.orbit_decayed&&s==="spc_home"?a.setLineDash([.01,.01]):a.setLineDash([]);let c=qs(s);a.ellipse(c,0,xs(n.dist,s),n.dist,0,0,Math.PI*2,!0),a.stroke()}a.fillStyle="#0000ff",a.strokeStyle="#0000ff";for(let s of e.space.shipyard.ships)s.transit>0&&(a.beginPath(),a.setLineDash([.1,.4]),a.moveTo(s.xy.x,s.xy.y),a.lineTo(s.destination.x,s.destination.y),a.stroke());for(let[s,n]of Object.entries(wt)){if(e.race.orbit_decayed&&["spc_home","spc_moon"].includes(s))continue;let c="558888";if(m.space[s]&&m.space[s].info.syndicate()&&e.settings.space[s.substring(4)]){let l=Wr(s);c=((Math.round(255*(1-l))<<16)+(Math.round(255*l)<<8)).toString(16).padStart(6,0)}s==="spc_dwarf"?c="7132a8":(s==="spc_sun"||s==="tauceti")&&(c="f8ff2b"),a.fillStyle="#"+c,a.beginPath();let o=n.size/10;if(n.moon)switch(s){case"spc_moon":a.arc(i[s].x+.05,i[s].y+.05,o,0,Math.PI*2,!0);break;case"spc_titan":a.arc(i[s].x-.2,i[s].y-.2,o,0,Math.PI*2,!0);break;default:a.arc(i[s].x+.2,i[s].y+.2,o,0,Math.PI*2,!0);break}else{let l=n.size/10;switch(s){case"spc_sun":a.arc(i[s].x,i[s].y,l,0,Math.PI*2,!0);break;default:a.arc(i[s].x,i[s].y,l,0,Math.PI*2,!0);break}}a.fill()}a.fillStyle="#0000ff",a.strokeStyle="#0000ff";for(let s of e.space.shipyard.ships)s.transit>0&&(a.beginPath(),a.arc(s.xy.x,s.xy.y,.1,0,Math.PI*2,!0),a.fill());a.shadowOffsetX=2,a.shadowOffsetY=2,a.shadowBlur=2,a.shadowColor="rgba(0, 0, 0, 0.5)",a.fillStyle="#009aff",a.font=`${20/Ur}px serif`;for(let s of e.space.shipyard.ships)s.transit>0&&a.fillText(s.name,s.xy.x+.15,s.xy.y-.15);a.fillStyle="#ffa500",a.font=`${25/Ur}px serif`;for(let[s,n]of Object.entries(wt))if(m.space[s]&&e.settings.space[s.substring(4)]){if(e.race.orbit_decayed&&["spc_home"].includes(s))continue;let c=m.space[s].info.name,o=typeof c=="function"?c():c;if(n.moon)switch(s){case"spc_moon":a.fillText(o,i[s].x+.1,i[s].y+.1);break;case"spc_titan":a.fillText(o,i[s].x-.3,i[s].y-.3);break;default:a.fillText(o,i[s].x+.25,i[s].y+.2);break}else switch(s){case"spc_sun":break;default:a.fillText(o,i[s].x,i[s].y-.2*n.size);break}}a.restore()}function fu(r){let a=$('
').appendTo(r),i={},s={},n=!1;dt={},Ur=20,a.append($('').on("mouseup mouseover mouseout",()=>n=!1).on("mousedown",o=>{n=!0,s.x=o.clientX-dt.x,s.y=o.clientY-dt.y}).on("mousemove",o=>{n&&(dt.x=o.clientX-s.x,dt.y=o.clientY-s.y,Ya())}).on("wheel",o=>(o.originalEvent.deltaY<0?(Ur/=.8,dt.x=i.x+(dt.x-i.x)/.8,dt.y=i.y+(dt.y-i.y)/.8,Ya()):(Ur*=.8,dt.x=i.x+(dt.x-i.x)*.8,dt.y=i.y+(dt.y-i.y)*.8,Ya()),!1)),$('').on("click",()=>{Ur/=.8,dt.x=i.x+(dt.x-i.x)/.8,dt.y=i.y+(dt.y-i.y)/.8,Ya()}),$('').on("click",()=>{Ur*=.8,dt.x=i.x+(dt.x-i.x)*.8,dt.y=i.y+(dt.y-i.y)*.8,Ya()}));let c=document.getElementById("mapCanvas").getBoundingClientRect();i.x=c.width/2,i.y=c.height/2,dt.x=i.x,dt.y=i.y,Ya()}function gu(){$("#modalBox").append($('

Solar System

')),fu($("#modalBox"))}var $t={eden_asphodel:{info:{name:t("eden_asphodel_name"),desc(){return e.tech.asphodel&&e.tech.asphodel>=5?`${t("eden_asphodel_desc")} ${t("eden_asphodel_desc_hostile")}`:`${t("eden_asphodel_desc")} ${t("eden_asphodel_desc_peaceful")}`},support:"encampment"},survery_meadows:{id:"eden-survery_meadows",title(){return t("eden_survery_meadows_title")},desc(){return $(this)[0].title()},reqs:{edenic:3},grant:["edenic",4],queue_complete(){return e.tech.edenic>=4?0:1},cost:{Oil(r,a){return 1e7}},effect(){return t("eden_survery_meadows_effect")},action(){return _($(this)[0])?(I(t("eden_survery_meadows_action"),"info",!1,["progress"]),!0):!1}},encampment:{id:"eden-encampment",title:t("eden_encampment_title"),desc(){return`
${t("eden_encampment_title")}
${t("requires_power")}
`},reqs:{edenic:4},cost:{Money(r){return f("encampment",r,159e7,1.235,"eden")},Lumber(r){return f("encampment",r,86e7,1.235,"eden")},Iron(r){return f("encampment",r,19e7,1.235,"eden")},Coal(r){return f("encampment",r,235e5,1.235,"eden")}},effect(){let r=`
${t("eden_encampment_effect",[$(this)[0].support()])}
`;if(e.tech.hasOwnProperty("asphodel")&&e.tech.asphodel>=1){let a=G(250);r+=`
${t("plus_max_resource",[a,t("resource_Asphodel_Powder_name")])}
`}if(H.ascension_trigger&&e.eden.hasOwnProperty("encampment")&&e.eden.encampment.asc){let a=m.interstellar.int_sirius.ascension_trigger.heatSink();a=a<0?Math.abs(a):0;let i=150+a**.95/10;r+=`
${t("plus_max_resource",[+i.toFixed(0),e.resource.Omniscience.name])}
`}return r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},support(){return 8},powered(){return V(616)},refresh:!0,action(){return _($(this)[0])?(S("encampment","eden"),L($(this)[0]),e.resource.Asphodel_Powder.max+=G(250),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0,asc:!1},p:["encampment","eden"]}}},soul_engine:{id:"eden-soul_engine",title:t("eden_soul_engine_title"),desc:`
${t("eden_soul_engine_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:4},cost:{Money(r){return f("soul_engine",r,98312500,1.235,"eden")},Neutronium(r){return f("soul_engine",r,45e5,1.235,"eden")},Orichalcum(r){return f("soul_engine",r,375e5,1.235,"eden")},Asphodel_Powder(r){return f("soul_engine",r,3450,1.235,"eden")}},effect(){return`
${t("space_used_support",[t("eden_asphodel_name")])}
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}
`},s_type:"asphodel",support(){return-1},powered(){return nt(-375)},action(){return _($(this)[0])?(S("soul_engine","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["soul_engine","eden"]}}},mech_station:{id:"eden-mech_station",title:t("eden_mech_station_title"),desc(r){return!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10||r?`
${t("eden_mech_station_title")}
${t("requires_segments",[10])}
`:`
${t("eden_mech_station_title")}
`},reqs:{asphodel:6},queue_size:1,queue_complete(){return 10-e.eden.mech_station.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0)<10?675e7:0:!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10?675e7:0},Graphene(r){return r?r+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0)<10?825e5:0:!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10?825e5:0},Infernite(r){return r?r+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0)<10?75e5:0:!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10?75e5:0},Vitreloy(r){return r?r+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0)<10?666e5:0:!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10?666e5:0},Asphodel_Powder(r){return r?r+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0)<10?7500:0:!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10?7500:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0);if(a>=10){let i=`
${t("eden_mech_station_effect")}
`;return i+=`
${t("eden_mech_station_mechs",[e.eden.mech_station.mechs])}
`,i+=`
${t("eden_mech_station_effective",[e.eden.mech_station.effect])}
`,i}else{let s=10-a;return`
${t("eden_mech_station_effect")}
${t("space_dwarf_collider_effect2",[s])}
`}},special(){return!!(e.eden.hasOwnProperty("mech_station")&&e.eden.mech_station.count===10)},action(){return e.eden.mech_station.count<10&&_($(this)[0])?(S("mech_station","eden"),e.eden.mech_station.count===10&&Et(),!0):!1},struct(){return{d:{count:0,mode:3,mechs:0,effect:0},p:["mech_station","eden"]}}},asphodel_harvester:{id:"eden-asphodel_harvester",title:t("eden_asphodel_harvester_title"),desc:`
${t("eden_asphodel_harvester_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:1},cost:{Money(r){return f("asphodel_harvester",r,3428e4,1.24,"eden")},Aluminium(r){return f("asphodel_harvester",r,22288800,1.24,"eden")},Infernite(r){return f("asphodel_harvester",r,666999,1.24,"eden")},Soul_Gem(r){return f("asphodel_harvester",r,2,1.18,"eden")}},effect(){let r=+ie("asphodel_harvester","powder").toFixed(3),a=`
${t("space_used_support",[t("eden_asphodel_name")])}
${t("produce",[r,e.resource.Asphodel_Powder.name])}
`;return e.tech.hell_spire&&e.tech.hell_spire>=11&&(a+=`
${t("eden_asphodel_harvester_upgrade",[2])}
`),a},s_type:"asphodel",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("asphodel_harvester","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["asphodel_harvester","eden"]}}},ectoplasm_processor:{id:"eden-ectoplasm_processor",title:t("eden_ectoplasm_processor_title"),desc:`
${t("eden_ectoplasm_processor_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:2},cost:{Money(r){return f("ectoplasm_processor",r,2265e4,1.24,"eden")},Titanium(r){return f("ectoplasm_processor",r,15e6,1.24,"eden")},Stanene(r){return f("ectoplasm_processor",r,18e6,1.24,"eden")},Asphodel_Powder(r){return f("ectoplasm_processor",r,1e3,1.24,"eden")}},effect(){let r=`
${t("space_used_support",[t("eden_asphodel_name")])}
`;return r+=`
${t("plus_max_resource",[E(5),t("job_ghost_trapper")])}
`,r},s_type:"asphodel",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("ectoplasm_processor","eden"),L($(this)[0]),e.civic.ghost_trapper.display=!0,!0):!1},struct(){return{d:{count:0,on:0},p:["ectoplasm_processor","eden"]}},flair(){return t("eden_ectoplasm_processor_flair")}},research_station:{id:"eden-research_station",title:t("eden_research_station_title"),desc:`
${t("eden_research_station_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:3},cost:{Money(r){return f("research_station",r,39185e3,1.24,"eden")},Cement(r){return f("research_station",r,1e8,1.24,"eden")},Asphodel_Powder(r){return f("research_station",r,1250,1.24,"eden")},Soul_Gem(r){return f("research_station",r,10,1.12,"eden")}},effect(){let a=200+(e.blood.attract?e.blood.attract*5:0);e.tech.science&&e.tech.science>=22&&H.embassy&&H.symposium&&(a*=1+H.symposium*Gt("gxy_gorddon"));let i=`
${t("space_used_support",[t("eden_asphodel_name")])}
`;if(i+=`
${t("eden_research_station_effect",[he(a).toFixed(0),t("job_ghost_trapper")])}
`,e.tech.science&&e.tech.science>=22){i+=`
${t("plus_max_resource",[777,e.resource.Omniscience.name])}
`;let s=Xe(e.civic.ghost_trapper.workers,"ghost_trapper");s*=$r(s,"science"),s*=e.race.pompous?1-v.pompous.vars()[0]/100:1,s=he(s);let n=s*325e-7;i+=`
${t("gain",[+n.toFixed(5),e.resource.Omniscience.name])}
`}return i},s_type:"asphodel",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("research_station","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["research_station","eden"]}}},warehouse:{id:"eden-warehouse",title(){return e.tech.storage<=2?t("city_shed_title1"):e.tech.storage>=4?t("city_shed_title3"):t("city_shed_title2")},desc(){let r=e.tech.storage>=3?e.tech.storage>=4?t("city_shed_desc_size3"):t("city_shed_desc_size2"):t("city_shed_desc_size1");return t("city_shed_desc",[r])},reqs:{asphodel:7},cost:{Money(r){return f("warehouse",r,3e8,1.28,"eden")},Steel(r){return f("warehouse",r,15e6,1.28,"eden")},Alloy(r){return f("warehouse",r,18e6,1.28,"eden")},Cement(r){return f("warehouse",r,275e5,1.28,"eden")}},res(){let r=["Lumber","Stone","Chrysotile","Furs","Copper","Iron","Aluminium","Cement","Coal","Nano_Tube","Neutronium","Adamantite","Infernite","Alloy","Polymer","Iridium","Graphene","Stanene","Bolognium","Orichalcum","Asphodel_Powder"];return e.tech.storage>=3&&e.resource.Steel.display&&r.push("Steel"),e.tech.storage>=4&&e.resource.Titanium.display&&r.push("Titanium"),r},val(r){switch(r){case"Lumber":return 3750;case"Stone":return 3750;case"Chrysotile":return 3750;case"Furs":return 2125;case"Copper":return 1900;case"Iron":return 1750;case"Aluminium":return 1600;case"Cement":return 1400;case"Coal":return 600;case"Steel":return 300;case"Titanium":return 200;case"Nano_Tube":return 150;case"Neutronium":return 40;case"Adamantite":return 90;case"Infernite":return 18;case"Alloy":return 250;case"Polymer":return 250;case"Iridium":return 225;case"Graphene":return 175;case"Stanene":return 175;case"Bolognium":return 45;case"Orichalcum":return 22;case"Asphodel_Powder":return e.eden.stabilizer?.1+e.eden.stabilizer.count*.015:.1;default:return 0}},wide:!0,effect(){let r='
',a=Pa(.2);for(let i of $(this)[0].res())if(e.resource[i].display){let s=X(+G(+($(this)[0].val(i)*a)).toFixed(0));r=r+`${t("plus_max_resource",[s,e.resource[i].name])}`}return r=r+"
",r},action(){if(_($(this)[0])){S("warehouse","eden");let r=Pa(.2);for(let a of $(this)[0].res())e.resource[a].display&&(e.resource[a].max+=G($(this)[0].val(a)*r));return!0}return!1},struct(){return{d:{count:0},p:["warehouse","eden"]}}},stabilizer:{id:"eden-stabilizer",title:t("eden_stabilizer_title"),desc:`
${t("eden_stabilizer_title")}
`,reqs:{asphodel:8},cost:{Money(r){return f("stabilizer",r,8e8,1.25,"eden")},Neutronium(r){return f("stabilizer",r,75e5,1.25,"eden")},Vitreloy(r){return f("stabilizer",r,29e6,1.25,"eden")},Elerium(r){return f("stabilizer",r,7500,1.25,"eden")},Asphodel_Powder(r){return f("stabilizer",r,4250,1.25,"eden")}},queue_complete(){return e.eden.warehouse.count-e.eden.stabilizer.count},effect(){let r=`
${t("eden_stabilizer_requirement",[t("city_shed_title3")])}
`,a=8;if(H.ascension_trigger&&e.eden.hasOwnProperty("encampment")&&e.eden.encampment.asc){let i=m.interstellar.int_sirius.ascension_trigger.heatSink();i=i<0?Math.abs(i):0,i>0&&(a*=1+i/17500)}return r+=`
${t("eden_stabilizer_effect1",[e.resource.Asphodel_Powder.name,+a.toFixed(1)])}
`,r+=`
${t("eden_stabilizer_effect2",[e.resource.Asphodel_Powder.name,t("city_shed_title3"),15])}
`,r+=`
${t("eden_stabilizer_limit",[e?.eden?.warehouse?.count||0])}
`,r},action(){return e.eden.stabilizer.count${t("eden_rune_gate_title")}
${t("requires_segments",[100])}
`:`
${t("eden_rune_gate_title")}
`},wiki:!1,reqs:{elysium:1},condition(){return e.eden.rune_gate.count<100},queue_size:10,queue_complete(){return 100-e.eden.rune_gate.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?1e9:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?1e9:0},Omniscience(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?1e4:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?1e4:0},Copper(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?42e7:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?42e7:0},Nano_Tube(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?35e6:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?35e6:0},Bolognium(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?75e5:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?75e5:0},Asphodel_Powder(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?25e3:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?25e3:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0);if(a>=100)return`
${t("eden_rune_gate_effect")}
`;{let s=100-a;return`
${t("eden_rune_gate_effect")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.rune_gate.count<100&&_($(this)[0])?(S("rune_gate","eden"),e.eden.rune_gate.count===100&&(e.eden.rune_gate_open.count=1,e.settings.eden.elysium=!0,e.tech.elysium=2,Et()),!0):!1},struct(){return{d:{count:0},p:["rune_gate","eden"]}}},rune_gate_open:{id:"space-rune_gate_complete",title:t("eden_rune_gate_title"),desc(){return`
${t("eden_rune_gate_title")}
`},reqs:{elysium:1},condition(){return e.eden.rune_gate.count===100},queue_complete(){return 0},cost:{},effect(){return`
${t("eden_rune_gate_open",[t("eden_elysium_name")])}
`},action(){return!1},struct(){return{d:{count:0},p:["rune_gate_open","eden"]}}},bunker:{id:"eden-bunker",title:t("eden_bunker_title"),desc:`
${t("eden_bunker_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:9},cost:{Money(r){return f("bunker",r,777e6,1.2,"eden")},Stone(r){return f("bunker",r,358e6,1.2,"eden")},Furs(r){return f("bunker",r,666e5,1.2,"eden")},Asphodel_Powder(r){return f("bunker",r,9999,1.2,"eden")}},effect(){let r=`
${t("space_used_support",[t("eden_asphodel_name")])}
`;if(r+=`
${t("plus_max_soldiers",[$(this)[0].soldiers()])}
`,e.tech.celestial_warfare&&e.tech.celestial_warfare>=4&&(!e.tech.elysium||e.tech.elysium<8)&&(r+=`
${t("eden_bunker_effect",[3])}
`),e.tech.celestial_warfare&&e.tech.celestial_warfare>=5){let a=10;e.blood.lust&&(a+=e.blood.lust*.2);let i=Q("militant",0);i&&(a*=1+i/100),r+=`
${t("city_boot_camp_effect",[a])}
`}return r},s_type:"asphodel",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("bunker","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["bunker","eden"]}},soldiers(){let r=e.race.grenadier?3:5;return E(r)}},bliss_den:{id:"eden-bliss_den",title:t("eden_bliss_den_title"),desc:`
${t("eden_bliss_den_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:10},cost:{Money(r){return f("bliss_den",r,45e7,1.22,"eden")},Furs(r){return f("bliss_den",r,29e6,1.22,"eden")},Asphodel_Powder(r){return f("bliss_den",r,35e3,1.22,"eden")},Plywood(r){return f("bliss_den",r,1e7,1.22,"eden")},Soul_Gem(r){return f("bliss_den",r,10,1.22,"eden")}},effect(){let r=8,a=2,i=`
${t("space_used_support",[t("eden_asphodel_name")])}
`;return i+=`
${t("space_red_vr_center_effect1",[r])}
`,i+=`
${t("space_red_vr_center_effect2",[a])}
`,i},s_type:"asphodel",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("bliss_den","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["bliss_den","eden"]}},flair(){return t("eden_bliss_den_flair")}},rectory:{id:"eden-rectory",title:t("eden_rectory_title"),desc:`
${t("eden_rectory_title")}
${t("requires_power")}
`,reqs:{asphodel:11},cost:{Money(r){return f("rectory",r,275e6,1.24,"eden")},Copper(r){return f("rectory",r,182e5,1.24,"eden")},Brick(r){return f("rectory",r,75e5,1.24,"eden")},Soul_Gem(r){return f("rectory",r,18,1.24,"eden")}},effect(){let r=`
${t("eden_encampment_effect",[$(this)[0].support()])}
`;return r+=`
${t("plus_max_citizens",[$(this)[0].citizens()])}
`,e.genes.ancients&&e.genes.ancients>=4&&(r+=`
${t("plus_max_resource",[E(1),t("job_priest")])}
`),r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},support(){return 1},powered(){return V(50)},action(){return _($(this)[0])?(S("rectory","eden"),L($(this)[0])&&(e.resource[e.race.species].max+=$(this)[0].citizens()),!0):!1},struct(){return{d:{count:0,on:0},p:["rectory","eden"]}},citizens(){let r=4;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r},flair(){return t("eden_rectory_flair")}}},eden_elysium:{info:{name:t("eden_elysium_name"),desc:t("eden_elysium_desc"),prop(){let a=`${e.tech.world_control&&!e.race.truepath?t("civics_garrison_peacekeepers"):t("civics_garrison_soldiers")} / {{ max | filter('s_max') }}`;return a+=`${t("civics_garrison_wounded")} {{ wounded }}`,a+=``,a},bind(){return e.civic.garrison},filter(r,a){switch(a){case"stationed":return we();case"s_max":return we(!0);case"m_use":return t("civics_garrison_mercenary_cost",[Math.round(Ga()).toLocaleString()])}}},survey_fields:{id:"eden-survey_fields",title:t("eden_survey_fields"),desc:t("eden_survey_fields"),reqs:{elysium:2},grant:["elysium",3],cost:{Money(){return 1e9},Oil(){return 1e7},Helium_3(){return 5e6}},effect:t("eden_survey_fields_effect"),action(){return _($(this)[0])?(I(t("eden_survey_fields_msg"),"info",!1,["progress"]),e.eden.fortress={fortress:1e3,patrols:20,armory:100,detector:100},!0):!1},post(){e.tech.elysium&&e.tech.elysium===3&&(Et(),le("eden-survey_fields"))}},fortress:{id:"eden-fortress",title:t("eden_fortress"),desc:t("eden_fortress"),queue_complete(){return 0},reqs:{elysium:3},condition(){return e.tech.elysium===3},effect(){let r=`
${t("eden_fortress_rating",[e.eden.fortress?e.eden.fortress.fortress/10:0])}
`;return r+=`
${t("eden_fortress_patrols",[e.eden.fortress?e.eden.fortress.patrols:0])}
`,r+=`
${t("eden_fortress_detect",[e.eden.fortress?e.eden.fortress.detector:0])}
`,r+=`
${t("eden_fortress_armory",[e.eden.fortress?e.eden.fortress.armory:0])}
`,r},action(){return!1}},siege_fortress:{id:"eden-siege_fortress",title:t("eden_siege_fortress"),desc:t("eden_siege_fortress"),queue_complete(){return 0},reqs:{elysium:3},condition(){return e.tech.elysium===3&&e.eden.fortress.fortress>0},cost:{Troops(){return E(100)}},effect(){let r=`
${t("eden_siege_fortress_effect")}
`;return e.eden.hasOwnProperty("fortress")&&e.eden.fortress.hasOwnProperty("siege")&&(r+=`
${t("eden_siege_fortress_result")}
`,r+=`
${t("eden_siege_fortress_lost",[e.eden.fortress.siege.loss])}
`,r+=`
${t("eden_siege_fortress_damage",[e.eden.fortress.siege.damage])}
`,r+=`
${t("eden_fortress_rating",[e.eden.fortress?e.eden.fortress.fortress/10:0])}
`),r},action(){let r=E(100);if(we()e.civic.garrison.workers&&(e.civic.garrison.wounded=e.civic.garrison.workers),e.eden.fortress.fortress-=o,e.eden.fortress.fortress<0&&(e.eden.fortress.fortress=0),e.eden.fortress.siege={loss:n,damage:o/10},e.eden.fortress.fortress<=0?(I(t("eden_siege_fortress_fall"),"success",!1,["combat"]),e.tech.elysium=4):I(t("eden_siege_fortress_success",[o/10]),"success",!1,["combat"])}return Et(),!1}},raid_supplies:{id:"eden-raid_supplies",title:t("eden_raid_supplies"),desc:t("eden_raid_supplies"),queue_complete(){return 0},reqs:{elysium:3},condition(){return e.tech.elysium===3&&e.eden.fortress.armory>0},cost:{Troops(){return E(50)}},effect(){let r=`
${t("eden_raid_supplies_effect")}
`;return e.eden.hasOwnProperty("fortress")&&e.eden.fortress.hasOwnProperty("raid")&&(r+=`
${t("eden_raid_fortress_result")}
`,r+=`
${t("eden_siege_fortress_lost",[e.eden.fortress.raid.loss])}
`,r+=`
${t("eden_siege_fortress_damage",[e.eden.fortress.raid.damage])}
`,r+=`
${t("eden_fortress_armory",[e.eden.fortress?e.eden.fortress.armory:0])}
`),r},action(){let r=E(50);if(we()e.civic.garrison.workers&&(e.civic.garrison.wounded=e.civic.garrison.workers),e.eden.fortress.armory-=c,e.eden.fortress.armory<0&&(e.eden.fortress.armory=0),e.eden.fortress.raid={loss:s,damage:c},I(t("eden_raid_fortress_success",[c]),"success",!1,["combat"]),ae()}return Et(),!1}},ambush_patrol:{id:"eden-ambush_patrol",title:t("eden_ambush_patrol"),desc:t("eden_ambush_patrol"),queue_complete(){return 0},reqs:{elysium:3},condition(){return e.tech.elysium===3&&e.eden.fortress.patrols>0},cost:{Troops(){return E(25)}},effect(){let r=`
${t("eden_ambush_patrol_effect")}
`;return e.eden.hasOwnProperty("fortress")&&e.eden.fortress.hasOwnProperty("ambush")&&(r+=`
${t("eden_ambush_patrol_result")}
`,r+=`
${t("eden_siege_fortress_lost",[e.eden.fortress.ambush.loss])}
`,r+=`
${t("eden_ambush_patrol_damage",[e.eden.fortress.ambush.damage?t("true"):t("false")])}
`,r+=`
${t("eden_fortress_patrols",[e.eden.fortress?e.eden.fortress.patrols:0])}
`),r},action(){let r=E(25);if(we()Math.floor(T(0,e.eden.fortress.detector*2,!0))){let a=Math.floor(T(0,r,!0));a=Ms(a,r);let i=r-a;e.civic.garrison.protest+=a,Bt(a),e.civic.garrison.wounded+=Math.floor(T(0,i,!0)),e.civic.garrison.wounded>e.civic.garrison.workers&&(e.civic.garrison.wounded=e.civic.garrison.workers),e.eden.fortress.patrols--,e.eden.fortress.ambush={loss:a,damage:!0},I(t("eden_ambush_patrol_success"),"success",!1,["combat"]),ae()}else e.eden.fortress.ambush={loss:r,damage:!1},e.civic.garrison.protest+=r,Bt(r),I(t("eden_ambush_patrol_fail"),"warning",!1,["combat"]);return Et(),!1}},ruined_fortress:{id:"eden-ruined_fortress",title:t("eden_ruined_fortress"),desc:t("eden_ruined_fortress"),queue_complete(){return 0},reqs:{elysium:4},condition(){return e.tech.elysium<8},wiki:!1,effect(){return t("eden_ruined_fortress_effect")},action(){return!1}},scout_elysium:{id:"eden-scout_elysium",title:t("eden_scout_elysium_title"),desc:t("eden_scout_elysium_title"),reqs:{elysium:4},grant:["elysium",5],queue_complete(){return e.tech.elysium>=5?0:1},cost:{Money(){return 1e10},Oil(){return 9e6},Helium_3(){return 6e6},Troops(){return E(100)}},effect:t("eden_scout_elysium_effect"),action(){return _($(this)[0])?(I(t("eden_scout_elysium_result"),"info",!1,["progress"]),e.settings.eden.isle=!0,e.civic.garrison.protest+=E(50),Bt(E(50)),!0):!1}},fire_support_base:{id:"eden-fire_support_base",title:t("eden_fire_support_base_title"),desc(r){return!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100||r?`
${t("eden_fire_support_base_title")}
${t("requires_segments",[100])}
`:`
${t("eden_fire_support_base_title")}
`},reqs:{elysium:8},queue_size:10,queue_complete(){return 100-e.eden.fire_support_base.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0)<100?25e8:0:!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100?25e8:0},Stone(r){return r?r+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0)<100?235e6:0:!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100?235e6:0},Neutronium(r){return r?r+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0)<100?375e4:0:!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100?375e4:0},Polymer(r){return r?r+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0)<100?65e6:0:!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100?65e6:0},Elysanite(r){return r?r+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0)<100?625e3:0:!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100?625e3:0},Elerium(){return e.tech.elysium>=10&&e.eden.fire_support_base.count===100&&e.tech.isle&&e.tech.isle===1?25e4:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0);if(a>=100){let i=`
${t("plus_max_soldiers",[$(this)[0].soldiers()])}
`;return e.tech.elysium&&e.tech.elysium>=10&&e.tech.isle===1&&(e.resource.Elerium.amount>=25e4?i+=`
${t("eden_fire_support_base_effect")}
`:i+=`
${t("eden_fire_support_base_effect")}
`,i+=`
${t("eden_fire_support_base_effect2",[X(25e4),e.resource.Elerium.name])}
`),i}else{let s=100-a;return`
${t("eden_fire_support_base_build")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){if(e.eden.fire_support_base.count<100&&_($(this)[0]))return S("fire_support_base","eden"),e.eden.fire_support_base.count===100&&!e.tech.isle&&(e.eden.enemy_isle={wt:100,et:100,g:100},e.tech.isle=1,Et(),ae()),!0;if(e.eden.fire_support_base.count===100&&e.tech.elysium>=10&&e.tech.isle&&e.tech.isle===1&&_($(this)[0])){let r=null,a=null,i=[];if(e.eden.enemy_isle||(e.eden.enemy_isle={wt:100,et:100,g:100}),e.eden.enemy_isle.wt>0&&i.push("wt"),e.eden.enemy_isle.g>0&&i.push("g"),e.eden.enemy_isle.et>0&&i.push("et"),e.eden.pillbox&&e.eden.pillbox.staffed>0){let n=+(Math.round(Qe(e.eden.pillbox.staffed,"army",0))/75).toFixed(0);n>100&&(n=100),e.eden.fire_support_base.count=Math.floor(n)}else e.eden.fire_support_base.count=0;e.eden.fire_support_base.count<100&&I(t("eden_fire_support_base_counterattack",[t("eden_fire_support_base_title")]),"danger",!1,["progress"]),r=i[Math.floor(T(0,i.length))],r==="wt"?a="#eden-west_tower .button":r==="et"?a="#eden-east_tower .button":r==="g"&&(a="#eden-isle_garrison .button"),e.eden.enemy_isle[r]-=Math.floor(T(25,75)),e.eden.enemy_isle[r]<0&&(e.eden.enemy_isle[r]=0);let s=$('
');if($(a).append(s),setTimeout(function(){s.addClass("burn")},500),setTimeout(function(){s.addClass("b")},600),setTimeout(function(){s.addClass("c")},2500),setTimeout(function(){$(`${a} .mininuke`).remove()},4500),e.eden.enemy_isle.wt===0&&e.eden.enemy_isle.g===0&&e.eden.enemy_isle.et===0)return e.tech.isle=2,e.settings.eden.palace=!0,y($t.eden_elysium.north_pier),y($t.eden_isle.south_pier),ae(),Et(),!0}return!1},struct(){return{d:{count:0,on:0},p:["fire_support_base","eden"]}},soldiers(){let r=e.race.grenadier?15:25;return E(r)}},elysanite_mine:{id:"eden-elysanite_mine",title:t("eden_elysanite_mine_title"),desc:`
${t("eden_elysanite_mine_title")}
${t("requires_power")}
`,reqs:{elysium:6},cost:{Money(r){return f("elysanite_mine",r,566e6,1.24,"eden")},Adamantite(r){return f("elysanite_mine",r,18e6,1.24,"eden")},Wrought_Iron(r){return f("elysanite_mine",r,1e7,1.24,"eden")}},effect(){let r=`
${t("plus_max_resource",[E(2),t("job_elysium_miner")])}
`;return r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(25)},action(){return _($(this)[0])?(S("elysanite_mine","eden"),L($(this)[0]),e.civic.elysium_miner.display=!0,!0):!1},struct(){return{d:{count:0,on:0},p:["elysanite_mine","eden"]}}},sacred_smelter:{id:"eden-sacred_smelter",title(){return t("eden_sacred_smelter_title")},desc(){return`
${t("eden_sacred_smelter_title")}
${t("requires_power")}
`},reqs:{elysium:7},cost:{Money(r){return f("sacred_smelter",r,625e6,1.25,"eden")},Iridium(r){return f("sacred_smelter",r,25e6,1.25,"eden")},Elysanite(r){return f("sacred_smelter",r,45e5,1.25,"eden")},Scarletite(r){return f("sacred_smelter",r,125e4,1.25,"eden")}},effect(){let r=`
${t("interstellar_stellar_forge_effect3",[5])}
`;return e.tech.elysium&&e.tech.elysium>=19&&(r+=`
${t("city_foundry_effect1",[E(3)])}
`),`${r}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(33)},special:!0,action(){return _($(this)[0])?(S("sacred_smelter","eden"),L($(this)[0])&&(e.city.smelter.cap+=5,e.city.smelter.Steel+=5,e.city.smelter.Oil+=5),!0):!1},struct(){return{d:{count:0,on:0},p:["sacred_smelter","eden"]}}},elerium_containment:{id:"eden-elerium_containment",title(){return t("eden_elerium_containment",[e.resource.Elerium.name])},desc(){return`
${t("eden_elerium_containment",[e.resource.Elerium.name])}
${t("requires_power")}
`},reqs:{elysium:11},cost:{Money(r){return f("elerium_containment",r,45e8,1.28,"eden")},Graphene(r){return f("elerium_containment",r,1e8,1.28,"eden")},Aerogel(r){return f("elerium_containment",r,88e6,1.28,"eden")},Elysanite(r){return f("elerium_containment",r,25e6,1.28,"eden")}},effect(){let r=X(G(1e3));return`
${t("plus_max_resource",[r,t("resource_Elerium_name")])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(50)},action(){return _($(this)[0])?(S("elerium_containment","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_containment","eden"]}}},pillbox:{id:"eden-pillbox",title(){return t("eden_pillbox_title")},desc(){return`
${t("eden_pillbox_title")}
${t("requires_soldiers")}
${t("requires_power")}
`},reqs:{elysium:9},cost:{Money(r){return f("pillbox",r,15e8,1.26,"eden")},Cement(r){return f("pillbox",r,5e8,1.26,"eden")},Steel(r){return f("pillbox",r,65e6,1.26,"eden")},Nanoweave(r){return f("pillbox",r,38e6,1.26,"eden")}},effect(){let r=+(Math.round(Qe(e.eden.pillbox&&e.eden.pillbox.staffed?e.eden.pillbox.staffed:E(10),"army",0))/75).toFixed(1);r>100&&(r=100);let a="";return(!e.tech.isle||e.tech.isle===1)&&(a+=`
${t("eden_pillbox_effect",[r])}
`),e.tech.elysium&&e.tech.elysium>=12&&(a+=`
${t("eden_restaurant_effect",[.35,t("eden_restaurant_bd")])}
`),a+=`
${t("portal_guard_post_effect2",[E(10),$(this)[0].powered()])}
`,a},powered(){return V(12)},action(){return _($(this)[0])?(S("pillbox","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,staffed:0},p:["pillbox","eden"]}}},restaurant:{id:"eden-restaurant",title(){return e.eden.restaurant&&e.eden.restaurant.count>=10?t("eden_restaurant_bd"):t("eden_restaurant_title")},desc(){return`
${t("eden_restaurant_title")}
${t("requires_power_combo",[e.resource.Food.name])}
`},reqs:{elysium:12},cost:{Money(r){return f("restaurant",r,425e7,1.26,"eden")},Oil(r){return f("restaurant",r,1e6,1.26,"eden")},Polymer(r){return f("restaurant",r,11e7,1.26,"eden")},Sheet_Metal(r){return f("restaurant",r,25e6,1.26,"eden")}},effect(){let r=25e4,a=0;a+=e.eden.hasOwnProperty("pillbox")&&H.pillbox?.35*H.pillbox:0,a+=e.civic.elysium_miner.workers*.15,a+=e.eden.hasOwnProperty("archive")&&H.archive?.4*H.archive:0;let i=`
${t("space_red_vr_center_effect1",[a.toFixed(1)])}
`;return i+=`
${t("interstellar_alpha_starport_effect3",[X(r),e.resource.Food.name])}
`,i+=`
${t("minus_power",[$(this)[0].powered()])}
`,i},powered(){return V(25)},action(){return _($(this)[0])?(S("restaurant","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["restaurant","eden"]}}},eternal_bank:{id:"eden-eternal_bank",title(){return t("eden_eternal_bank_title")},desc(){return`
${t("eden_eternal_bank_title")}
${t("requires_power")}
`},reqs:{elysium:13},cost:{Money(r){return f("eternal_bank",r,ee("untrustworthy",25e8),1.26,"eden")},Bolognium(r){return f("eternal_bank",r,ee("untrustworthy",1e7),1.26,"eden")},Orichalcum(r){return f("eternal_bank",r,ee("untrustworthy",125e5),1.26,"eden")},Mythril(r){return f("eternal_bank",r,ee("untrustworthy",75e5),1.26,"eden")}},effect(){let r=G(kr()*10);return r=(+r.toFixed(0)).toLocaleString(),t("plus_max_resource",[`$${r}`,t("resource_Money_name")])},action(){return _($(this)[0])?(S("eternal_bank","eden"),e.resource.Money.max+=G(kr()*10),!0):!1},struct(){return{d:{count:0},p:["eternal_bank","eden"]}}},archive:{id:"eden-archive",title(){return e.eden.archive&&e.eden.archive.count>=10?t("eden_archive_bd"):t("eden_archive_title")},desc(){return`
${t("eden_archive_title")}
${t("requires_power")}
`},reqs:{elysium:14},cost:{Money(r){return f("archive",r,375e7,1.26,"eden")},Nano_Tube(r){return f("archive",r,9e7,1.26,"eden")},Asphodel_Powder(r){return f("archive",r,5e4,1.26,"eden")},Elysanite(r){return f("archive",r,35e6,1.26,"eden")},Soul_Gem(r){return f("archive",r,99,1.26,"eden")}},effect(){let r=`
${t("plus_max_resource",[1013,e.resource.Omniscience.name])}
`;return e.tech.elysium&&e.tech.elysium>=12&&(r+=`
${t("eden_restaurant_effect",[.4,t("eden_restaurant_bd")])}
`),r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(75)},action(){return _($(this)[0])?(S("archive","eden"),L($(this)[0]),e.tech.elysium===14&&(e.tech.elysium=15,ae()),!0):!1},struct(){return{d:{count:0,on:0},p:["archive","eden"]}}},north_pier:{id:"eden-north_pier",title(){return t("eden_pier",[t("north")])},desc(r){return!e.eden.hasOwnProperty("rune_gate")||e.eden.north_pier.count<10||r?`
${t("eden_pier",[t("north")])}
${t("requires_segments",[10])}
`:`
${t("eden_pier",[t("north")])}
`},reqs:{isle:2},queue_complete(){return 10-e.eden.north_pier.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("north_pier")?e.eden.north_pier.count:0)<10?75e8:0:!e.eden.hasOwnProperty("north_pier")||e.eden.north_pier.count<10?75e8:0},Iron(r){return r?r+(e.eden.hasOwnProperty("north_pier")?e.eden.north_pier.count:0)<10?5e8:0:!e.eden.hasOwnProperty("north_pier")||e.eden.north_pier.count<10?5e8:0},Plywood(r){return e.race.kindling_kindred||e.race.smoldering?0:r?r+(e.eden.hasOwnProperty("north_pier")?e.eden.north_pier.count:0)<10?25e7:0:!e.eden.hasOwnProperty("north_pier")||e.eden.north_pier.count<10?25e7:0},Sheet_Metal(r){return!e.race.kindling_kindred&&!e.race.smoldering?0:r?r+(e.eden.hasOwnProperty("north_pier")?e.eden.north_pier.count:0)<10?625e5:0:!e.eden.hasOwnProperty("north_pier")||e.eden.north_pier.count<10?625e5:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("north_pier")?e.eden.north_pier.count:0);if(a>=10)return`
${t("eden_pier_effect",[t("eden_pier",[t("south")]),t("eden_isle_name")])}
`;{let s=10-a;return`
${t("eden_pier_effect",[t("eden_pier",[t("south")]),t("eden_isle_name")])}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.north_pier.count<10&&_($(this)[0])?(S("north_pier","eden"),e.eden.south_pier.count===10&&e.eden.north_pier.count===10&&e.tech.isle===2&&(e.tech.isle=3),!0):!1},struct(){return{d:{count:0},p:["north_pier","eden"]}}},rushmore:{id:"eden-rushmore",title(){return t("eden_rushmore",[x[e.race.species].name])},desc(){return`
${t("eden_rushmore",[x[e.race.species].name])}
`},reqs:{elysium:16},cost:{Money(r,a){return e.eden?.rushmore?.count===0||a?55e9:0},Stone(r,a){return e.eden?.rushmore?.count===0||a?1e10:0}},queue_complete(){return 1-(e.eden?.rushmore?.count||0)},effect(){return`
${t("space_red_vr_center_effect2",[10])}
`},action(){return e.eden.rushmore.count===0&&_($(this)[0])?(S("rushmore","eden"),!0):!1},struct(){return{d:{count:0},p:["rushmore","eden"]}},flair(){return t("eden_rushmore_flair")}},reincarnation:{id:"eden-reincarnation",title(){return t("eden_reincarnation_title")},desc(){return`
${t("eden_reincarnation_title")}
`},reqs:{elysium:17},cost:{Money(r){return e.eden?.reincarnation?.count===0?35e9:e.eden?.reincarnation?.count===1?5e9:0},Aluminium(r){return e.eden?.reincarnation?.count===0?1e10:0},Nano_Tube(r){return e.eden?.reincarnation?.count===0?2e9:0},Asphodel_Powder(r){return e.eden?.reincarnation?.count===0?75e4:0}},queue_complete(){return 1-(e.eden?.reincarnation?.count||0)},effect(){return`
${t("eden_reincarnation_effect",[x[e.race.species].name])}
`},action(){return e.eden.reincarnation.count===0&&_($(this)[0])?(S("reincarnation","eden"),!0):e.eden.reincarnation.count===1&&e.resource[e.race.species].max>e.resource[e.race.species].amount&&_($(this)[0])?(e.resource[e.race.species].amount++,!0):!1},struct(){return{d:{count:0},p:["reincarnation","eden"]}},flair(){return t("eden_reincarnation_flair")}},eden_cement:{id:"eden-eden_cement",title(){return t("city_cement_plant")},desc(){return`
${t("city_cement_plant_desc")}
${t("requires_power")}
`},reqs:{elysium:18},cost:{Money(r){return f("eden_cement",r,5e9,1.24,"eden")},Stone(r){return f("eden_cement",r,1e9,1.24,"eden")},Iron(r){return f("eden_cement",r,68e8,1.24,"eden")},Asphodel_Powder(r){return f("eden_cement",r,65e3,1.24,"eden")}},effect(){let r=t("plus_max_resource",[E(5),t("job_cement_worker")]);return r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(10)},action(){return _($(this)[0])?(S("eden_cement","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["eden_cement","eden"]}}}},eden_isle:{info:{name:t("eden_isle_name"),desc:t("eden_isle_desc")},south_pier:{id:"eden-south_pier",title(){return t("eden_pier",[t("south")])},desc(r){return!e.eden.hasOwnProperty("rune_gate")||e.eden.south_pier.count<10||r?`
${t("eden_pier",[t("south")])}
${t("requires_segments",[10])}
`:`
${t("eden_pier",[t("south")])}
`},reqs:{isle:2},queue_complete(){return 10-e.eden.south_pier.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("south_pier")?e.eden.south_pier.count:0)<10?75e8:0:!e.eden.hasOwnProperty("south_pier")||e.eden.south_pier.count<10?75e8:0},Iron(r){return r?r+(e.eden.hasOwnProperty("south_pier")?e.eden.south_pier.count:0)<10?5e8:0:!e.eden.hasOwnProperty("south_pier")||e.eden.south_pier.count<10?5e8:0},Plywood(r){return e.race.kindling_kindred||e.race.smoldering?0:r?r+(e.eden.hasOwnProperty("south_pier")?e.eden.south_pier.count:0)<10?25e7:0:!e.eden.hasOwnProperty("south_pier")||e.eden.south_pier.count<10?25e7:0},Sheet_Metal(r){return!e.race.kindling_kindred&&!e.race.smoldering?0:r?r+(e.eden.hasOwnProperty("south_pier")?e.eden.south_pier.count:0)<10?625e5:0:!e.eden.hasOwnProperty("south_pier")||e.eden.south_pier.count<10?625e5:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("south_pier")?e.eden.south_pier.count:0);if(a>=10)return`
${t("eden_pier_effect",[t("eden_pier",[t("north")]),t("eden_elysium_name")])}
`;{let s=10-a;return`
${t("eden_pier_effect",[t("eden_pier",[t("north")]),t("eden_elysium_name")])}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.south_pier.count<10&&_($(this)[0])?(S("south_pier","eden"),e.eden.south_pier.count===10&&e.eden.north_pier.count===10&&e.tech.isle===2&&(e.tech.isle=3),!0):!1},struct(){return{d:{count:0},p:["south_pier","eden"]}}},west_tower:{id:"eden-west_tower",title(){return e.eden.enemy_isle&&e.eden.enemy_isle.wt===0?t("eden_rampart_ruin",[t("west")]):t("eden_rampart_title",[t("west")])},desc(){return e.eden.enemy_isle&&e.eden.enemy_isle.wt===0?t("eden_rampart_ruin",[t("west")]):t("eden_rampart_title",[t("west")])},queue_complete(){return 0},reqs:{isle:1},effect(){return e.eden.enemy_isle&&e.eden.enemy_isle.wt===0?`
${t("eden_tower_destroyed")}
`:`
${t("eden_tower_intact",[e.eden.enemy_isle?e.eden.enemy_isle.wt:100])}
`},action(){return!1}},isle_garrison:{id:"eden-isle_garrison",title(){return e.eden.enemy_isle&&e.eden.enemy_isle.g===0?t("eden_garrison_ruin"):t("eden_garrison_title")},desc(){return e.eden.enemy_isle&&e.eden.enemy_isle.g===0?t("eden_garrison_ruin"):t("eden_garrison_title")},queue_complete(){return 0},reqs:{isle:1},effect(){return e.eden.enemy_isle&&e.eden.enemy_isle.g===0?`
${t("eden_tower_destroyed")}
`:`
${t("eden_tower_intact",[e.eden.enemy_isle?e.eden.enemy_isle.g:100])}
`},action(){return!1}},east_tower:{id:"eden-east_tower",title(){return e.eden.enemy_isle&&e.eden.enemy_isle.et===0?t("eden_rampart_ruin",[t("east")]):t("eden_rampart_title",[t("east")])},desc(){return e.eden.enemy_isle&&e.eden.enemy_isle.et===0?t("eden_rampart_ruin",[t("east")]):t("eden_rampart_title",[t("east")])},queue_complete(){return 0},reqs:{isle:1},effect(){return e.eden.enemy_isle&&e.eden.enemy_isle.et===0?`
${t("eden_tower_destroyed")}
`:`
${t("eden_tower_intact",[e.eden.enemy_isle?e.eden.enemy_isle.et:100])}
`},action(){return!1}},spirit_vacuum:{id:"eden-spirit_vacuum",title(){return t("eden_spirit_vacuum_title")},desc(){return`
${t("eden_spirit_vacuum_title")}
${t("requires_power")}
`},reqs:{isle:4},cost:{Money(r){return f("spirit_vacuum",r,3e10,1.1,"eden")},Neutronium(r){return f("spirit_vacuum",r,175e6,1.1,"eden")},Stanene(r){return f("spirit_vacuum",r,1e9,1.1,"eden")},Elerium(r){return f("spirit_vacuum",r,24e4,1.1,"eden")},Soul_Gem(r){return f("spirit_vacuum",r,1e3,1.1,"eden")}},effect(){let r=`
${t("eden_spirit_vacuum_effect")}
`;return e.eden.hasOwnProperty("palace")&&e.eden.palace.rate>0&&e.eden.palace.energy>0&&(r+=`
${t("eden_spirit_vacuum_time",[ut(e.eden.palace.energy/e.eden.palace.rate)])}
`),r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(r){let i=(r?e.eden?.spirit_battery?.on??0:H.spirit_battery||0)||0;return+V(18e3*.9**i).toFixed(2)},action(){return _($(this)[0])?(S("spirit_vacuum","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["spirit_vacuum","eden"]}},flair(){return t("eden_spirit_vacuum_flair")}},spirit_battery:{id:"eden-spirit_battery",title(){return t("eden_spirit_battery_title")},desc(){return`
${t("eden_spirit_battery_title")}
${t("requires_power")}
`},reqs:{isle:5},cost:{Money(r){return f("spirit_battery",r,18e9,1.2,"eden")},Copper(r){return f("spirit_battery",r,5e9,1.2,"eden")},Vitreloy(r){return f("spirit_battery",r,5e7,1.2,"eden")},Elysanite(r){return f("spirit_battery",r,1e8,1.2,"eden")}},effect(){let r=`
${t("eden_spirit_battery_effect",[t("eden_spirit_vacuum_title"),10])}
`;return e.tech.isle&&e.tech.isle>=6&&(r+=`
${t("eden_spirit_battery_effect2",[t("eden_spirit_vacuum_title"),8])}
`),r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(500)},action(){return _($(this)[0])?(S("spirit_battery","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["spirit_battery","eden"]}}},soul_compactor:{id:"eden-soul_compactor",title(){return t("eden_soul_compactor_title")},desc(){return`
${t("eden_soul_compactor_title")}
`},reqs:{isle:7},cost:{Money(r,a){return e.eden?.soul_compactor?.count===0||a?5e10:0},Iron(r,a){return e.eden?.soul_compactor?.count===0||a?225e8:0},Uranium(r,a){return e.eden?.soul_compactor?.count===0||a?4e6:0},Scarletite(r,a){return e.eden?.soul_compactor?.count===0||a?3e8:0}},queue_complete(){return 1-(e.eden?.soul_compactor?.count||0)},effect(){let r=`
${t("eden_soul_compactor_effect1",[e.eden?.soul_compactor?.energy.toLocaleString()||0])}
`;return r+=`
${t("eden_soul_compactor_effect2",[1e9.toLocaleString()])}
`,r+=`
${t("eden_soul_compactor_effect3",[e.resource.Soul_Gem.name])}
`,r},action(){return e.eden.soul_compactor.count===0&&_($(this)[0])?(S("soul_compactor","eden"),!0):!1},struct(){return{d:{count:0,energy:0,report:0},p:["soul_compactor","eden"]}},flair(){return t("eden_soul_compactor_flair")}}},eden_palace:{info:{name:t("eden_palace_name"),desc(){return t("eden_palace_desc")},prop(){return``},bind(){return e.eden.palace},filter(r,a){switch(a){case"energy":return t("eden_palace_energy",[r.toLocaleString()])}}},scout_palace:{id:"eden-scout_palace",title:t("eden_scout_palace_title"),desc:t("eden_scout_palace_title"),reqs:{palace:1},grant:["palace",2],queue_complete(){return e.tech.palace>=2?0:1},cost:{Money(){return 5e10},Deuterium(){return 5e6}},effect:t("eden_scout_palace_effect"),action(){return _($(this)[0])?(I(t("eden_scout_palace_result"),"info",!1,["progress"]),!0):!1}},throne:{id:"eden-scout_palace",title(){return t("eden_abandoned_throne_title")},desc(){return t("eden_abandoned_throne_title")},reqs:{palace:2},condition(){return e.tech.palace<6},queue_complete(){return!1},cost:{},effect:t("eden_abandoned_throne_effect"),action(){return!1}},infuser:{id:"eden-infuser",title(){return t("eden_infuser_title")},desc(r){return!e.eden.hasOwnProperty("infuser")||e.eden.infuser.count<25||r?`
${t("eden_infuser_title")}
${t("requires_segments",[25])}
`:`
${t("eden_infuser_title")}
`},reqs:{palace:6},queue_size:5,queue_complete(){return 25-e.eden.infuser.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("infuser")?e.eden.infuser.count:0)<25?12e9:0:!e.eden.hasOwnProperty("infuser")||e.eden.infuser.count<25?12e9:0},Copper(r){return r?r+(e.eden.hasOwnProperty("infuser")?e.eden.infuser.count:0)<25?1e10:0:!e.eden.hasOwnProperty("infuser")||e.eden.infuser.count<25?1e10:0},Graphene(r){return r?r+(e.eden.hasOwnProperty("infuser")?e.eden.infuser.count:0)<25?1e9:0:!e.eden.hasOwnProperty("infuser")||e.eden.infuser.count<25?1e9:0},Elysanite(r){return r?r+(e.eden.hasOwnProperty("infuser")?e.eden.infuser.count:0)<25?125e6:0:!e.eden.hasOwnProperty("infuser")||e.eden.infuser.count<25?125e6:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("infuser")?e.eden.infuser.count:0);if(a>=25)return`
${t("eden_infuser_effect")}
`;{let s=25-a;return`
${t("eden_infuser_effect")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.infuser.count<25&&_($(this)[0])?(S("infuser","eden"),e.eden?.conduit?.count===25&&e.eden?.infuser?.count===25&&(e.tech.palace=7,e.eden.apotheosis={count:0},Et()),!0):!1},struct(){return{d:{count:0},p:["infuser","eden"]}}},apotheosis:{id:"eden-apotheosis",title:t("eden_apotheosis"),desc:t("eden_apotheosis"),reqs:{palace:7},condition(){return e.eden.hasOwnProperty("apotheosis")&&e.eden.apotheosis.count===0},queue_complete(){return 0},no_multi:!0,cost:{},effect(){let r=vu();return`
${t("eden_apotheosis_effect")}
${r}`},action(){return _($(this)[0])?(Qr(!0),!0):!1}},conduit:{id:"eden-conduit",title(){return t("eden_conduit_title")},desc(r){return!e.eden.hasOwnProperty("conduit")||e.eden.conduit.count<25||r?`
${t("eden_conduit_title")}
${t("requires_segments",[25])}
`:`
${t("eden_conduit_title")}
`},reqs:{palace:5},queue_size:5,queue_complete(){return 25-e.eden.conduit.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("conduit")?e.eden.conduit.count:0)<25?8e9:0:!e.eden.hasOwnProperty("conduit")||e.eden.conduit.count<25?25e9:0},Stanene(r){return r?r+(e.eden.hasOwnProperty("conduit")?e.eden.conduit.count:0)<25?25e7:0:!e.eden.hasOwnProperty("conduit")||e.eden.conduit.count<25?25e7:0},Orichalcum(r){return r?r+(e.eden.hasOwnProperty("conduit")?e.eden.conduit.count:0)<25?125e6:0:!e.eden.hasOwnProperty("conduit")||e.eden.conduit.count<25?125e6:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("conduit")?e.eden.conduit.count:0);if(a>=25)return`
${t("eden_conduit_done")}
`;{let s=25-a;return`
${t("eden_conduit_effect")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.conduit.count<25&&_($(this)[0])?(S("conduit","eden"),e.eden?.conduit?.count===25&&e.eden?.infuser?.count===25&&(e.tech.palace=7,e.eden.apotheosis={count:0},Et()),!0):!1},struct(){return{d:{count:0},p:["conduit","eden"]}},flair(){return t("eden_conduit_flair")}},tomb:{id:"eden-tomb",title(){return e.eden?.tomb?.count===10?t("eden_tomb_sealed"):t("eden_tomb_title")},desc(r){return!e.eden.hasOwnProperty("tomb")||e.eden.tomb.count<10||r?`
${t("eden_tomb_title")}
${t("requires_segments",[10])}
`:`
${t("eden_tomb_title")}
`},reqs:{palace:3},queue_complete(){return 10-e.eden.tomb.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("tomb")?e.eden.tomb.count:0)<10?25e9:0:!e.eden.hasOwnProperty("tomb")||e.eden.tomb.count<10?25e9:0},Cement(r){return r?r+(e.eden.hasOwnProperty("tomb")?e.eden.tomb.count:0)<10?1e10:0:!e.eden.hasOwnProperty("tomb")||e.eden.tomb.count<10?1e10:0},Neutronium(r){return r?r+(e.eden.hasOwnProperty("tomb")?e.eden.tomb.count:0)<10?1e8:0:!e.eden.hasOwnProperty("tomb")||e.eden.tomb.count<10?1e8:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("tomb")?e.eden.tomb.count:0);if(a>=10)return`
${t("eden_tomb_effect")}
`;{let s=10-a;return`
${t("eden_tomb_constuct")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.tomb.count<10&&_($(this)[0])?(S("tomb","eden"),e.eden.tomb.count===10&&e.tech.palace===3&&(e.tech.palace=4,Et()),!0):!1},struct(){return{d:{count:0},p:["tomb","eden"]}},flair(){return t("eden_tomb_flair")}}}};function vu(){let r=$e("apotheosis"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_name"):t("resource_Plasmid_name"),i=`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
`;return i+=`
${t("interstellar_ascension_trigger_effect2",[r.supercoiled,t("resource_Supercoiled_plural_name")])}
`,i}function Ms(r,a){let i=Ss(r);return r-=Math.floor(T(0,i,!0)),r>a?r=a:r<0&&(r=0),Math.floor(r)}function Os(){return $t}function Et(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==7))return;let r=$("#eden");K(r),r.append($(`

${t("tab_eden")}

`)),!(!e.tech.edenic||e.tech.edenic<3)&&Object.keys($t).forEach(function(a){let i=a.replace("eden_","");if(e.settings.eden[`${i}`]){let s=typeof $t[a].info.name=="string"?$t[a].info.name:$t[a].info.name(),n="";$t[a].info.hasOwnProperty("prop")&&(n=$t[a].info.prop());let c=!1;if($t[a].info.hasOwnProperty("bind")&&(c=$t[a].info.bind()),$t[a].info.support){let o=$t[a].info.support;$t[a].info.hide_support?r.append(`

${s}

${n}
`):r.append(`

${s}

{{ support }}/{{ s_max }}${n}
`),C({el:`#sr${a}`,data:c||e.eden[o],filters:{filter(){return $t[a].info.filter(...arguments)}}})}else c?(r.append(`

${s}

${n}
`),C({el:`#sr${a}`,data:c,filters:{filter(){return $t[a].info.filter(...arguments)}}})):r.append(`

${s}

${n}
`);N(a,function(){return typeof $t[a].info.desc=="string"?$t[a].info.desc:$t[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),Object.keys($t[a]).forEach(function(o){if(o!=="info"&&Vt($t,a,o)){let l=$t[a][o];er(l,"eden",o)}})}})}function Ln(){if(e.tech.asphodel&&e.tech.asphodel>=5){let r=.34;return e.eden.mech_station&&e.eden.mech_station.count>=10&&(r=.34+e.eden.mech_station.effect*.0066),r}return 1}function ui(r){switch(r){case"city":return e.resource[e.race.species]?e.resource[e.race.species].amount<=5?t("tab_city1"):e.resource[e.race.species].amount<=20?t("tab_city2"):e.resource[e.race.species].amount<=75?t("tab_city3"):e.resource[e.race.species].amount<=250?t("tab_city4"):e.resource[e.race.species].amount<=600?t("tab_city5"):e.resource[e.race.species].amount<=1200?t("tab_city6"):e.resource[e.race.species].amount<=2500?t("tab_city7"):t("tab_city8"):t("tab_city1");case"local_space":return t("sol_system",[e.race.truepath?x[e.race.species].home:lt("name")]);case"outer_local_space":return t("outer_sol_system",[e.race.truepath?x[e.race.species].home:lt("name")]);case"old":return t("tab_old_res");case"new":return t("tab_new_res");case"old_sr":return t("tab_old_sr_res");case"new_sr":return t("tab_new_sr_res");default:return t(r)}}function Ma(r){switch(e.settings.tabLoad?He("page_view",{page_title:"Evolve - All Tabs"}):(Nn(),Fs(),js(),Cn(),zs(),ni(),K($("#mTabCivil")),K($("#mTabCivic")),K($("#mTabResearch")),K($("#mTabResource")),K($("#mTabArpa")),K($("#mTabStats")),K($("#mTabObserve"))),r){case 0:e.settings.tabLoad||(He("page_view",{page_title:"Evolve - Evolution"}),As());break;case 1:case"mTabCivil":e.settings.tabLoad||He("page_view",{page_title:"Evolve - Civilization"}),$("#mTabCivil").append(` +
`;if(e.space.shipyard.expand){let l=`${t(`outer_shipyard_engine_${s.engine}`)} ${t(`outer_shipyard_class_${s.class}`)}`,u=$(`
`),p=$(`
${s.name} | ${t("outer_shipyard_scrap")} | ${l} | ${t(`outer_shipyard_weapon_${s.weapon}`)} | ${t(`outer_shipyard_power_${s.power}`)} | ${t(`outer_shipyard_armor_${s.armor}`)} | ${t(`outer_shipyard_sensor_${s.sensor}`)}
`),h=$('
'),d=$('
'),g=$(`
${o}
`);h.append(`${t("crew")} `),h.append(`${t("firepower")} `),h.append(`${t("outer_shipyard_sensors")} `),h.append(`${t("speed")} `),h.append(`${t("outer_shipyard_fuel")} `),h.append(`${t("outer_shipyard_hull")} `),d.append(``),u.append(p),u.append(h),u.append(d),u.append(g),r.append(u)}else{let l=$(`
`),u=$('
'),p=$('
'),h=$(`
${o}
`);u.append(`${s.name} | `),u.append(`${t("firepower")} `),u.append(`${t("outer_shipyard_sensors")} `),u.append(`${t("speed")} `),u.append(`${t("outer_shipyard_fuel")} `),u.append(`${t("outer_shipyard_hull")} `),p.append(``),l.append(u),l.append(p),l.append(h),r.append(l)}C({el:`#shipReg${i}`,data:e.space.shipyard.ships[i],methods:{scrap(l){e.space.shipyard.ships[l]&&e.space.shipyard.ships[l].location==="spc_dwarf"&&(e.space.shipyard.ships.splice(l,1),Ba(),$s())},scrapAllowed(l){return!!(e.space.shipyard.ships[l]&&e.space.shipyard.ships[l].location==="spc_dwarf")},setLoc(l,u){let p=e.space.shipyard.ships[u];if(l!==p.location){let h=Di(p),d=p.transit>0||p.location!=="spc_dwarf";if(d||e.civic.garrison.workers-e.civic.garrison.crew>=h){let g=An(p,l),w=Tn(p.xy,g),k=ti(p);p.location=l,p.transit=Math.round(w/k),p.dist=Math.round(w/k),p.origin=Re(p.xy),p.destination={x:g.x,y:g.y},d||(e.civic.garrison.crew+=h),Ba(),ue(`ship${u}loc${l}`)}}},crewText(l){return Di(e.space.shipyard.ships[l])},fireText(l){return si(e.space.shipyard.ships[l])},sensorText(l){return ci(e.space.shipyard.ships[l])+"km"},speedText(l){let u=7.695363719135802*ti(e.space.shipyard.ships[l]);return Math.round(u)+"km/s"},fuelText(l){let u=lo(e.space.shipyard.ships[l]);return u.res?`${u.burn} ${e.resource[u.res].name}/s`:"N/A"},hullText(l){return`${100-e.space.shipyard.ships[l].damage}%`},hullDamage(l){return e.space.shipyard.ships[l].damage<=10?"has-text-success":e.space.shipyard.ships[l].damage>=40&&e.space.shipyard.ships[l].damage<65?"has-text-caution":e.space.shipyard.ships[l].damage>=65?"has-text-danger":""},dest(l){let u=s.class==="explorer"?t("tech_era_tauceti"):typeof a[e.space.shipyard.ships[l].location].info.name=="string"?a[e.space.shipyard.ships[l].location].info.name:a[e.space.shipyard.ships[l].location].info.name();return t("outer_shipyard_arrive",[u,e.space.shipyard.ships[l].transit])},show(l){return e.space.shipyard.ships[l].transit>0}}}),s.class==="explorer"?s.location!=="tauceti"&&N(`ship${i}loctauceti`,function(){return t("transit_time",[Math.round(Tn(s.xy,An(s,"tauceti"))/ti(s))])},{elm:`#ship${i}loc .tauceti`,placement:"left"}):Object.keys(a).forEach(function(l){(a[l].info.syndicate()||l==="spc_dwarf")&&s.location!==l&&N(`ship${i}loc${l}`,function(){return t("transit_time",[Math.round(Tn(s.xy,An(s,l))/ti(s))])},{elm:`#ship${i}loc .${l}`,placement:"left"})})}pu()}function An(r,a){if(wt[a].orbit===-2)return ai(a);let i=Math.sqrt((r.xy.x-qs(a))**2+r.xy.y**2),s=ti(r)/225,n=xs(1,a),c=Math.abs(i-wt[a].dist),o=Math.abs(i+wt[a].dist),l=Math.abs(i-wt[a].dist*n),u=Math.abs(i+wt[a].dist*n),p=Math.floor(Math.min(c,l,o,u)/s),h=Math.ceil(Math.max(c,l,o,u)/s);i>=wt[a].dist&&i<=wt[a].dist*n&&(p=0);let g=360/(wt[a].orbit===-1?qa():wt[a].orbit),w=(e.space.position[a]+p*g)%360,k=Math.PI/180;for(let M=p;M<=h;M++){let q=xs(Math.cos(w*k)*wt[a].dist,a);q+=qs(a);let P=Math.sin(w*k)*wt[a].dist;if(Math.sqrt((q-r.xy.x)**2+(P-r.xy.y)**2)/s<=M)return{x:q,y:P};w=(w+g)%360}return ai(a)}function Wr(r,a){if(!e.tech.isolation&&e.tech.syndicate&&e.race.truepath&&e.space.syndicate&&e.space.syndicate.hasOwnProperty(r)){let i=1e3,s=0;switch(e.civic.foreign.gov3.hstl<10?s=250-25*e.civic.foreign.gov3.hstl:e.civic.foreign.gov3.hstl>60&&(s=-13*(e.civic.foreign.gov3.hstl-60)),r){case"spc_home":case"spc_moon":case"spc_red":case"spc_hell":i=1250+s;break;case"spc_gas":case"spc_gas_moon":case"spc_belt":i=1020+s;break;case"spc_titan":case"spc_enceladus":i=m.space[r].info.syndicate_cap();break;case"spc_triton":case"spc_kuiper":case"spc_eris":i=m.space[r].info.syndicate_cap();break}let n=e.space.syndicate[r];e.race.chicken&&(n*=1+v.chicken.vars()[1]/100,n=Math.round(pirate)),e.race.ocular_power&&e.race.ocularPowerConfig&&e.race.ocularPowerConfig.f&&(n*=1-v.ocular_power.vars()[1]/500,n=Math.round(pirate));let c=0,o=0,l=0;if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")){if(e.space.shipyard.ships.forEach(function(u){if(u.location===r&&u.transit===0&&u.fueled){let p=si(u);c+=u.damage>0?Math.round(p*(100-u.damage)/100):p,o+=ci(u)}}),r==="spc_enceladus"&&Math.min(be.operating_base,H.operating_base)>0){let u=Math.min(be.operating_base,H.operating_base);c+=u*50}else r==="spc_titan"&&H.sam>0?c+=H.sam*25:r==="spc_triton"&&H.fob>0&&(c+=500,o+=10);o>100&&(o=Math.round((o-100)/(o-100+200)*100)+100),c=Math.round(c*((o+25)/125)),c>n&&(l=c-n),n=n-c>0?n-c:0}return a?{p:1-+(n/i).toFixed(4),r:n,s:o,o:l}:1-+(n/i).toFixed(4)}return a?{p:1,r:0,s:0,o:0}:1}function ci(r){let a=1;switch(r.class){case"corvette":case"frigate":a=2;break;case"destroyer":case"cruiser":a=1.5;break;case"explorer":a=5;break;default:a=1;break}switch(r.sensor){case"visual":return 1;case"radar":return 10*a;case"lidar":return 18*a;case"quantum":return 32*a}}var wt={spc_sun:{dist:0,orbit:0,size:2},spc_home:{dist:1,orbit:-1,size:.6},spc_moon:{dist:1.01,orbit:-1,size:.1,moon:!0},spc_red:{dist:1.524,orbit:687,size:.5},spc_hell:{dist:.4,orbit:88,size:.4},spc_venus:{dist:.7,orbit:225,size:.5},spc_gas:{dist:5.203,orbit:4330,size:1.25},spc_gas_moon:{dist:5.204,orbit:4330,size:.2,moon:!0},spc_belt:{dist:2.7,orbit:1642,size:.5,belt:!0},spc_dwarf:{dist:2.77,orbit:1682,size:.5},spc_saturn:{dist:9.539,orbit:10751,size:1.1},spc_titan:{dist:9.536,orbit:10751,size:.2,moon:!0},spc_enceladus:{dist:9.542,orbit:10751,size:.1,moon:!0},spc_uranus:{dist:19.8,orbit:30660,size:1},spc_neptune:{dist:30.08,orbit:60152,size:1},spc_triton:{dist:30.1,orbit:60152,size:.1,moon:!0},spc_kuiper:{dist:39.5,orbit:90498,size:.5,belt:!0},spc_eris:{dist:68,orbit:204060,size:.5},tauceti:{dist:752568.8,orbit:-2,size:2}};function In(){e.space.position||(e.space.position={}),Object.keys(wt).forEach(function(r){e.space.position.hasOwnProperty(r)||(e.space.position[r]=Math.rand(0,360))}),e.space.position.spc_home=e.space.position.spc_moon,e.space.position.spc_gas_moon=e.space.position.spc_gas,e.space.position.spc_titan=e.space.position.spc_enceladus,e.space.position.spc_saturn=e.space.position.spc_titan,e.space.position.spc_neptune=e.space.position.spc_triton}function ai(r){let a=xs(+Math.cos(e.space.position[r]*(Math.PI/180)).toFixed(5)*wt[r].dist,r),i=+Math.sin(e.space.position[r]*(Math.PI/180)).toFixed(5)*wt[r].dist;return a+=qs(r),{x:a,y:i}}function Tn(r,a){return Math.ceil(Math.sqrt((a.x-r.x)**2+(a.y-r.y)**2)*225)}function ri(r,a,i){let s=1;switch(e.race.pack_rat&&(s*=1+v.pack_rat.vars()[1]/100),e.stats.achieve.blackhole&&(s*=1+e.stats.achieve.blackhole.l*.05),e.tech.world_control&&(s*=3),r){case"storehouse":{let n=i?e.space?.titan_spaceport?.on??0:H.titan_spaceport;n&&(s*=1+n*.25),a&&e.tech.shelving&&(s*=2),e.tech.shelving&&e.tech.shelving>=3&&(s*=1.5)}case"repository":e.tech.isolation&&(s*=3,e.tech.tp_depot&&(s*=1+e.tech.tp_depot/20));break}return s}function uo(){let r={city:{},space:{},ships:[]};r.ships=[...e.space.shipyard.ships],e.space.shipyard.ships=[],e.settings.spaceTabs=6,e.settings.showSpace=!1,e.settings.showOuter=!1,e.settings.showCity=!1,e.settings.showShipYard=!1,e.settings.govTabs===5&&(e.settings.govTabs=0),ni(),K($("#shipList")),Object.keys(m.city).forEach(function(i){e.city.hasOwnProperty(i)&&e.city[i].hasOwnProperty("count")&&(e.race.hooved&&m.city[i].cost.hasOwnProperty("Horseshoe")&&(e.race.shoecnt-=m.city[i].cost.Horseshoe()*e.city[i].count),r.city[i]={c:e.city[i].count},e.city[i].count=0,e.city[i].hasOwnProperty("on")&&(r.city[i].o=e.city[i].on,e.city[i].on=0))}),["spc_home","spc_moon","spc_red","spc_hell","spc_sun","spc_gas","spc_gas_moon","spc_belt","spc_dwarf","spc_titan","spc_enceladus","spc_triton","spc_kuiper","spc_eris"].forEach(function(i){Object.keys(m.space[i]).forEach(function(s){e.space.hasOwnProperty(s)&&e.space[s].hasOwnProperty("count")&&(e.race.hooved&&m.space[i][s].cost.hasOwnProperty("Horseshoe")&&(e.race.shoecnt-=m.space[i][s].cost.Horseshoe()*e.space[s].count),r.space[s]={c:e.space[s].count},e.space[s].count=0,e.space[s].hasOwnProperty("on")&&(r.space[s].o=e.space[s].on,e.space[s].on=0))})}),e.race.hooved&&e.race.shoecnt<5&&(e.race.shoecnt=5),e.resource.Zen.display&&(e.resource.Zen.display=!1),e.resource.Slave.display&&(e.resource.Slave.display=!1,e.resource.Slave.amount=0,lr("slave")),e.race.deconstructor&&xa.forEach(function(i){e.city.nanite_factory[i]=0}),Object.keys(e.resource).forEach(function(i){e.resource[i].hasOwnProperty("trade")&&(e.resource[i].trade=0)}),Object.keys(oi).forEach(function(i){["professor","scientist","pit_miner","cement_worker","craftsman"].includes(i)||(e.civic[i].workers=0,e.civic[i].assigned=0)}),["forager","farmer","lumberjack","quarry_worker","miner","coal_miner","priest","colonist","titan_colonist","space_miner"].forEach(function(i){e.civic[i].display=!1}),e.civic.hunter.display?e.civic.d_job="hunter":e.civic.d_job="unemployed",e.arpa.sequence&&(e.arpa.sequence.on=!1,e.arpa.sequence.boost=!1);for(let i of Object.values(e.race.purgatory.city))i.hasOwnProperty("count")&&(i.count=0),i.hasOwnProperty("on")&&(i.on=0);for(let i of Object.values(e.race.purgatory.space))i.hasOwnProperty("count")&&(i.count=0),i.hasOwnProperty("on")&&(i.on=0);if(e.queue.hasOwnProperty("queue"))for(let i=e.queue.queue.length-1;i>=0;i--){let s=e.queue.queue[i];(s.action==="city"||s.action==="space"||s.action==="starDock")&&e.queue.queue.splice(i,1)}e.tech.magic&&e.tech.magic>=2&&(e.tauceti.pylon={count:0},e.race.casting&&Object.keys(e.race.casting).forEach(function(i){e.race.casting[0]=0})),y(le.tau_home.tauceti_casino),y(le.tau_home.tau_housing);let a=be.colony*le.tau_home.colony.citizens();e.resource[e.race.species].amount>a&&(e.resource[e.race.species].amount=a),lr("spy"),lr("spyop"),K($("#infoTimer")),e.race.inactive=r}function _o(){e.race.lone_survivor&&(e.tech.alloy=1,e.tech.alumina=2,e.tech.asteroid=7,e.tech.banking=11,e.tech.biotech=1,e.tech.boot_camp=2,e.tech.broadcast=2,e.tech.container=7,e.tech.copper=1,e.tech.currency=6,e.tech.disease=2,e.tech.drone=1,e.tech.elerium=2,e.tech.explosives=3,e.tech.factory=3,e.tech.foundry=8,e.tech.gambling=4,e.tech.gas_giant=1,e.tech.gas_moon=2,e.tech.genesis=2,e.tech.genetics=2,e.tech.gov_corp=1,e.tech.gov_fed=1,e.tech.gov_soc=1,e.tech.gov_theo=1,e.tech.govern=3,e.tech.graphene=1,e.tech.helium=1,e.tech.hell=1,e.tech.high_tech=13,e.tech.home_safe=2,e.tech.housing=3,e.tech.housing_reduction=3,e.tech.kuiper=2,e.tech.launch_facility=1,e.tech.luna=2,e.tech.m_smelting=2,e.tech.marines=2,e.tech.mars=5,e.tech.mass=1,e.tech.medic=3,e.tech.military=8,e.tech.mine_conveyor=1,e.tech.mining=4,e.tech.monument=1,e.tech.nano=1,e.tech.oil=7,e.tech.outer=8,e.tech.pickaxe=5,e.tech.polymer=2,e.tech.primitive=3,e.tech.q_factory=1,e.tech.quantium=1,e.tech.queue=3,e.tech.r_queue=1,e.tech.reproduction=1,e.tech.rival=1,e.tech.satellite=1,e.tech.science=9,e.tech.shelving=3,e.tech.shipyard=1,e.tech.smelting=6,e.tech.solar=5,e.tech.space=6,e.tech.space_explore=4,e.tech.space_housing=1,e.tech.spy=5,e.tech.stanene=1,e.tech.steel_container=6,e.tech.storage=5,e.tech.swarm=6,e.tech.syard_armor=3,e.tech.syard_class=6,e.tech.syard_engine=5,e.tech.syard_power=5,e.tech.syard_sensor=4,e.tech.syard_weapon=6,e.tech.syndicate=0,e.tech.synthetic_fur=1,e.tech.tau_home=6,e.tech.tauceti=4,e.tech.theatre=3,e.tech.theology=2,e.tech.titan=9,e.tech.titan_ai_core=3,e.tech.titan_power=1,e.tech.titanium=3,e.tech.trade=3,e.tech.unify=2,e.tech.uranium=4,e.tech.v_train=1,e.tech.vault=4,e.tech.wharf=1,e.tech.world_control=1,e.tech.wsc=0,e.race.flier||(e.tech.cement=5,e.resource.Cement.display=!0),e.race.universe==="magic"&&(e.tech.gov_mage=1,e.tech.magic=4,e.tech.conjuring=2,e.resource.Mana.display=!0,e.resource.Crystal.display=!0,e.civic.crystal_miner.display=!0,e.tauceti.pylon={count:0},e.race.casting={farmer:0,miner:0,lumberjack:0,science:0,factory:0,army:0,hunting:0,crafting:0,total:0}),e.settings.showSpace=!1,e.settings.showTau=!0,e.settings.tau.home=!0,e.settings.showCity=!1,e.settings.showIndustry=!0,e.settings.showPowerGrid=!0,e.settings.showResearch=!0,e.settings.showCivic=!0,e.settings.showMil=!0,e.settings.showResources=!0,e.settings.showMarket=!0,e.settings.showStorage=!0,e.settings.civTabs=1,e.settings.spaceTabs=6,e.settings.showGenetics=!0,e.settings.arpa.physics=!0,e.settings.arpa.genetics=!0,e.resource[e.race.species].display=!0,e.resource.Knowledge.display=!0,e.resource.Money.display=!0,e.resource.Crates.display=!0,e.resource.Containers.display=!0,e.resource.Food.display=!0,e.resource.Stone.display=!0,e.resource.Furs.display=!0,e.resource.Copper.display=!0,e.resource.Iron.display=!0,e.resource.Aluminium.display=!0,e.resource.Coal.display=!0,e.resource.Oil.display=!0,e.resource.Uranium.display=!0,e.resource.Steel.display=!0,e.resource.Titanium.display=!0,e.resource.Alloy.display=!0,e.resource.Polymer.display=!0,e.resource.Iridium.display=!0,e.resource.Helium_3.display=!0,e.resource.Water.display=!0,e.resource.Neutronium.display=!0,e.resource.Adamantite.display=!0,e.resource.Elerium.display=!0,e.resource.Nano_Tube.display=!0,e.resource.Graphene.display=!0,e.resource.Stanene.display=!0,e.resource.Orichalcum.display=!0,e.resource.Bolognium.display=!0,e.resource.Unobtainium.display=!0,e.resource.Brick.display=!0,e.resource.Wrought_Iron.display=!0,e.resource.Sheet_Metal.display=!0,e.resource.Mythril.display=!0,e.resource.Quantium.display=!0,e.resource.Cipher.display=!0,!e.race.kindling_kindred&&!e.race.smoldering&&(e.civic.lumberjack.display=!0,e.resource.Lumber.display=!0,e.resource.Plywood.display=!0,e.resource.Lumber.max=1e7,e.resource.Lumber.amount=1e7,e.resource.Plywood.amount=25e5,e.resource.Lumber.crates=25,e.resource.Lumber.containers=25,e.tech.axe=5),e.race.smoldering&&(e.resource.Chrysotile.display=!0,e.resource.Chrysotile.max=5e6,e.resource.Chrysotile.amount=5e6),e.race.sappy||(e.tech.hammer=4),e.race.apex_predator||(e.tech.armor=3),e.resource[e.race.species].max=1,e.resource[e.race.species].amount=1,e.resource.Crates.amount=1e3,e.resource.Containers.amount=1e3,e.resource.Money.max=1e9,e.resource.Money.amount=1e9,e.resource.Knowledge.max=4321200,e.resource.Knowledge.amount=4321200,e.resource.Food.max=1e4,e.resource.Food.amount=1e4,e.resource.Oil.max=5e5,e.resource.Oil.amount=5e5,e.resource.Helium_3.max=5e5,e.resource.Helium_3.amount=5e5,e.resource.Water.max=25e3,e.resource.Water.amount=25e3,e.resource.Uranium.max=5e5,e.resource.Uranium.amount=5e5,e.resource.Stone.max=1e7,e.resource.Stone.amount=1e7,e.resource.Furs.max=5e6,e.resource.Furs.amount=5e6,e.resource.Copper.max=5e6,e.resource.Copper.amount=5e6,e.resource.Iron.max=5e6,e.resource.Iron.amount=5e6,e.resource.Steel.max=5e6,e.resource.Steel.amount=5e6,e.resource.Aluminium.max=5e6,e.resource.Aluminium.amount=5e6,e.resource.Cement.max=5e6,e.resource.Cement.amount=5e6,e.resource.Titanium.max=5e6,e.resource.Titanium.amount=5e6,e.resource.Coal.max=5e6,e.resource.Coal.amount=5e6,e.resource.Alloy.max=5e6,e.resource.Alloy.amount=5e6,e.resource.Polymer.max=5e6,e.resource.Polymer.amount=5e6,e.resource.Iridium.max=5e6,e.resource.Iridium.amount=5e6,e.resource.Neutronium.max=5e5,e.resource.Neutronium.amount=5e5,e.resource.Adamantite.max=5e6,e.resource.Adamantite.amount=5e6,e.resource.Elerium.max=1e3,e.resource.Elerium.amount=1e3,e.resource.Nano_Tube.max=5e6,e.resource.Nano_Tube.amount=5e6,e.resource.Graphene.max=5e6,e.resource.Graphene.amount=5e6,e.resource.Stanene.max=5e6,e.resource.Stanene.amount=5e6,e.resource.Bolognium.max=5e6,e.resource.Bolognium.amount=5e6,e.resource.Orichalcum.max=5e6,e.resource.Orichalcum.amount=5e6,e.resource.Brick.amount=25e5,e.resource.Wrought_Iron.amount=25e5,e.resource.Sheet_Metal.amount=25e5,e.resource.Mythril.amount=25e5,e.resource.Quantium.amount=25e5,e.race.artifical||(e.resource.Food.crates=10,e.resource.Food.containers=10),e.resource.Stone.crates=25,e.resource.Stone.containers=25,e.resource.Furs.crates=25,e.resource.Furs.containers=25,e.resource.Coal.crates=10,e.resource.Coal.containers=10,e.resource.Copper.crates=25,e.resource.Copper.containers=25,e.resource.Iron.crates=25,e.resource.Iron.containers=25,e.resource.Aluminium.crates=25,e.resource.Aluminium.containers=25,e.resource.Steel.crates=25,e.resource.Steel.containers=25,e.resource.Titanium.crates=25,e.resource.Titanium.containers=25,e.resource.Alloy.crates=25,e.resource.Alloy.containers=25,e.resource.Polymer.crates=25,e.resource.Polymer.containers=25,e.resource.Iridium.crates=25,e.resource.Iridium.containers=25,e.resource.Adamantite.crates=25,e.resource.Adamantite.containers=25,e.resource.Graphene.crates=25,e.resource.Graphene.containers=25,e.resource.Stanene.crates=25,e.resource.Stanene.containers=25,e.resource.Bolognium.crates=25,e.resource.Bolognium.containers=25,e.resource.Orichalcum.crates=25,e.resource.Orichalcum.containers=25,e.civic.taxes.display=!0,e.race.flier||(e.civic.cement_worker.display=!0,e.resource.Cement.crates=25,e.resource.Cement.containers=25),e.race.sappy||(e.civic.quarry_worker.display=!0),e.civic.professor.display=!0,e.civic.scientist.display=!0,e.civic.banker.display=!0,e.civic.pit_miner.display=!0,e.civic.professor.max=1,e.civic.professor.workers=1,e.city.calendar.day++,e.city.market.active=!0,e.city.power=0,e.city.powered=!0,e.race.artifical&&(e.city.transmitter={count:0,on:0}),y(m.city.factory),y(m.city.foundry),y(m.city.smelter),e.city.smelter.cap=2,e.city.smelter.Oil=2,e.city.smelter.Iron=1,e.city.smelter.Steel=1,y(m.city.amphitheatre),y(m.city.apartment),y(m.city.bank),y(m.city.basic_housing),y(m.city.biolab),y(m.city.boot_camp),y(m.city.casino),y(m.city.cement_plant),y(m.city.coal_mine),y(m.city.coal_power),y(m.city.cottage),y(m.city.fission_power),y(m.city.garrison),y(m.city.hospital),y(m.city.library),y(m.city.lumber_yard),y(m.city.mass_driver),y(m.city.metal_refinery),y(m.city.mine),y(m.city.oil_depot),y(m.city.oil_power),y(m.city.oil_well),y(m.city.rock_quarry),y(m.city.sawmill),y(m.city.shed),y(m.city.storage_yard),y(m.city.temple),y(m.city.tourist_center),y(m.city.trade),y(m.city.university),y(m.city.wardenclyffe),y(m.city.warehouse),y(m.city.wharf),y(m.space.spc_belt.elerium_ship),y(m.space.spc_belt.iridium_ship),y(m.space.spc_belt.iron_ship),y(m.space.spc_belt.space_station),y(m.space.spc_dwarf.e_reactor),y(m.space.spc_dwarf.elerium_contain),y(m.space.spc_dwarf.mass_relay),e.space.mass_relay.count=100,y(m.space.spc_dwarf.shipyard),y(m.space.spc_enceladus.munitions_depot),y(m.space.spc_enceladus.operating_base),y(m.space.spc_enceladus.water_freighter),y(m.space.spc_enceladus.zero_g_lab),y(m.space.spc_eris.digsite),y(m.space.spc_eris.drone_control),y(m.space.spc_eris.shock_trooper),y(m.space.spc_eris.tank),y(m.space.spc_gas.gas_mining),y(m.space.spc_gas.gas_storage),y(m.space.spc_gas_moon.drone),y(m.space.spc_gas_moon.oil_extractor),y(m.space.spc_gas_moon.outpost),y(m.space.spc_hell.geothermal),y(m.space.spc_hell.hell_smelter),y(m.space.spc_hell.spc_casino),y(m.space.spc_hell.swarm_plant),y(m.space.spc_home.gps),y(m.space.spc_home.nav_beacon),y(m.space.spc_home.propellant_depot),y(m.space.spc_home.satellite),y(m.space.spc_kuiper.elerium_mine),y(m.space.spc_kuiper.neutronium_mine),y(m.space.spc_kuiper.orichalcum_mine),y(m.space.spc_kuiper.uranium_mine),y(m.space.spc_moon.helium_mine),y(m.space.spc_moon.iridium_mine),y(m.space.spc_moon.moon_base),y(m.space.spc_moon.observatory),y(m.space.spc_red.biodome),y(m.space.spc_red.exotic_lab),y(m.space.spc_red.fabrication),y(m.space.spc_red.garage),y(m.space.spc_red.living_quarters),y(m.space.spc_red.red_factory),y(m.space.spc_red.red_mine),y(m.space.spc_red.red_tower),y(m.space.spc_red.space_barracks),y(m.space.spc_red.spaceport),y(m.space.spc_red.vr_center),y(m.space.spc_red.ziggurat),y(m.space.spc_sun.swarm_control),y(m.space.spc_sun.swarm_satellite),y(m.space.spc_titan.ai_colonist),y(m.space.spc_titan.decoder),y(m.space.spc_titan.electrolysis),y(m.space.spc_titan.g_factory),y(m.space.spc_titan.hydrogen_plant),y(m.space.spc_titan.storehouse),y(m.space.spc_titan.titan_bank),y(m.space.spc_titan.titan_mine),y(m.space.spc_titan.titan_quarters),y(m.space.spc_titan.titan_spaceport),y(m.space.spc_triton.crashed_ship),e.space.crashed_ship.count=100,y(m.space.spc_triton.fob),y(m.space.spc_triton.lander),y(m.tauceti.tau_gas.refueling_station),y(m.tauceti.tau_home.alien_outpost),e.tauceti.alien_outpost.count=1,e.tauceti.alien_outpost.on=1,y(m.tauceti.tau_home.colony),e.tauceti.colony.count=1,e.tauceti.colony.on=1,y(m.tauceti.tau_home.fusion_generator),e.tauceti.fusion_generator.count=1,e.tauceti.fusion_generator.on=1,y(m.tauceti.tau_home.infectious_disease_lab),y(m.tauceti.tau_home.mining_pit),e.tauceti.mining_pit.count=1,e.tauceti.mining_pit.on=1,y(m.tauceti.tau_home.orbital_station),e.tauceti.orbital_station.count=1,e.tauceti.orbital_station.on=1,y(m.tauceti.tau_home.repository),e.tauceti.repository.count=2,y(m.tauceti.tau_home.tauceti_casino),y(m.tauceti.tau_red.orbital_platform),e.space.ai_core={count:100},e.space.ai_core2={count:0,on:0},e.space.m_relay={count:0,on:0},e.civic.garrison={display:!0,disabled:!1,progress:0,tactic:0,workers:2,wounded:0,raid:0,max:2},e.arpa.sequence={max:5e4,progress:0,time:5e4,on:!0,boost:!1,auto:!1,labs:0},e.tech.stock_exchange=0,e.tech.monuments=0,e.tech.supercollider=0,e.tech.tp_depot=0,e.tech.railway=0,e.tech.isolation=1,e.race.truepath=1,e.arpa.m_type=Pe("Monument"),ae(),br(),Pe("Physics"),gt())}function mu(r){let a=0,i=r?e.space.ai_colonist.on:H.ai_colonist,s=r?e.space.decoder.on:be.decoder,n=r?e.space.shock_trooper.on:be.shock_trooper,c=r?e.space.tank.on:be.tank;return i&&s&&(a+=i*s*.35),n&&(a+=n*2),c&&(a+=c*2),a>100&&(a=100),a}function xs(r,a){if(wt[a].orbit!==-2){let i=1.075+wt[a].dist/100;if(e.city.ptrait.includes("elliptical"))switch(a){case"spc_home":i=1.5;break;default:i=1.275+wt[a].dist/100;break}r*=i}return r}function qs(r){if(wt[r].orbit!==-2){let a=wt[r].dist/3;return e.city.ptrait.includes("elliptical")&&r==="spc_home"&&(a+=.15),r==="spc_eris"&&(a+=25),a}return 0}var Ur,dt;function Ya(){let r=document.getElementById("mapCanvas"),a=r.getContext("2d");r.width=r.getBoundingClientRect().width,r.height=r.getBoundingClientRect().height,a.save(),a.fillStyle="#000000",a.fillRect(0,0,r.width,r.height),a.translate(dt.x,dt.y),a.scale(Ur,Ur);let i={};for(let[s,n]of Object.entries(wt))i[s]=ai(s);a.lineWidth=1/Ur,a.strokeStyle="#c0c0c0";for(let[s,n]of Object.entries(wt))if(!n.moon&&n.orbit!==-2){a.beginPath(),n.belt||e.race.orbit_decayed&&s==="spc_home"?a.setLineDash([.01,.01]):a.setLineDash([]);let c=qs(s);a.ellipse(c,0,xs(n.dist,s),n.dist,0,0,Math.PI*2,!0),a.stroke()}a.fillStyle="#0000ff",a.strokeStyle="#0000ff";for(let s of e.space.shipyard.ships)s.transit>0&&(a.beginPath(),a.setLineDash([.1,.4]),a.moveTo(s.xy.x,s.xy.y),a.lineTo(s.destination.x,s.destination.y),a.stroke());for(let[s,n]of Object.entries(wt)){if(e.race.orbit_decayed&&["spc_home","spc_moon"].includes(s))continue;let c="558888";if(m.space[s]&&m.space[s].info.syndicate()&&e.settings.space[s.substring(4)]){let l=Wr(s);c=((Math.round(255*(1-l))<<16)+(Math.round(255*l)<<8)).toString(16).padStart(6,0)}s==="spc_dwarf"?c="7132a8":(s==="spc_sun"||s==="tauceti")&&(c="f8ff2b"),a.fillStyle="#"+c,a.beginPath();let o=n.size/10;if(n.moon)switch(s){case"spc_moon":a.arc(i[s].x+.05,i[s].y+.05,o,0,Math.PI*2,!0);break;case"spc_titan":a.arc(i[s].x-.2,i[s].y-.2,o,0,Math.PI*2,!0);break;default:a.arc(i[s].x+.2,i[s].y+.2,o,0,Math.PI*2,!0);break}else{let l=n.size/10;switch(s){case"spc_sun":a.arc(i[s].x,i[s].y,l,0,Math.PI*2,!0);break;default:a.arc(i[s].x,i[s].y,l,0,Math.PI*2,!0);break}}a.fill()}a.fillStyle="#0000ff",a.strokeStyle="#0000ff";for(let s of e.space.shipyard.ships)s.transit>0&&(a.beginPath(),a.arc(s.xy.x,s.xy.y,.1,0,Math.PI*2,!0),a.fill());a.shadowOffsetX=2,a.shadowOffsetY=2,a.shadowBlur=2,a.shadowColor="rgba(0, 0, 0, 0.5)",a.fillStyle="#009aff",a.font=`${20/Ur}px serif`;for(let s of e.space.shipyard.ships)s.transit>0&&a.fillText(s.name,s.xy.x+.15,s.xy.y-.15);a.fillStyle="#ffa500",a.font=`${25/Ur}px serif`;for(let[s,n]of Object.entries(wt))if(m.space[s]&&e.settings.space[s.substring(4)]){if(e.race.orbit_decayed&&["spc_home"].includes(s))continue;let c=m.space[s].info.name,o=typeof c=="function"?c():c;if(n.moon)switch(s){case"spc_moon":a.fillText(o,i[s].x+.1,i[s].y+.1);break;case"spc_titan":a.fillText(o,i[s].x-.3,i[s].y-.3);break;default:a.fillText(o,i[s].x+.25,i[s].y+.2);break}else switch(s){case"spc_sun":break;default:a.fillText(o,i[s].x,i[s].y-.2*n.size);break}}a.restore()}function fu(r){let a=$('
').appendTo(r),i={},s={},n=!1;dt={},Ur=20,a.append($('').on("mouseup mouseover mouseout",()=>n=!1).on("mousedown",o=>{n=!0,s.x=o.clientX-dt.x,s.y=o.clientY-dt.y}).on("mousemove",o=>{n&&(dt.x=o.clientX-s.x,dt.y=o.clientY-s.y,Ya())}).on("wheel",o=>(o.originalEvent.deltaY<0?(Ur/=.8,dt.x=i.x+(dt.x-i.x)/.8,dt.y=i.y+(dt.y-i.y)/.8,Ya()):(Ur*=.8,dt.x=i.x+(dt.x-i.x)*.8,dt.y=i.y+(dt.y-i.y)*.8,Ya()),!1)),$('').on("click",()=>{Ur/=.8,dt.x=i.x+(dt.x-i.x)/.8,dt.y=i.y+(dt.y-i.y)/.8,Ya()}),$('').on("click",()=>{Ur*=.8,dt.x=i.x+(dt.x-i.x)*.8,dt.y=i.y+(dt.y-i.y)*.8,Ya()}));let c=document.getElementById("mapCanvas").getBoundingClientRect();i.x=c.width/2,i.y=c.height/2,dt.x=i.x,dt.y=i.y,Ya()}function gu(){$("#modalBox").append($('

Solar System

')),fu($("#modalBox"))}var $t={eden_asphodel:{info:{name:t("eden_asphodel_name"),desc(){return e.tech.asphodel&&e.tech.asphodel>=5?`${t("eden_asphodel_desc")} ${t("eden_asphodel_desc_hostile")}`:`${t("eden_asphodel_desc")} ${t("eden_asphodel_desc_peaceful")}`},support:"encampment"},survery_meadows:{id:"eden-survery_meadows",title(){return t("eden_survery_meadows_title")},desc(){return $(this)[0].title()},reqs:{edenic:3},grant:["edenic",4],queue_complete(){return e.tech.edenic>=4?0:1},cost:{Oil(r,a){return 1e7}},effect(){return t("eden_survery_meadows_effect")},action(){return _($(this)[0])?(I(t("eden_survery_meadows_action"),"info",!1,["progress"]),!0):!1}},encampment:{id:"eden-encampment",title:t("eden_encampment_title"),desc(){return`
${t("eden_encampment_title")}
${t("requires_power")}
`},reqs:{edenic:4},cost:{Money(r){return f("encampment",r,159e7,1.235,"eden")},Lumber(r){return f("encampment",r,86e7,1.235,"eden")},Iron(r){return f("encampment",r,19e7,1.235,"eden")},Coal(r){return f("encampment",r,235e5,1.235,"eden")}},effect(){let r=`
${t("eden_encampment_effect",[$(this)[0].support()])}
`;if(e.tech.hasOwnProperty("asphodel")&&e.tech.asphodel>=1){let a=G(250);r+=`
${t("plus_max_resource",[a,t("resource_Asphodel_Powder_name")])}
`}if(H.ascension_trigger&&e.eden.hasOwnProperty("encampment")&&e.eden.encampment.asc){let a=m.interstellar.int_sirius.ascension_trigger.heatSink();a=a<0?Math.abs(a):0;let i=150+a**.95/10;r+=`
${t("plus_max_resource",[+i.toFixed(0),e.resource.Omniscience.name])}
`}return r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},support(){return 8},powered(){return V(616)},refresh:!0,action(){return _($(this)[0])?(S("encampment","eden"),L($(this)[0]),e.resource.Asphodel_Powder.max+=G(250),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0,asc:!1},p:["encampment","eden"]}}},soul_engine:{id:"eden-soul_engine",title:t("eden_soul_engine_title"),desc:`
${t("eden_soul_engine_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:4},cost:{Money(r){return f("soul_engine",r,98312500,1.235,"eden")},Neutronium(r){return f("soul_engine",r,45e5,1.235,"eden")},Orichalcum(r){return f("soul_engine",r,375e5,1.235,"eden")},Asphodel_Powder(r){return f("soul_engine",r,3450,1.235,"eden")}},effect(){return`
${t("space_used_support",[t("eden_asphodel_name")])}
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}
`},s_type:"asphodel",support(){return-1},powered(){return nt(-375)},action(){return _($(this)[0])?(S("soul_engine","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["soul_engine","eden"]}}},mech_station:{id:"eden-mech_station",title:t("eden_mech_station_title"),desc(r){return!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10||r?`
${t("eden_mech_station_title")}
${t("requires_segments",[10])}
`:`
${t("eden_mech_station_title")}
`},reqs:{asphodel:6},queue_size:1,queue_complete(){return 10-e.eden.mech_station.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0)<10?675e7:0:!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10?675e7:0},Graphene(r){return r?r+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0)<10?825e5:0:!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10?825e5:0},Infernite(r){return r?r+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0)<10?75e5:0:!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10?75e5:0},Vitreloy(r){return r?r+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0)<10?666e5:0:!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10?666e5:0},Asphodel_Powder(r){return r?r+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0)<10?7500:0:!e.eden.hasOwnProperty("mech_station")||e.eden.mech_station.count<10?7500:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("mech_station")?e.eden.mech_station.count:0);if(a>=10){let i=`
${t("eden_mech_station_effect")}
`;return i+=`
${t("eden_mech_station_mechs",[e.eden.mech_station.mechs])}
`,i+=`
${t("eden_mech_station_effective",[e.eden.mech_station.effect])}
`,i}else{let s=10-a;return`
${t("eden_mech_station_effect")}
${t("space_dwarf_collider_effect2",[s])}
`}},special(){return!!(e.eden.hasOwnProperty("mech_station")&&e.eden.mech_station.count===10)},action(){return e.eden.mech_station.count<10&&_($(this)[0])?(S("mech_station","eden"),e.eden.mech_station.count===10&&Et(),!0):!1},struct(){return{d:{count:0,mode:3,mechs:0,effect:0},p:["mech_station","eden"]}}},asphodel_harvester:{id:"eden-asphodel_harvester",title:t("eden_asphodel_harvester_title"),desc:`
${t("eden_asphodel_harvester_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:1},cost:{Money(r){return f("asphodel_harvester",r,3428e4,1.24,"eden")},Aluminium(r){return f("asphodel_harvester",r,22288800,1.24,"eden")},Infernite(r){return f("asphodel_harvester",r,666999,1.24,"eden")},Soul_Gem(r){return f("asphodel_harvester",r,2,1.18,"eden")}},effect(){let r=+ie("asphodel_harvester","powder").toFixed(3),a=`
${t("space_used_support",[t("eden_asphodel_name")])}
${t("produce",[r,e.resource.Asphodel_Powder.name])}
`;return e.tech.hell_spire&&e.tech.hell_spire>=11&&(a+=`
${t("eden_asphodel_harvester_upgrade",[2])}
`),a},s_type:"asphodel",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("asphodel_harvester","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["asphodel_harvester","eden"]}}},ectoplasm_processor:{id:"eden-ectoplasm_processor",title:t("eden_ectoplasm_processor_title"),desc:`
${t("eden_ectoplasm_processor_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:2},cost:{Money(r){return f("ectoplasm_processor",r,2265e4,1.24,"eden")},Titanium(r){return f("ectoplasm_processor",r,15e6,1.24,"eden")},Stanene(r){return f("ectoplasm_processor",r,18e6,1.24,"eden")},Asphodel_Powder(r){return f("ectoplasm_processor",r,1e3,1.24,"eden")}},effect(){let r=`
${t("space_used_support",[t("eden_asphodel_name")])}
`;return r+=`
${t("plus_max_resource",[E(5),t("job_ghost_trapper")])}
`,r},s_type:"asphodel",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("ectoplasm_processor","eden"),L($(this)[0]),e.civic.ghost_trapper.display=!0,!0):!1},struct(){return{d:{count:0,on:0},p:["ectoplasm_processor","eden"]}},flair(){return t("eden_ectoplasm_processor_flair")}},research_station:{id:"eden-research_station",title:t("eden_research_station_title"),desc:`
${t("eden_research_station_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:3},cost:{Money(r){return f("research_station",r,39185e3,1.24,"eden")},Cement(r){return f("research_station",r,1e8,1.24,"eden")},Asphodel_Powder(r){return f("research_station",r,1250,1.24,"eden")},Soul_Gem(r){return f("research_station",r,10,1.12,"eden")}},effect(){let a=200+(e.blood.attract?e.blood.attract*5:0);e.tech.science&&e.tech.science>=22&&H.embassy&&H.symposium&&(a*=1+H.symposium*Gt("gxy_gorddon"));let i=`
${t("space_used_support",[t("eden_asphodel_name")])}
`;if(i+=`
${t("eden_research_station_effect",[he(a).toFixed(0),t("job_ghost_trapper")])}
`,e.tech.science&&e.tech.science>=22){i+=`
${t("plus_max_resource",[777,e.resource.Omniscience.name])}
`;let s=Xe(e.civic.ghost_trapper.workers,"ghost_trapper");s*=$r(s,"science"),s*=e.race.pompous?1-v.pompous.vars()[0]/100:1,s=he(s);let n=s*325e-7;i+=`
${t("gain",[+n.toFixed(5),e.resource.Omniscience.name])}
`}return i},s_type:"asphodel",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("research_station","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["research_station","eden"]}}},warehouse:{id:"eden-warehouse",title(){return e.tech.storage<=2?t("city_shed_title1"):e.tech.storage>=4?t("city_shed_title3"):t("city_shed_title2")},desc(){let r=e.tech.storage>=3?e.tech.storage>=4?t("city_shed_desc_size3"):t("city_shed_desc_size2"):t("city_shed_desc_size1");return t("city_shed_desc",[r])},reqs:{asphodel:7},cost:{Money(r){return f("warehouse",r,3e8,1.28,"eden")},Steel(r){return f("warehouse",r,15e6,1.28,"eden")},Alloy(r){return f("warehouse",r,18e6,1.28,"eden")},Cement(r){return f("warehouse",r,275e5,1.28,"eden")}},res(){let r=["Lumber","Stone","Chrysotile","Furs","Copper","Iron","Aluminium","Cement","Coal","Nano_Tube","Neutronium","Adamantite","Infernite","Alloy","Polymer","Iridium","Graphene","Stanene","Bolognium","Orichalcum","Asphodel_Powder"];return e.tech.storage>=3&&e.resource.Steel.display&&r.push("Steel"),e.tech.storage>=4&&e.resource.Titanium.display&&r.push("Titanium"),r},val(r){switch(r){case"Lumber":return 3750;case"Stone":return 3750;case"Chrysotile":return 3750;case"Furs":return 2125;case"Copper":return 1900;case"Iron":return 1750;case"Aluminium":return 1600;case"Cement":return 1400;case"Coal":return 600;case"Steel":return 300;case"Titanium":return 200;case"Nano_Tube":return 150;case"Neutronium":return 40;case"Adamantite":return 90;case"Infernite":return 18;case"Alloy":return 250;case"Polymer":return 250;case"Iridium":return 225;case"Graphene":return 175;case"Stanene":return 175;case"Bolognium":return 45;case"Orichalcum":return 22;case"Asphodel_Powder":return e.eden.stabilizer?.1+e.eden.stabilizer.count*.015:.1;default:return 0}},wide:!0,effect(){let r='
',a=Pa(.2);for(let i of $(this)[0].res())if(e.resource[i].display){let s=X(+G(+($(this)[0].val(i)*a)).toFixed(0));r=r+`${t("plus_max_resource",[s,e.resource[i].name])}`}return r=r+"
",r},action(){if(_($(this)[0])){S("warehouse","eden");let r=Pa(.2);for(let a of $(this)[0].res())e.resource[a].display&&(e.resource[a].max+=G($(this)[0].val(a)*r));return!0}return!1},struct(){return{d:{count:0},p:["warehouse","eden"]}}},stabilizer:{id:"eden-stabilizer",title:t("eden_stabilizer_title"),desc:`
${t("eden_stabilizer_title")}
`,reqs:{asphodel:8},cost:{Money(r){return f("stabilizer",r,8e8,1.25,"eden")},Neutronium(r){return f("stabilizer",r,75e5,1.25,"eden")},Vitreloy(r){return f("stabilizer",r,29e6,1.25,"eden")},Elerium(r){return f("stabilizer",r,7500,1.25,"eden")},Asphodel_Powder(r){return f("stabilizer",r,4250,1.25,"eden")}},queue_complete(){return e.eden.warehouse.count-e.eden.stabilizer.count},effect(){let r=`
${t("eden_stabilizer_requirement",[t("city_shed_title3")])}
`,a=8;if(H.ascension_trigger&&e.eden.hasOwnProperty("encampment")&&e.eden.encampment.asc){let i=m.interstellar.int_sirius.ascension_trigger.heatSink();i=i<0?Math.abs(i):0,i>0&&(a*=1+i/17500)}return r+=`
${t("eden_stabilizer_effect1",[e.resource.Asphodel_Powder.name,+a.toFixed(1)])}
`,r+=`
${t("eden_stabilizer_effect2",[e.resource.Asphodel_Powder.name,t("city_shed_title3"),15])}
`,r+=`
${t("eden_stabilizer_limit",[e?.eden?.warehouse?.count||0])}
`,r},action(){return e.eden.stabilizer.count${t("eden_rune_gate_title")}
${t("requires_segments",[100])}
`:`
${t("eden_rune_gate_title")}
`},wiki:!1,reqs:{elysium:1},condition(){return e.eden.rune_gate.count<100},queue_size:10,queue_complete(){return 100-e.eden.rune_gate.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?1e9:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?1e9:0},Omniscience(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?1e4:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?1e4:0},Copper(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?42e7:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?42e7:0},Nano_Tube(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?35e6:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?35e6:0},Bolognium(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?75e5:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?75e5:0},Asphodel_Powder(r){return r?r+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0)<100?25e3:0:!e.eden.hasOwnProperty("rune_gate")||e.eden.rune_gate.count<100?25e3:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("rune_gate")?e.eden.rune_gate.count:0);if(a>=100)return`
${t("eden_rune_gate_effect")}
`;{let s=100-a;return`
${t("eden_rune_gate_effect")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.rune_gate.count<100&&_($(this)[0])?(S("rune_gate","eden"),e.eden.rune_gate.count===100&&(e.eden.rune_gate_open.count=1,e.settings.eden.elysium=!0,e.tech.elysium=2,Et()),!0):!1},struct(){return{d:{count:0},p:["rune_gate","eden"]}}},rune_gate_open:{id:"space-rune_gate_complete",title:t("eden_rune_gate_title"),desc(){return`
${t("eden_rune_gate_title")}
`},reqs:{elysium:1},condition(){return e.eden.rune_gate.count===100},queue_complete(){return 0},cost:{},effect(){return`
${t("eden_rune_gate_open",[t("eden_elysium_name")])}
`},action(){return!1},struct(){return{d:{count:0},p:["rune_gate_open","eden"]}}},bunker:{id:"eden-bunker",title:t("eden_bunker_title"),desc:`
${t("eden_bunker_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:9},cost:{Money(r){return f("bunker",r,777e6,1.2,"eden")},Stone(r){return f("bunker",r,358e6,1.2,"eden")},Furs(r){return f("bunker",r,666e5,1.2,"eden")},Asphodel_Powder(r){return f("bunker",r,9999,1.2,"eden")}},effect(){let r=`
${t("space_used_support",[t("eden_asphodel_name")])}
`;if(r+=`
${t("plus_max_soldiers",[$(this)[0].soldiers()])}
`,e.tech.celestial_warfare&&e.tech.celestial_warfare>=4&&(!e.tech.elysium||e.tech.elysium<8)&&(r+=`
${t("eden_bunker_effect",[3])}
`),e.tech.celestial_warfare&&e.tech.celestial_warfare>=5){let a=10;e.blood.lust&&(a+=e.blood.lust*.2);let i=Q("militant",0);i&&(a*=1+i/100),r+=`
${t("city_boot_camp_effect",[a])}
`}return r},s_type:"asphodel",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("bunker","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["bunker","eden"]}},soldiers(){let r=e.race.grenadier?3:5;return E(r)}},bliss_den:{id:"eden-bliss_den",title:t("eden_bliss_den_title"),desc:`
${t("eden_bliss_den_title")}
${t("space_support",[t("eden_asphodel_name")])}
`,reqs:{asphodel:10},cost:{Money(r){return f("bliss_den",r,45e7,1.22,"eden")},Furs(r){return f("bliss_den",r,29e6,1.22,"eden")},Asphodel_Powder(r){return f("bliss_den",r,35e3,1.22,"eden")},Plywood(r){return f("bliss_den",r,1e7,1.22,"eden")},Soul_Gem(r){return f("bliss_den",r,10,1.22,"eden")}},effect(){let r=8,a=2,i=`
${t("space_used_support",[t("eden_asphodel_name")])}
`;return i+=`
${t("space_red_vr_center_effect1",[r])}
`,i+=`
${t("space_red_vr_center_effect2",[a])}
`,i},s_type:"asphodel",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("bliss_den","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["bliss_den","eden"]}},flair(){return t("eden_bliss_den_flair")}},rectory:{id:"eden-rectory",title:t("eden_rectory_title"),desc:`
${t("eden_rectory_title")}
${t("requires_power")}
`,reqs:{asphodel:11},cost:{Money(r){return f("rectory",r,275e6,1.24,"eden")},Copper(r){return f("rectory",r,182e5,1.24,"eden")},Brick(r){return f("rectory",r,75e5,1.24,"eden")},Soul_Gem(r){return f("rectory",r,18,1.24,"eden")}},effect(){let r=`
${t("eden_encampment_effect",[$(this)[0].support()])}
`;return r+=`
${t("plus_max_citizens",[$(this)[0].citizens()])}
`,e.genes.ancients&&e.genes.ancients>=4&&(r+=`
${t("plus_max_resource",[E(1),t("job_priest")])}
`),r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},support(){return 1},powered(){return V(50)},action(){return _($(this)[0])?(S("rectory","eden"),L($(this)[0])&&(e.resource[e.race.species].max+=$(this)[0].citizens()),!0):!1},struct(){return{d:{count:0,on:0},p:["rectory","eden"]}},citizens(){let r=4;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r},flair(){return t("eden_rectory_flair")}}},eden_elysium:{info:{name:t("eden_elysium_name"),desc:t("eden_elysium_desc"),prop(){let a=`${e.tech.world_control&&!e.race.truepath?t("civics_garrison_peacekeepers"):t("civics_garrison_soldiers")} / {{ max | filter('s_max') }}`;return a+=`${t("civics_garrison_wounded")} {{ wounded }}`,a+=``,a},bind(){return e.civic.garrison},filter(r,a){switch(a){case"stationed":return we();case"s_max":return we(!0);case"m_use":return t("civics_garrison_mercenary_cost",[Math.round(Ga()).toLocaleString()])}}},survey_fields:{id:"eden-survey_fields",title:t("eden_survey_fields"),desc:t("eden_survey_fields"),reqs:{elysium:2},grant:["elysium",3],cost:{Money(){return 1e9},Oil(){return 1e7},Helium_3(){return 5e6}},effect:t("eden_survey_fields_effect"),action(){return _($(this)[0])?(I(t("eden_survey_fields_msg"),"info",!1,["progress"]),e.eden.fortress={fortress:1e3,patrols:20,armory:100,detector:100},!0):!1},post(){e.tech.elysium&&e.tech.elysium===3&&(Et(),ue("eden-survey_fields"))}},fortress:{id:"eden-fortress",title:t("eden_fortress"),desc:t("eden_fortress"),queue_complete(){return 0},reqs:{elysium:3},condition(){return e.tech.elysium===3},effect(){let r=`
${t("eden_fortress_rating",[e.eden.fortress?e.eden.fortress.fortress/10:0])}
`;return r+=`
${t("eden_fortress_patrols",[e.eden.fortress?e.eden.fortress.patrols:0])}
`,r+=`
${t("eden_fortress_detect",[e.eden.fortress?e.eden.fortress.detector:0])}
`,r+=`
${t("eden_fortress_armory",[e.eden.fortress?e.eden.fortress.armory:0])}
`,r},action(){return!1}},siege_fortress:{id:"eden-siege_fortress",title:t("eden_siege_fortress"),desc:t("eden_siege_fortress"),queue_complete(){return 0},reqs:{elysium:3},condition(){return e.tech.elysium===3&&e.eden.fortress.fortress>0},cost:{Troops(){return E(100)}},effect(){let r=`
${t("eden_siege_fortress_effect")}
`;return e.eden.hasOwnProperty("fortress")&&e.eden.fortress.hasOwnProperty("siege")&&(r+=`
${t("eden_siege_fortress_result")}
`,r+=`
${t("eden_siege_fortress_lost",[e.eden.fortress.siege.loss])}
`,r+=`
${t("eden_siege_fortress_damage",[e.eden.fortress.siege.damage])}
`,r+=`
${t("eden_fortress_rating",[e.eden.fortress?e.eden.fortress.fortress/10:0])}
`),r},action(){let r=E(100);if(we()e.civic.garrison.workers&&(e.civic.garrison.wounded=e.civic.garrison.workers),e.eden.fortress.fortress-=o,e.eden.fortress.fortress<0&&(e.eden.fortress.fortress=0),e.eden.fortress.siege={loss:n,damage:o/10},e.eden.fortress.fortress<=0?(I(t("eden_siege_fortress_fall"),"success",!1,["combat"]),e.tech.elysium=4):I(t("eden_siege_fortress_success",[o/10]),"success",!1,["combat"])}return Et(),!1}},raid_supplies:{id:"eden-raid_supplies",title:t("eden_raid_supplies"),desc:t("eden_raid_supplies"),queue_complete(){return 0},reqs:{elysium:3},condition(){return e.tech.elysium===3&&e.eden.fortress.armory>0},cost:{Troops(){return E(50)}},effect(){let r=`
${t("eden_raid_supplies_effect")}
`;return e.eden.hasOwnProperty("fortress")&&e.eden.fortress.hasOwnProperty("raid")&&(r+=`
${t("eden_raid_fortress_result")}
`,r+=`
${t("eden_siege_fortress_lost",[e.eden.fortress.raid.loss])}
`,r+=`
${t("eden_siege_fortress_damage",[e.eden.fortress.raid.damage])}
`,r+=`
${t("eden_fortress_armory",[e.eden.fortress?e.eden.fortress.armory:0])}
`),r},action(){let r=E(50);if(we()e.civic.garrison.workers&&(e.civic.garrison.wounded=e.civic.garrison.workers),e.eden.fortress.armory-=c,e.eden.fortress.armory<0&&(e.eden.fortress.armory=0),e.eden.fortress.raid={loss:s,damage:c},I(t("eden_raid_fortress_success",[c]),"success",!1,["combat"]),ae()}return Et(),!1}},ambush_patrol:{id:"eden-ambush_patrol",title:t("eden_ambush_patrol"),desc:t("eden_ambush_patrol"),queue_complete(){return 0},reqs:{elysium:3},condition(){return e.tech.elysium===3&&e.eden.fortress.patrols>0},cost:{Troops(){return E(25)}},effect(){let r=`
${t("eden_ambush_patrol_effect")}
`;return e.eden.hasOwnProperty("fortress")&&e.eden.fortress.hasOwnProperty("ambush")&&(r+=`
${t("eden_ambush_patrol_result")}
`,r+=`
${t("eden_siege_fortress_lost",[e.eden.fortress.ambush.loss])}
`,r+=`
${t("eden_ambush_patrol_damage",[e.eden.fortress.ambush.damage?t("true"):t("false")])}
`,r+=`
${t("eden_fortress_patrols",[e.eden.fortress?e.eden.fortress.patrols:0])}
`),r},action(){let r=E(25);if(we()Math.floor(T(0,e.eden.fortress.detector*2,!0))){let a=Math.floor(T(0,r,!0));a=Ms(a,r);let i=r-a;e.civic.garrison.protest+=a,Bt(a),e.civic.garrison.wounded+=Math.floor(T(0,i,!0)),e.civic.garrison.wounded>e.civic.garrison.workers&&(e.civic.garrison.wounded=e.civic.garrison.workers),e.eden.fortress.patrols--,e.eden.fortress.ambush={loss:a,damage:!0},I(t("eden_ambush_patrol_success"),"success",!1,["combat"]),ae()}else e.eden.fortress.ambush={loss:r,damage:!1},e.civic.garrison.protest+=r,Bt(r),I(t("eden_ambush_patrol_fail"),"warning",!1,["combat"]);return Et(),!1}},ruined_fortress:{id:"eden-ruined_fortress",title:t("eden_ruined_fortress"),desc:t("eden_ruined_fortress"),queue_complete(){return 0},reqs:{elysium:4},condition(){return e.tech.elysium<8},wiki:!1,effect(){return t("eden_ruined_fortress_effect")},action(){return!1}},scout_elysium:{id:"eden-scout_elysium",title:t("eden_scout_elysium_title"),desc:t("eden_scout_elysium_title"),reqs:{elysium:4},grant:["elysium",5],queue_complete(){return e.tech.elysium>=5?0:1},cost:{Money(){return 1e10},Oil(){return 9e6},Helium_3(){return 6e6},Troops(){return E(100)}},effect:t("eden_scout_elysium_effect"),action(){return _($(this)[0])?(I(t("eden_scout_elysium_result"),"info",!1,["progress"]),e.settings.eden.isle=!0,e.civic.garrison.protest+=E(50),Bt(E(50)),!0):!1}},fire_support_base:{id:"eden-fire_support_base",title:t("eden_fire_support_base_title"),desc(r){return!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100||r?`
${t("eden_fire_support_base_title")}
${t("requires_segments",[100])}
`:`
${t("eden_fire_support_base_title")}
`},reqs:{elysium:8},queue_size:10,queue_complete(){return 100-e.eden.fire_support_base.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0)<100?25e8:0:!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100?25e8:0},Stone(r){return r?r+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0)<100?235e6:0:!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100?235e6:0},Neutronium(r){return r?r+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0)<100?375e4:0:!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100?375e4:0},Polymer(r){return r?r+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0)<100?65e6:0:!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100?65e6:0},Elysanite(r){return r?r+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0)<100?625e3:0:!e.eden.hasOwnProperty("fire_support_base")||e.eden.fire_support_base.count<100?625e3:0},Elerium(){return e.tech.elysium>=10&&e.eden.fire_support_base.count===100&&e.tech.isle&&e.tech.isle===1?25e4:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("fire_support_base")?e.eden.fire_support_base.count:0);if(a>=100){let i=`
${t("plus_max_soldiers",[$(this)[0].soldiers()])}
`;return e.tech.elysium&&e.tech.elysium>=10&&e.tech.isle===1&&(e.resource.Elerium.amount>=25e4?i+=`
${t("eden_fire_support_base_effect")}
`:i+=`
${t("eden_fire_support_base_effect")}
`,i+=`
${t("eden_fire_support_base_effect2",[X(25e4),e.resource.Elerium.name])}
`),i}else{let s=100-a;return`
${t("eden_fire_support_base_build")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){if(e.eden.fire_support_base.count<100&&_($(this)[0]))return S("fire_support_base","eden"),e.eden.fire_support_base.count===100&&!e.tech.isle&&(e.eden.enemy_isle={wt:100,et:100,g:100},e.tech.isle=1,Et(),ae()),!0;if(e.eden.fire_support_base.count===100&&e.tech.elysium>=10&&e.tech.isle&&e.tech.isle===1&&_($(this)[0])){let r=null,a=null,i=[];if(e.eden.enemy_isle||(e.eden.enemy_isle={wt:100,et:100,g:100}),e.eden.enemy_isle.wt>0&&i.push("wt"),e.eden.enemy_isle.g>0&&i.push("g"),e.eden.enemy_isle.et>0&&i.push("et"),e.eden.pillbox&&e.eden.pillbox.staffed>0){let n=+(Math.round(Qe(e.eden.pillbox.staffed,"army",0))/75).toFixed(0);n>100&&(n=100),e.eden.fire_support_base.count=Math.floor(n)}else e.eden.fire_support_base.count=0;e.eden.fire_support_base.count<100&&I(t("eden_fire_support_base_counterattack",[t("eden_fire_support_base_title")]),"danger",!1,["progress"]),r=i[Math.floor(T(0,i.length))],r==="wt"?a="#eden-west_tower .button":r==="et"?a="#eden-east_tower .button":r==="g"&&(a="#eden-isle_garrison .button"),e.eden.enemy_isle[r]-=Math.floor(T(25,75)),e.eden.enemy_isle[r]<0&&(e.eden.enemy_isle[r]=0);let s=$('
');if($(a).append(s),setTimeout(function(){s.addClass("burn")},500),setTimeout(function(){s.addClass("b")},600),setTimeout(function(){s.addClass("c")},2500),setTimeout(function(){$(`${a} .mininuke`).remove()},4500),e.eden.enemy_isle.wt===0&&e.eden.enemy_isle.g===0&&e.eden.enemy_isle.et===0)return e.tech.isle=2,e.settings.eden.palace=!0,y($t.eden_elysium.north_pier),y($t.eden_isle.south_pier),ae(),Et(),!0}return!1},struct(){return{d:{count:0,on:0},p:["fire_support_base","eden"]}},soldiers(){let r=e.race.grenadier?15:25;return E(r)}},elysanite_mine:{id:"eden-elysanite_mine",title:t("eden_elysanite_mine_title"),desc:`
${t("eden_elysanite_mine_title")}
${t("requires_power")}
`,reqs:{elysium:6},cost:{Money(r){return f("elysanite_mine",r,566e6,1.24,"eden")},Adamantite(r){return f("elysanite_mine",r,18e6,1.24,"eden")},Wrought_Iron(r){return f("elysanite_mine",r,1e7,1.24,"eden")}},effect(){let r=`
${t("plus_max_resource",[E(2),t("job_elysium_miner")])}
`;return r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(25)},action(){return _($(this)[0])?(S("elysanite_mine","eden"),L($(this)[0]),e.civic.elysium_miner.display=!0,!0):!1},struct(){return{d:{count:0,on:0},p:["elysanite_mine","eden"]}}},sacred_smelter:{id:"eden-sacred_smelter",title(){return t("eden_sacred_smelter_title")},desc(){return`
${t("eden_sacred_smelter_title")}
${t("requires_power")}
`},reqs:{elysium:7},cost:{Money(r){return f("sacred_smelter",r,625e6,1.25,"eden")},Iridium(r){return f("sacred_smelter",r,25e6,1.25,"eden")},Elysanite(r){return f("sacred_smelter",r,45e5,1.25,"eden")},Scarletite(r){return f("sacred_smelter",r,125e4,1.25,"eden")}},effect(){let r=`
${t("interstellar_stellar_forge_effect3",[5])}
`;return e.tech.elysium&&e.tech.elysium>=19&&(r+=`
${t("city_foundry_effect1",[E(3)])}
`),`${r}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(33)},special:!0,action(){return _($(this)[0])?(S("sacred_smelter","eden"),L($(this)[0])&&(e.city.smelter.cap+=5,e.city.smelter.Steel+=5,e.city.smelter.Oil+=5),!0):!1},struct(){return{d:{count:0,on:0},p:["sacred_smelter","eden"]}}},elerium_containment:{id:"eden-elerium_containment",title(){return t("eden_elerium_containment",[e.resource.Elerium.name])},desc(){return`
${t("eden_elerium_containment",[e.resource.Elerium.name])}
${t("requires_power")}
`},reqs:{elysium:11},cost:{Money(r){return f("elerium_containment",r,45e8,1.28,"eden")},Graphene(r){return f("elerium_containment",r,1e8,1.28,"eden")},Aerogel(r){return f("elerium_containment",r,88e6,1.28,"eden")},Elysanite(r){return f("elerium_containment",r,25e6,1.28,"eden")}},effect(){let r=X(G(1e3));return`
${t("plus_max_resource",[r,t("resource_Elerium_name")])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(50)},action(){return _($(this)[0])?(S("elerium_containment","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_containment","eden"]}}},pillbox:{id:"eden-pillbox",title(){return t("eden_pillbox_title")},desc(){return`
${t("eden_pillbox_title")}
${t("requires_soldiers")}
${t("requires_power")}
`},reqs:{elysium:9},cost:{Money(r){return f("pillbox",r,15e8,1.26,"eden")},Cement(r){return f("pillbox",r,5e8,1.26,"eden")},Steel(r){return f("pillbox",r,65e6,1.26,"eden")},Nanoweave(r){return f("pillbox",r,38e6,1.26,"eden")}},effect(){let r=+(Math.round(Qe(e.eden.pillbox&&e.eden.pillbox.staffed?e.eden.pillbox.staffed:E(10),"army",0))/75).toFixed(1);r>100&&(r=100);let a="";return(!e.tech.isle||e.tech.isle===1)&&(a+=`
${t("eden_pillbox_effect",[r])}
`),e.tech.elysium&&e.tech.elysium>=12&&(a+=`
${t("eden_restaurant_effect",[.35,t("eden_restaurant_bd")])}
`),a+=`
${t("portal_guard_post_effect2",[E(10),$(this)[0].powered()])}
`,a},powered(){return V(12)},action(){return _($(this)[0])?(S("pillbox","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,staffed:0},p:["pillbox","eden"]}}},restaurant:{id:"eden-restaurant",title(){return e.eden.restaurant&&e.eden.restaurant.count>=10?t("eden_restaurant_bd"):t("eden_restaurant_title")},desc(){return`
${t("eden_restaurant_title")}
${t("requires_power_combo",[e.resource.Food.name])}
`},reqs:{elysium:12},cost:{Money(r){return f("restaurant",r,425e7,1.26,"eden")},Oil(r){return f("restaurant",r,1e6,1.26,"eden")},Polymer(r){return f("restaurant",r,11e7,1.26,"eden")},Sheet_Metal(r){return f("restaurant",r,25e6,1.26,"eden")}},effect(){let r=25e4,a=0;a+=e.eden.hasOwnProperty("pillbox")&&H.pillbox?.35*H.pillbox:0,a+=e.civic.elysium_miner.workers*.15,a+=e.eden.hasOwnProperty("archive")&&H.archive?.4*H.archive:0;let i=`
${t("space_red_vr_center_effect1",[a.toFixed(1)])}
`;return i+=`
${t("interstellar_alpha_starport_effect3",[X(r),e.resource.Food.name])}
`,i+=`
${t("minus_power",[$(this)[0].powered()])}
`,i},powered(){return V(25)},action(){return _($(this)[0])?(S("restaurant","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["restaurant","eden"]}}},eternal_bank:{id:"eden-eternal_bank",title(){return t("eden_eternal_bank_title")},desc(){return`
${t("eden_eternal_bank_title")}
${t("requires_power")}
`},reqs:{elysium:13},cost:{Money(r){return f("eternal_bank",r,ee("untrustworthy",25e8),1.26,"eden")},Bolognium(r){return f("eternal_bank",r,ee("untrustworthy",1e7),1.26,"eden")},Orichalcum(r){return f("eternal_bank",r,ee("untrustworthy",125e5),1.26,"eden")},Mythril(r){return f("eternal_bank",r,ee("untrustworthy",75e5),1.26,"eden")}},effect(){let r=G(kr()*10);return r=(+r.toFixed(0)).toLocaleString(),t("plus_max_resource",[`$${r}`,t("resource_Money_name")])},action(){return _($(this)[0])?(S("eternal_bank","eden"),e.resource.Money.max+=G(kr()*10),!0):!1},struct(){return{d:{count:0},p:["eternal_bank","eden"]}}},archive:{id:"eden-archive",title(){return e.eden.archive&&e.eden.archive.count>=10?t("eden_archive_bd"):t("eden_archive_title")},desc(){return`
${t("eden_archive_title")}
${t("requires_power")}
`},reqs:{elysium:14},cost:{Money(r){return f("archive",r,375e7,1.26,"eden")},Nano_Tube(r){return f("archive",r,9e7,1.26,"eden")},Asphodel_Powder(r){return f("archive",r,5e4,1.26,"eden")},Elysanite(r){return f("archive",r,35e6,1.26,"eden")},Soul_Gem(r){return f("archive",r,99,1.26,"eden")}},effect(){let r=`
${t("plus_max_resource",[1013,e.resource.Omniscience.name])}
`;return e.tech.elysium&&e.tech.elysium>=12&&(r+=`
${t("eden_restaurant_effect",[.4,t("eden_restaurant_bd")])}
`),r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(75)},action(){return _($(this)[0])?(S("archive","eden"),L($(this)[0]),e.tech.elysium===14&&(e.tech.elysium=15,ae()),!0):!1},struct(){return{d:{count:0,on:0},p:["archive","eden"]}}},north_pier:{id:"eden-north_pier",title(){return t("eden_pier",[t("north")])},desc(r){return!e.eden.hasOwnProperty("rune_gate")||e.eden.north_pier.count<10||r?`
${t("eden_pier",[t("north")])}
${t("requires_segments",[10])}
`:`
${t("eden_pier",[t("north")])}
`},reqs:{isle:2},queue_complete(){return 10-e.eden.north_pier.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("north_pier")?e.eden.north_pier.count:0)<10?75e8:0:!e.eden.hasOwnProperty("north_pier")||e.eden.north_pier.count<10?75e8:0},Iron(r){return r?r+(e.eden.hasOwnProperty("north_pier")?e.eden.north_pier.count:0)<10?5e8:0:!e.eden.hasOwnProperty("north_pier")||e.eden.north_pier.count<10?5e8:0},Plywood(r){return e.race.kindling_kindred||e.race.smoldering?0:r?r+(e.eden.hasOwnProperty("north_pier")?e.eden.north_pier.count:0)<10?25e7:0:!e.eden.hasOwnProperty("north_pier")||e.eden.north_pier.count<10?25e7:0},Sheet_Metal(r){return!e.race.kindling_kindred&&!e.race.smoldering?0:r?r+(e.eden.hasOwnProperty("north_pier")?e.eden.north_pier.count:0)<10?625e5:0:!e.eden.hasOwnProperty("north_pier")||e.eden.north_pier.count<10?625e5:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("north_pier")?e.eden.north_pier.count:0);if(a>=10)return`
${t("eden_pier_effect",[t("eden_pier",[t("south")]),t("eden_isle_name")])}
`;{let s=10-a;return`
${t("eden_pier_effect",[t("eden_pier",[t("south")]),t("eden_isle_name")])}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.north_pier.count<10&&_($(this)[0])?(S("north_pier","eden"),e.eden.south_pier.count===10&&e.eden.north_pier.count===10&&e.tech.isle===2&&(e.tech.isle=3),!0):!1},struct(){return{d:{count:0},p:["north_pier","eden"]}}},rushmore:{id:"eden-rushmore",title(){return t("eden_rushmore",[x[e.race.species].name])},desc(){return`
${t("eden_rushmore",[x[e.race.species].name])}
`},reqs:{elysium:16},cost:{Money(r,a){return e.eden?.rushmore?.count===0||a?55e9:0},Stone(r,a){return e.eden?.rushmore?.count===0||a?1e10:0}},queue_complete(){return 1-(e.eden?.rushmore?.count||0)},effect(){return`
${t("space_red_vr_center_effect2",[10])}
`},action(){return e.eden.rushmore.count===0&&_($(this)[0])?(S("rushmore","eden"),!0):!1},struct(){return{d:{count:0},p:["rushmore","eden"]}},flair(){return t("eden_rushmore_flair")}},reincarnation:{id:"eden-reincarnation",title(){return t("eden_reincarnation_title")},desc(){return`
${t("eden_reincarnation_title")}
`},reqs:{elysium:17},cost:{Money(r){return e.eden?.reincarnation?.count===0?35e9:e.eden?.reincarnation?.count===1?5e9:0},Aluminium(r){return e.eden?.reincarnation?.count===0?1e10:0},Nano_Tube(r){return e.eden?.reincarnation?.count===0?2e9:0},Asphodel_Powder(r){return e.eden?.reincarnation?.count===0?75e4:0}},queue_complete(){return 1-(e.eden?.reincarnation?.count||0)},effect(){return`
${t("eden_reincarnation_effect",[x[e.race.species].name])}
`},action(){return e.eden.reincarnation.count===0&&_($(this)[0])?(S("reincarnation","eden"),!0):e.eden.reincarnation.count===1&&e.resource[e.race.species].max>e.resource[e.race.species].amount&&_($(this)[0])?(e.resource[e.race.species].amount++,!0):!1},struct(){return{d:{count:0},p:["reincarnation","eden"]}},flair(){return t("eden_reincarnation_flair")}},eden_cement:{id:"eden-eden_cement",title(){return t("city_cement_plant")},desc(){return`
${t("city_cement_plant_desc")}
${t("requires_power")}
`},reqs:{elysium:18},cost:{Money(r){return f("eden_cement",r,5e9,1.24,"eden")},Stone(r){return f("eden_cement",r,1e9,1.24,"eden")},Iron(r){return f("eden_cement",r,68e8,1.24,"eden")},Asphodel_Powder(r){return f("eden_cement",r,65e3,1.24,"eden")}},effect(){let r=t("plus_max_resource",[E(5),t("job_cement_worker")]);return r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(10)},action(){return _($(this)[0])?(S("eden_cement","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["eden_cement","eden"]}}}},eden_isle:{info:{name:t("eden_isle_name"),desc:t("eden_isle_desc")},south_pier:{id:"eden-south_pier",title(){return t("eden_pier",[t("south")])},desc(r){return!e.eden.hasOwnProperty("rune_gate")||e.eden.south_pier.count<10||r?`
${t("eden_pier",[t("south")])}
${t("requires_segments",[10])}
`:`
${t("eden_pier",[t("south")])}
`},reqs:{isle:2},queue_complete(){return 10-e.eden.south_pier.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("south_pier")?e.eden.south_pier.count:0)<10?75e8:0:!e.eden.hasOwnProperty("south_pier")||e.eden.south_pier.count<10?75e8:0},Iron(r){return r?r+(e.eden.hasOwnProperty("south_pier")?e.eden.south_pier.count:0)<10?5e8:0:!e.eden.hasOwnProperty("south_pier")||e.eden.south_pier.count<10?5e8:0},Plywood(r){return e.race.kindling_kindred||e.race.smoldering?0:r?r+(e.eden.hasOwnProperty("south_pier")?e.eden.south_pier.count:0)<10?25e7:0:!e.eden.hasOwnProperty("south_pier")||e.eden.south_pier.count<10?25e7:0},Sheet_Metal(r){return!e.race.kindling_kindred&&!e.race.smoldering?0:r?r+(e.eden.hasOwnProperty("south_pier")?e.eden.south_pier.count:0)<10?625e5:0:!e.eden.hasOwnProperty("south_pier")||e.eden.south_pier.count<10?625e5:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("south_pier")?e.eden.south_pier.count:0);if(a>=10)return`
${t("eden_pier_effect",[t("eden_pier",[t("north")]),t("eden_elysium_name")])}
`;{let s=10-a;return`
${t("eden_pier_effect",[t("eden_pier",[t("north")]),t("eden_elysium_name")])}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.south_pier.count<10&&_($(this)[0])?(S("south_pier","eden"),e.eden.south_pier.count===10&&e.eden.north_pier.count===10&&e.tech.isle===2&&(e.tech.isle=3),!0):!1},struct(){return{d:{count:0},p:["south_pier","eden"]}}},west_tower:{id:"eden-west_tower",title(){return e.eden.enemy_isle&&e.eden.enemy_isle.wt===0?t("eden_rampart_ruin",[t("west")]):t("eden_rampart_title",[t("west")])},desc(){return e.eden.enemy_isle&&e.eden.enemy_isle.wt===0?t("eden_rampart_ruin",[t("west")]):t("eden_rampart_title",[t("west")])},queue_complete(){return 0},reqs:{isle:1},effect(){return e.eden.enemy_isle&&e.eden.enemy_isle.wt===0?`
${t("eden_tower_destroyed")}
`:`
${t("eden_tower_intact",[e.eden.enemy_isle?e.eden.enemy_isle.wt:100])}
`},action(){return!1}},isle_garrison:{id:"eden-isle_garrison",title(){return e.eden.enemy_isle&&e.eden.enemy_isle.g===0?t("eden_garrison_ruin"):t("eden_garrison_title")},desc(){return e.eden.enemy_isle&&e.eden.enemy_isle.g===0?t("eden_garrison_ruin"):t("eden_garrison_title")},queue_complete(){return 0},reqs:{isle:1},effect(){return e.eden.enemy_isle&&e.eden.enemy_isle.g===0?`
${t("eden_tower_destroyed")}
`:`
${t("eden_tower_intact",[e.eden.enemy_isle?e.eden.enemy_isle.g:100])}
`},action(){return!1}},east_tower:{id:"eden-east_tower",title(){return e.eden.enemy_isle&&e.eden.enemy_isle.et===0?t("eden_rampart_ruin",[t("east")]):t("eden_rampart_title",[t("east")])},desc(){return e.eden.enemy_isle&&e.eden.enemy_isle.et===0?t("eden_rampart_ruin",[t("east")]):t("eden_rampart_title",[t("east")])},queue_complete(){return 0},reqs:{isle:1},effect(){return e.eden.enemy_isle&&e.eden.enemy_isle.et===0?`
${t("eden_tower_destroyed")}
`:`
${t("eden_tower_intact",[e.eden.enemy_isle?e.eden.enemy_isle.et:100])}
`},action(){return!1}},spirit_vacuum:{id:"eden-spirit_vacuum",title(){return t("eden_spirit_vacuum_title")},desc(){return`
${t("eden_spirit_vacuum_title")}
${t("requires_power")}
`},reqs:{isle:4},cost:{Money(r){return f("spirit_vacuum",r,3e10,1.1,"eden")},Neutronium(r){return f("spirit_vacuum",r,175e6,1.1,"eden")},Stanene(r){return f("spirit_vacuum",r,1e9,1.1,"eden")},Elerium(r){return f("spirit_vacuum",r,24e4,1.1,"eden")},Soul_Gem(r){return f("spirit_vacuum",r,1e3,1.1,"eden")}},effect(){let r=`
${t("eden_spirit_vacuum_effect")}
`;return e.eden.hasOwnProperty("palace")&&e.eden.palace.rate>0&&e.eden.palace.energy>0&&(r+=`
${t("eden_spirit_vacuum_time",[ut(e.eden.palace.energy/e.eden.palace.rate)])}
`),r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(r){let i=(r?e.eden?.spirit_battery?.on??0:H.spirit_battery||0)||0;return+V(18e3*.9**i).toFixed(2)},action(){return _($(this)[0])?(S("spirit_vacuum","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["spirit_vacuum","eden"]}},flair(){return t("eden_spirit_vacuum_flair")}},spirit_battery:{id:"eden-spirit_battery",title(){return t("eden_spirit_battery_title")},desc(){return`
${t("eden_spirit_battery_title")}
${t("requires_power")}
`},reqs:{isle:5},cost:{Money(r){return f("spirit_battery",r,18e9,1.2,"eden")},Copper(r){return f("spirit_battery",r,5e9,1.2,"eden")},Vitreloy(r){return f("spirit_battery",r,5e7,1.2,"eden")},Elysanite(r){return f("spirit_battery",r,1e8,1.2,"eden")}},effect(){let r=`
${t("eden_spirit_battery_effect",[t("eden_spirit_vacuum_title"),10])}
`;return e.tech.isle&&e.tech.isle>=6&&(r+=`
${t("eden_spirit_battery_effect2",[t("eden_spirit_vacuum_title"),8])}
`),r+=`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(500)},action(){return _($(this)[0])?(S("spirit_battery","eden"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["spirit_battery","eden"]}}},soul_compactor:{id:"eden-soul_compactor",title(){return t("eden_soul_compactor_title")},desc(){return`
${t("eden_soul_compactor_title")}
`},reqs:{isle:7},cost:{Money(r,a){return e.eden?.soul_compactor?.count===0||a?5e10:0},Iron(r,a){return e.eden?.soul_compactor?.count===0||a?225e8:0},Uranium(r,a){return e.eden?.soul_compactor?.count===0||a?4e6:0},Scarletite(r,a){return e.eden?.soul_compactor?.count===0||a?3e8:0}},queue_complete(){return 1-(e.eden?.soul_compactor?.count||0)},effect(){let r=`
${t("eden_soul_compactor_effect1",[e.eden?.soul_compactor?.energy.toLocaleString()||0])}
`;return r+=`
${t("eden_soul_compactor_effect2",[1e9.toLocaleString()])}
`,r+=`
${t("eden_soul_compactor_effect3",[e.resource.Soul_Gem.name])}
`,r},action(){return e.eden.soul_compactor.count===0&&_($(this)[0])?(S("soul_compactor","eden"),!0):!1},struct(){return{d:{count:0,energy:0,report:0},p:["soul_compactor","eden"]}},flair(){return t("eden_soul_compactor_flair")}}},eden_palace:{info:{name:t("eden_palace_name"),desc(){return t("eden_palace_desc")},prop(){return``},bind(){return e.eden.palace},filter(r,a){switch(a){case"energy":return t("eden_palace_energy",[r.toLocaleString()])}}},scout_palace:{id:"eden-scout_palace",title:t("eden_scout_palace_title"),desc:t("eden_scout_palace_title"),reqs:{palace:1},grant:["palace",2],queue_complete(){return e.tech.palace>=2?0:1},cost:{Money(){return 5e10},Deuterium(){return 5e6}},effect:t("eden_scout_palace_effect"),action(){return _($(this)[0])?(I(t("eden_scout_palace_result"),"info",!1,["progress"]),!0):!1}},throne:{id:"eden-scout_palace",title(){return t("eden_abandoned_throne_title")},desc(){return t("eden_abandoned_throne_title")},reqs:{palace:2},condition(){return e.tech.palace<6},queue_complete(){return!1},cost:{},effect:t("eden_abandoned_throne_effect"),action(){return!1}},infuser:{id:"eden-infuser",title(){return t("eden_infuser_title")},desc(r){return!e.eden.hasOwnProperty("infuser")||e.eden.infuser.count<25||r?`
${t("eden_infuser_title")}
${t("requires_segments",[25])}
`:`
${t("eden_infuser_title")}
`},reqs:{palace:6},queue_size:5,queue_complete(){return 25-e.eden.infuser.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("infuser")?e.eden.infuser.count:0)<25?12e9:0:!e.eden.hasOwnProperty("infuser")||e.eden.infuser.count<25?12e9:0},Copper(r){return r?r+(e.eden.hasOwnProperty("infuser")?e.eden.infuser.count:0)<25?1e10:0:!e.eden.hasOwnProperty("infuser")||e.eden.infuser.count<25?1e10:0},Graphene(r){return r?r+(e.eden.hasOwnProperty("infuser")?e.eden.infuser.count:0)<25?1e9:0:!e.eden.hasOwnProperty("infuser")||e.eden.infuser.count<25?1e9:0},Elysanite(r){return r?r+(e.eden.hasOwnProperty("infuser")?e.eden.infuser.count:0)<25?125e6:0:!e.eden.hasOwnProperty("infuser")||e.eden.infuser.count<25?125e6:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("infuser")?e.eden.infuser.count:0);if(a>=25)return`
${t("eden_infuser_effect")}
`;{let s=25-a;return`
${t("eden_infuser_effect")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.infuser.count<25&&_($(this)[0])?(S("infuser","eden"),e.eden?.conduit?.count===25&&e.eden?.infuser?.count===25&&(e.tech.palace=7,e.eden.apotheosis={count:0},Et()),!0):!1},struct(){return{d:{count:0},p:["infuser","eden"]}}},apotheosis:{id:"eden-apotheosis",title:t("eden_apotheosis"),desc:t("eden_apotheosis"),reqs:{palace:7},condition(){return e.eden.hasOwnProperty("apotheosis")&&e.eden.apotheosis.count===0},queue_complete(){return 0},no_multi:!0,cost:{},effect(){let r=vu();return`
${t("eden_apotheosis_effect")}
${r}`},action(){return _($(this)[0])?(Qr(!0),!0):!1}},conduit:{id:"eden-conduit",title(){return t("eden_conduit_title")},desc(r){return!e.eden.hasOwnProperty("conduit")||e.eden.conduit.count<25||r?`
${t("eden_conduit_title")}
${t("requires_segments",[25])}
`:`
${t("eden_conduit_title")}
`},reqs:{palace:5},queue_size:5,queue_complete(){return 25-e.eden.conduit.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("conduit")?e.eden.conduit.count:0)<25?8e9:0:!e.eden.hasOwnProperty("conduit")||e.eden.conduit.count<25?25e9:0},Stanene(r){return r?r+(e.eden.hasOwnProperty("conduit")?e.eden.conduit.count:0)<25?25e7:0:!e.eden.hasOwnProperty("conduit")||e.eden.conduit.count<25?25e7:0},Orichalcum(r){return r?r+(e.eden.hasOwnProperty("conduit")?e.eden.conduit.count:0)<25?125e6:0:!e.eden.hasOwnProperty("conduit")||e.eden.conduit.count<25?125e6:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("conduit")?e.eden.conduit.count:0);if(a>=25)return`
${t("eden_conduit_done")}
`;{let s=25-a;return`
${t("eden_conduit_effect")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.conduit.count<25&&_($(this)[0])?(S("conduit","eden"),e.eden?.conduit?.count===25&&e.eden?.infuser?.count===25&&(e.tech.palace=7,e.eden.apotheosis={count:0},Et()),!0):!1},struct(){return{d:{count:0},p:["conduit","eden"]}},flair(){return t("eden_conduit_flair")}},tomb:{id:"eden-tomb",title(){return e.eden?.tomb?.count===10?t("eden_tomb_sealed"):t("eden_tomb_title")},desc(r){return!e.eden.hasOwnProperty("tomb")||e.eden.tomb.count<10||r?`
${t("eden_tomb_title")}
${t("requires_segments",[10])}
`:`
${t("eden_tomb_title")}
`},reqs:{palace:3},queue_complete(){return 10-e.eden.tomb.count},cost:{Money(r){return r?r+(e.eden.hasOwnProperty("tomb")?e.eden.tomb.count:0)<10?25e9:0:!e.eden.hasOwnProperty("tomb")||e.eden.tomb.count<10?25e9:0},Cement(r){return r?r+(e.eden.hasOwnProperty("tomb")?e.eden.tomb.count:0)<10?1e10:0:!e.eden.hasOwnProperty("tomb")||e.eden.tomb.count<10?1e10:0},Neutronium(r){return r?r+(e.eden.hasOwnProperty("tomb")?e.eden.tomb.count:0)<10?1e8:0:!e.eden.hasOwnProperty("tomb")||e.eden.tomb.count<10?1e8:0}},effect(r){let a=(r?.count??0)+(e.eden.hasOwnProperty("tomb")?e.eden.tomb.count:0);if(a>=10)return`
${t("eden_tomb_effect")}
`;{let s=10-a;return`
${t("eden_tomb_constuct")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.eden.tomb.count<10&&_($(this)[0])?(S("tomb","eden"),e.eden.tomb.count===10&&e.tech.palace===3&&(e.tech.palace=4,Et()),!0):!1},struct(){return{d:{count:0},p:["tomb","eden"]}},flair(){return t("eden_tomb_flair")}}}};function vu(){let r=$e("apotheosis"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_name"):t("resource_Plasmid_name"),i=`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
`;return i+=`
${t("interstellar_ascension_trigger_effect2",[r.supercoiled,t("resource_Supercoiled_plural_name")])}
`,i}function Ms(r,a){let i=Ss(r);return r-=Math.floor(T(0,i,!0)),r>a?r=a:r<0&&(r=0),Math.floor(r)}function Os(){return $t}function Et(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==7))return;let r=$("#eden");K(r),r.append($(`

${t("tab_eden")}

`)),!(!e.tech.edenic||e.tech.edenic<3)&&Object.keys($t).forEach(function(a){let i=a.replace("eden_","");if(e.settings.eden[`${i}`]){let s=typeof $t[a].info.name=="string"?$t[a].info.name:$t[a].info.name(),n="";$t[a].info.hasOwnProperty("prop")&&(n=$t[a].info.prop());let c=!1;if($t[a].info.hasOwnProperty("bind")&&(c=$t[a].info.bind()),$t[a].info.support){let o=$t[a].info.support;$t[a].info.hide_support?r.append(`

${s}

${n}
`):r.append(`

${s}

{{ support }}/{{ s_max }}${n}
`),C({el:`#sr${a}`,data:c||e.eden[o],filters:{filter(){return $t[a].info.filter(...arguments)}}})}else c?(r.append(`

${s}

${n}
`),C({el:`#sr${a}`,data:c,filters:{filter(){return $t[a].info.filter(...arguments)}}})):r.append(`

${s}

${n}
`);N(a,function(){return typeof $t[a].info.desc=="string"?$t[a].info.desc:$t[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),Object.keys($t[a]).forEach(function(o){if(o!=="info"&&Vt($t,a,o)){let l=$t[a][o];er(l,"eden",o)}})}})}function Ln(){if(e.tech.asphodel&&e.tech.asphodel>=5){let r=.34;return e.eden.mech_station&&e.eden.mech_station.count>=10&&(r=.34+e.eden.mech_station.effect*.0066),r}return 1}function ui(r){switch(r){case"city":return e.resource[e.race.species]?e.resource[e.race.species].amount<=5?t("tab_city1"):e.resource[e.race.species].amount<=20?t("tab_city2"):e.resource[e.race.species].amount<=75?t("tab_city3"):e.resource[e.race.species].amount<=250?t("tab_city4"):e.resource[e.race.species].amount<=600?t("tab_city5"):e.resource[e.race.species].amount<=1200?t("tab_city6"):e.resource[e.race.species].amount<=2500?t("tab_city7"):t("tab_city8"):t("tab_city1");case"local_space":return t("sol_system",[e.race.truepath?x[e.race.species].home:lt("name")]);case"outer_local_space":return t("outer_sol_system",[e.race.truepath?x[e.race.species].home:lt("name")]);case"old":return t("tab_old_res");case"new":return t("tab_new_res");case"old_sr":return t("tab_old_sr_res");case"new_sr":return t("tab_new_sr_res");default:return t(r)}}function Ma(r){switch(e.settings.tabLoad?He("page_view",{page_title:"Evolve - All Tabs"}):(Nn(),Fs(),js(),Cn(),zs(),ni(),K($("#mTabCivil")),K($("#mTabCivic")),K($("#mTabResearch")),K($("#mTabResource")),K($("#mTabArpa")),K($("#mTabStats")),K($("#mTabObserve"))),r){case 0:e.settings.tabLoad||(He("page_view",{page_title:"Evolve - Evolution"}),As());break;case 1:case"mTabCivil":e.settings.tabLoad||He("page_view",{page_title:"Evolve - Civilization"}),$("#mTabCivil").append(` - `),C({el:"#mTabStats",data:{s:e.settings},filters:{label(a){return ui(a)}}}),po();break;case 7:e.settings.tabLoad||He("page_view",{page_title:"Evolve - Settings"});break;case"mTabObserve":default:e.settings.tabLoad||He("page_view",{page_title:"Evolve - Hell Observation"}),e.portal.observe&&Ui(!0);break}$("#popper").length>0&&$(`#${$("#popper").data("id")}`).length===0&&le()}var Le={spc_home:{info:{name(){return x[e.race.species].home},desc:t("space_home_info_desc"),zone:"inner",syndicate(){return!1}},test_launch:{id:"space-test_launch",title:t("space_home_test_launch_title"),desc:t("space_home_test_launch_desc"),reqs:{space:1},grant:["space",2],queue_complete(){return e.tech.space>=2?0:1},cost:{Money(){return 1e5},Oil(r,a){return ve(7500,!1,a)}},effect:t("space_home_test_launch_effect"),action(){if(_($(this)[0])){if(e.race.truepath){let r=1;if(It("gov0")||r++,It("gov1")||r++,It("gov2")||r++,Math.floor(T(0,r))!==0)return I(t("space_home_test_launch_action_fail"),"danger",!1,["progress"]),0}return y(Le.spc_home.satellite),I(t("space_home_test_launch_action"),"info",!1,["progress"]),!0}return!1}},satellite:{id:"space-satellite",title:t("space_home_satellite_title"),desc:t("space_home_satellite_desc"),reqs:{space:2},cost:{Money(r){return f("satellite",r,72e3,1.22)},Knowledge(r){return f("satellite",r,28e3,1.22)},Oil(r,a){return f("satellite",r,ve(3200,!1,a),1.22)},Alloy(r){return f("satellite",r,8e3,1.22)}},effect(){let r=e.race.cataclysm||e.race.orbit_decayed?2e3:750;if((e.race.cataclysm||e.race.orbit_decayed)&&e.tech.supercollider){let n=e.tech.particles&&e.tech.particles>=3?5:10;r*=e.tech.supercollider/n+1}let a=e.race.cataclysm?t("space_moon_observatory_title"):e.race.orbit_decayed?t("city_university"):Kt(),i=e.race.cataclysm?25:e.race.orbit_decayed?12:4,s=`
${t("space_home_satellite_effect2",[a,i])}
`;return`
${t("plus_max_resource",[r,t("resource_Knowledge_name")])}
${s}
${t("space_home_satellite_effect3",[e.civic.scientist?e.civic.scientist.name:t("job_scientist")])}
`},action(){return _($(this)[0])?(S("satellite"),e.resource.Knowledge.max+=750,!0):!1},struct(){return{d:{count:0},p:["satellite","space"]}}},gps:{id:"space-gps",title:t("space_home_gps_title"),desc(){return e.space.hasOwnProperty("gps")&&e.space.gps.count<4?`
${t("space_home_gps_desc")}
${t("space_home_gps_desc_req")}
`:`
${t("space_home_gps_desc")}
`},reqs:{satellite:1},not_trait:["terrifying"],cost:{Money(r){return f("gps",r,75e3,1.18)},Knowledge(r){return f("gps",r,5e4,1.18)},Copper(r){return f("gps",r,6500,1.18)},Oil(r,a){return f("gps",r,ve(3500,!1,a),1.18)},Titanium(r){return f("gps",r,8e3,1.18)}},effect(r){return(r?.count??0)+(e.space.hasOwnProperty("gps")?e.space.gps.count:0)<4?t("space_home_gps_effect_req"):`
${t("space_home_gps_effect")}
${t("space_home_gps_effect2",[2])}
`},action(){return _($(this)[0])?(S("gps"),!0):!1},struct(){return{d:{count:0},p:["gps","space"]}}},propellant_depot:{id:"space-propellant_depot",title:t("space_home_propellant_depot_title"),desc:t("space_home_propellant_depot_desc"),reqs:{space_explore:1},cost:{Money(r){return f("propellant_depot",r,55e3,1.35)},Aluminium(r){return f("propellant_depot",r,22e3,1.35)},Oil(r,a){return f("propellant_depot",r,ve(5500,!1,a),1.35)}},effect(){let r=G(1250)*(e.tech.world_control?1.5:1);if(e.resource.Helium_3.display){let a=G(1e3)*(e.tech.world_control?1.5:1);return`
${t("plus_max_resource",[r,t("resource_Oil_name")])}
${t("plus_max_resource",[a,t("resource_Helium_3_name")])}
`}return`
${t("plus_max_resource",[r,t("resource_Oil_name")])}
`},action(){return _($(this)[0])?(S("propellant_depot"),e.resource.Oil.max+=G(1250)*(e.tech.world_control?1.5:1),e.resource.Helium_3.display&&(e.resource.Helium_3.max+=G(1e3)*(e.tech.world_control?1.5:1)),!0):!1},struct(){return{d:{count:0},p:["propellant_depot","space"]}}},nav_beacon:{id:"space-nav_beacon",title(){return e.race.orbit_decayed?t("space_home_broadcast_beacon_title"):t("space_home_nav_beacon_title")},desc:`
${t("space_home_nav_beacon_desc")}
${t("requires_power")}
`,reqs:{luna:2},cost:{Money(r){return f("nav_beacon",r,75e3,1.32)},Copper(r){return f("nav_beacon",r,38e3,1.32)},Aluminium(r){return f("nav_beacon",r,44e3,1.32)},Oil(r,a){return f("nav_beacon",r,ve(12500,!1,a),1.32)},Iridium(r){return f("nav_beacon",r,1200,1.32)}},powered(){return V(2)},powerBalancer(){return e.tech.luna&&e.tech.luna>=3?[{s:e.space.moon_base.s_max-e.space.moon_base.support},{s:e.space.spaceport.s_max-e.space.spaceport.support}]:[{s:e.space.moon_base.s_max-e.space.moon_base.support}]},support(){return 1},effect(){let r="";e.race.orbit_decayed&&e.tech.broadcast&&(r=`
${t("space_red_vr_center_effect1",[e.tech.broadcast/2])}
`);let a=e.race.orbit_decayed?"":`
${t("space_home_nav_beacon_effect1")}
`,i=e.tech.luna>=3?`
${t("space_red_spaceport_effect1",[A().red,1])}
`:"";return`${a}${i}${r}
${t("space_home_nav_beacon_effect2",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("nav_beacon"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["nav_beacon","space"]}}}},spc_moon:{info:{name:t("space_moon_info_name"),desc(){let r=x[e.race.species].home;return t("space_moon_info_desc",[r])},support:"moon_base",zone:"inner",syndicate(){return!0}},moon_mission:{id:"space-moon_mission",title:t("space_moon_mission_title"),desc:t("space_moon_mission_desc"),reqs:{space:2,space_explore:2},grant:["space",3],queue_complete(){return e.tech.space>=3?0:1},cost:{Oil(r,a){return+ve(12e3,!1,a).toFixed(0)}},effect:t("space_moon_mission_effect"),action(){return _($(this)[0])?(I(t("space_moon_mission_action"),"info",!1,["progress"]),y(Le.spc_moon.iridium_mine),y(Le.spc_moon.helium_mine),!0):!1}},moon_base:{id:"space-moon_base",title:t("space_moon_base_title"),desc(){return`
${t("space_moon_base_desc")}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{space:3},cost:{Money(r){return f("moon_base",r,22e3,1.32)},Cement(r){return f("moon_base",r,18e3,1.32)},Alloy(r){return f("moon_base",r,7800,1.32)},Polymer(r){return f("moon_base",r,12500,1.32)}},effect(r){let a=G(500),i=+ve($(this)[0].support_fuel().a,!0,r).toFixed(2);return`
${t("space_moon_base_effect1")}
${t("plus_max_resource",[a,t("resource_Iridium_name")])}
${t("space_moon_base_effect3",[i,$(this)[0].powered()])}
`},support(){return 2},support_fuel(){return{r:"Oil",a:2}},powered(){return V(4)},powerBalancer(){return[{s:e.space.moon_base.s_max-e.space.moon_base.support}]},refresh:!0,action(){if(_($(this)[0])){if(S("moon_base"),L($(this)[0]),e.space.moon_base.count===1&&(e.tech.moon=1),!e.tech.luna&&(e.tech.luna=1,e.race.truepath)){let r=t("space_moon_base_msg",[pt(3)]);e.civic.foreign.gov3.hstl<10?r=`${r} ${t("space_moon_base_msg_ally")}`:e.civic.foreign.gov3.hstl>60&&(r=`${r} ${t("space_moon_base_msg_hstl")}`),I(r,"info",!1,["progress"])}return e.race.orbit_decay&&e.race.orbit_decay>e.stats.days+2500&&(e.race.orbit_decay=e.stats.days+2500,I(t("evo_challenge_orbit_decayed_accelerated",[e.race.orbit_decay-e.stats.days]),"info",!1,["progress"])),!0}return!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["moon_base","space"]}}},iridium_mine:{id:"space-iridium_mine",title:t("space_moon_iridium_mine_title"),desc:`
${t("space_moon_iridium_mine_desc")}
${t("space_support",[t("space_moon_info_name")])}
`,reqs:{space:3,luna:1},cost:{Money(r){return f("iridium_mine",r,42e3,1.35)},Lumber(r){return f("iridium_mine",r,9e3,1.35)},Titanium(r){return f("iridium_mine",r,17500,1.35)}},effect(){let r=ie("iridium_mine","iridium"),a=+r.b.toFixed(3),i="";e.race.truepath&&(e.civic.foreign.gov3.hstl<10?i=`
${t("space_rival_ally",[+(r.g*100).toFixed(1)])}
`:e.civic.foreign.gov3.hstl>60&&(i=`
${t("space_rival_war",[+(r.g*100).toFixed(1)])}
`));let s=e.race.cataclysm?`
${t("produce",[+ie("iridium_mine","coal").toFixed(2),e.resource.Coal.name])}
`:"",n=e.race.cataclysm?`
${t("produce",[+(ie("iridium_mine","coal")/48).toFixed(3),e.resource.Uranium.name])}
`:"";return`
${t("space_used_support",[t("space_moon_info_name")])}
${t("space_moon_iridium_mine_effect",[a])}
${i}${s}${n}`},s_type:"moon",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(e.resource.Iridium.display=!0,S("iridium_mine"),e.resource.Mythril.display||(e.resource.Mythril.display=!0,gt()),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["iridium_mine","space"]}}},helium_mine:{id:"space-helium_mine",title:t("space_moon_helium_mine_title"),desc:`
${t("space_moon_helium_mine_desc")}
${t("space_support",[t("space_moon_info_name")])}
`,reqs:{space:3,luna:1},cost:{Money(r){return f("helium_mine",r,38e3,1.35)},Aluminium(r){return f("helium_mine",r,9e3,1.35)},Steel(r){return f("helium_mine",r,17500,1.35)}},effect(){let r=G(100),a=ie("helium_mine"),i=+a.b.toFixed(3),s="";return e.race.truepath&&(e.civic.foreign.gov3.hstl<10?s=`
${t("space_rival_ally",[+(a.g*100).toFixed(1)])}
`:e.civic.foreign.gov3.hstl>60&&(s=`
${t("space_rival_war",[+(a.g*100).toFixed(1)])}
`)),`
${t("space_used_support",[t("space_moon_info_name")])}
${t("space_moon_helium_mine_effect",[i])}
${s}
${t("plus_max_resource",[r,t("resource_Helium_3_name")])}
`},s_type:"moon",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(e.resource.Helium_3.display=!0,S("helium_mine"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["helium_mine","space"]}}},observatory:{id:"space-observatory",title:t("space_moon_observatory_title"),desc:`
${t("space_moon_observatory_desc")}
${t("space_support",[t("space_moon_info_name")])}
`,reqs:{science:9,luna:1},cost:{Money(r){return f("observatory",r,2e5,1.28)},Knowledge(r){return f("observatory",r,69e3,1.28)},Stone(r){return f("observatory",r,125e3,1.28)},Iron(r){return f("observatory",r,65e3,1.28)},Iridium(r){return f("observatory",r,1250,1.28)}},effect(){let r="";e.race.cataclysm&&(r=`
${t("city_university_effect",[E(1)])}
`);let a=5e3;e.race.cataclysm&&e.space.satellite&&e.space.satellite.count>0&&(a*=1+e.space.satellite.count*.25);let i=e.race.cataclysm?`
${t("space_moon_observatory_cata_effect",[25])}
`:`
${t("space_moon_observatory_effect",[5])}
`;return`
${t("space_used_support",[t("space_moon_info_name")])}
${r}
${t("plus_max_resource",[a,t("resource_Knowledge_name")])}
${i}`},s_type:"moon",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("observatory"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["observatory","space"]}}}},spc_red:{info:{name(){return A().red},desc(){return t("space_red_info_desc",[A().red])},support:"spaceport",zone:"inner",syndicate(){return!0}},red_mission:{id:"space-red_mission",title(){return t("space_mission_title",[A().red])},desc(){return t("space_mission_desc",[A().red])},reqs:{space:3,space_explore:3},grant:["space",4],queue_complete(){return e.tech.space>=4?0:1},cost:{Helium_3(r,a){return+ve(4500,!1,a).toFixed(0)}},effect(){return t("space_red_mission_effect",[A().red])},action(){return _($(this)[0])?(I(t("space_red_mission_action",[A().red]),"info",!1,["progress"]),y(Le.spc_red.living_quarters),y(Le.spc_red.garage),y(Le.spc_red.red_mine),y(Le.spc_red.fabrication),!0):!1}},spaceport:{id:"space-spaceport",title:t("space_red_spaceport_title"),desc(){return`
${t("space_red_spaceport_desc")}
${t("requires_power_space",[e.resource.Food.name])}
`},reqs:{space:4},cost:{Money(r){return f("spaceport",r,47500,1.32)},Iridium(r){return f("spaceport",r,1750,1.32)},Mythril(r){return f("spaceport",r,25,1.32)},Titanium(r){return f("spaceport",r,22500,1.32)}},effect(r){let a=+ve($(this)[0].support_fuel().a,!0,r).toFixed(2),i="";if(e.race.cataclysm||e.race.orbit_decayed){let s=G(kr()*4);i=`
${t("plus_max_resource",[`$${s}`,t("resource_Money_name")])}
`}return`
${t("space_red_spaceport_effect1",[A().red,$(this)[0].support()])}
${i}
${t("space_red_spaceport_effect2",[a,$(this)[0].powered()])}
${t("spend",[e.race.cataclysm?2:25,e.resource.Food.name])}
`},support(){let r=e.race.cataclysm||e.race.orbit_decayed?4:3;return e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=4&&r++,r},support_fuel(){return{r:"Helium_3",a:1.25}},powered(){return V(5)},powerBalancer(){return[{s:e.space.spaceport.s_max-e.space.spaceport.support}]},refresh:!0,action(){return _($(this)[0])?(S("spaceport"),L($(this)[0]),e.tech.mars||(e.tech.mars=1),e.race.orbit_decay&&e.race.orbit_decay>e.stats.days+1e3&&(e.race.orbit_decay=e.stats.days+1e3,I(t("evo_challenge_orbit_decayed_accelerated",[e.race.orbit_decay-e.stats.days]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["spaceport","space"]}}},red_tower:{id:"space-red_tower",title:t("space_red_tower_title"),desc(){return`
${t("space_red_tower_desc")}
${t("requires_power")}
`},reqs:{mars:3},cost:{Money(r){return f("red_tower",r,225e3,1.28)},Iron(r){return f("red_tower",r,22e3,1.28)},Cement(r){return f("red_tower",r,15e3,1.28)},Alloy(r){return f("red_tower",r,8e3,1.28)}},effect(){return`
${t("space_red_spaceport_effect1",[A().red,e.race.cataclysm||e.race.fasting?2:1])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(2)},powerBalancer(){return[{s:e.space.spaceport.s_max-e.space.spaceport.support}]},support(){return e.race.cataclysm||e.race.fasting?2:1},action(){return _($(this)[0])?(S("red_tower"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["red_tower","space"]}}},captive_housing:zt("captive_housing","space"),terraformer:{id:"space-terraformer",title:t("space_terraformer"),desc(r){return!e.space.hasOwnProperty("terraformer")||e.space.terraformer.count<100||r?`
${t("space_terraformer")}
${t("requires_segments",[100])}
`+(e.space.hasOwnProperty("terraformer")&&e.space.terraformer.count>=100?`
${t("requires_power")}
`:""):`
${t("space_terraformer")}
`},reqs:{terraforming:1},condition(){return!(e.space.terraformer.count>=100)},queue_size:5,queue_complete(){return 100-e.space.terraformer.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?75e5:75e6:0},Alloy(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?25e4:75e4:0},Neutronium(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?125e3:0},Elerium(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?1e3:0},Bolognium(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?0:1e5:0},Orichalcum(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?12e3:25e4:0},Soul_Gem(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?0:1:0},Nanoweave(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?0:75e3:0},Quantium(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100&&e.race.truepath?75e3:0},Cipher(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100&&e.race.truepath?1e3:0}},effect(r){let a=(r?.count??0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0);if(a<100){let i=100-a;return`
${t("space_terraformer_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return Le.spc_red.atmo_terraformer.effect(r)},action(){return _($(this)[0])&&e.space.terraformer.count<100?(S("terraformer","space"),e.space.terraformer.count>=100&&(e.tech.terraforming=2,e.space.atmo_terraformer={count:1,on:0},St(),le()),!0):!1},struct(){return{d:{count:0},p:["terraformer","space"]}}},atmo_terraformer:{id:"space-atmo_terraformer",title:t("space_terraformer"),desc(){return`
${t("space_terraformer")}
${t("requires_power")}
`},wiki:!1,reqs:{terraforming:2},condition(){return e.space.terraformer.count>=100},queue_complete(){return 0},cost:{},powered(r){return V((r?r.truepath:e.race.truepath)?500:5e3)},postPower(r){r?setTimeout(function(){e.tech.terraforming=H.atmo_terraformer?3:2,St()},250):(e.tech.terraforming=2,St())},effect(r){let a=ho(),i=$(this)[0].powered(r),s=i>0?`
${t("minus_power",[i])}
`:"";return`
${t("space_terraformer_effect2")}
${a}${s}`},action(){return!1}},terraform:{id:"space-terraform",title:t("space_terraform"),desc:t("space_terraform"),reqs:{terraforming:3},queue_complete(){return 0},no_multi:!0,cost:{},effect(){let r=ho();return`
${t("space_terraform_effect")}
${r}`},action(){return _($(this)[0])?(Dn(),!0):!1}},assembly:zt("assembly","space"),living_quarters:{id:"space-living_quarters",title(){return ke("halloween").active?t("events_halloween_red_housing"):t("space_red_living_quarters_title")},desc(){return`
${t("space_red_living_quarters_desc")}
${t("space_support",[A().red])}
`},reqs:{mars:1},cost:{Money(r){return f("living_quarters",r,Hn(38e3),1.28)},Steel(r){return f("living_quarters",r,Hn(15e3),1.28)},Polymer(r){return f("living_quarters",r,Hn(9500),1.28)},Horseshoe(){return e.race.hooved?2:0}},effect(r){let a=$(this)[0].citizens(r),i="";if(e.race.cataclysm||e.race.orbit_decayed){let s=G(e.tech.home_safe>=2?e.tech.home_safe>=3?"100000":"50000":"25000");i=`
${t("plus_max_resource",[`$${s}`,t("resource_Money_name")])}
`}return`
${t("space_used_support",[A().red])}
${i}
${t("plus_max_resource",[E(1),e.race.truepath?t("job_colonist_tp",[A().red]):t("colonist")])}
${t("plus_max_resource",[a,t("citizen")])}
`},s_type:"red",support(){return-1},powered(){return 0},action(){if(_($(this)[0])){if(S("living_quarters"),e.civic.colonist.display=!0,L($(this)[0])){e.resource[e.race.species].max+=E(1);let r=E(1);e.civic.colonist.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.colonist.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["living_quarters","space"]}},citizens(r){let a=e.race.cataclysm||e.race.orbit_decayed?2:1,i=r?e.space?.biodome?.on??0:be.biodome;if(i){let s=e.tech.mars>=6?.1:.05;a+=s*i}return+E(a).toFixed(2)}},pylon:{id:"space-pylon",title:t("space_red_pylon"),desc:t("space_red_pylon"),reqs:{magic:2},condition(){return!!(e.race.cataclysm||e.race.orbit_decayed)},cost:{Money(r){return f("pylon",r,10,1.48)},Stone(r){return f("pylon",r,12,1.42)},Crystal(r){return f("pylon",r,8,1.42)-3}},effect(){let r=G(2),a=+(.005*Me("magic")).toFixed(3);return`
${t("gain",[a,e.resource.Mana.name])}
${t("plus_max_resource",[r,e.resource.Mana.name])}
`},special(){return!!(e.tech.magic&&e.tech.magic>=3)},action(){return _($(this)[0])?(S($(this)[0]),e.resource.Mana.max+=G(2),!0):!1},struct(){return{d:{count:0},p:["pylon","space"]}}},vr_center:{id:"space-vr_center",title:t("space_red_vr_center_title"),desc(){return`
${t("space_red_vr_center_desc")}
${t("space_support",[A().red])}
`},reqs:{mars:1,broadcast:3},cost:{Money(r){return f("vr_center",r,38e4,1.25)},Copper(r){return f("vr_center",r,55e3,1.25)},Stanene(r){return f("vr_center",r,1e5,1.25)},Soul_Gem(r){return f("vr_center",r,1,1.25)}},effect(){let r=Q("gaslighter",1),a=r?r+1:1;return e.race.orbit_decayed&&(a+=2),`
${t("space_used_support",[A().red])}
${t("space_red_vr_center_effect1",[a])}
${t("space_red_vr_center_effect2",[2])}
`},s_type:"red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S($(this)[0]),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["vr_center","space"]}}},garage:{id:"space-garage",title:t("space_red_garage_title"),desc(){return`
${t("space_red_garage_desc")}
`},reqs:{mars:1},cost:{Money(r){return f("garage",r,75e3,1.28)},Iron(r){return f("garage",r,12e3,1.28)},Brick(r){return f("garage",r,3e3,1.28)},Sheet_Metal(r){return f("garage",r,1500,1.28)}},wide:!0,res(){let r=["Copper","Iron","Cement","Steel","Titanium","Alloy","Nano_Tube","Neutronium","Infernite"];return(e.race.cataclysm||e.race.orbit_decayed)&&(r.push("Polymer"),r.push("Coal"),r.push("Lumber"),r.push("Chrysotile"),r.push("Stone"),r.push("Furs")),r},heavy(r){return!!["Copper","Iron","Steel","Titanium","Neutronium","Infernite"].includes(r)},val(r){switch(r){case"Copper":return 6500;case"Iron":return 5500;case"Cement":return e.race.cataclysm?10500:6e3;case"Steel":return 4500;case"Titanium":return 3500;case"Alloy":return 2500;case"Nano_Tube":return 25e3;case"Neutronium":return 125;case"Infernite":return 75;case"Polymer":return 2500;case"Coal":return 1500;case"Lumber":return 7500;case"Chrysotile":return 7500;case"Stone":return 7500;case"Furs":return 2200;default:return 0}},multiplier(r){let a=e.tech.particles>=4?1+e.tech.supercollider/20:1;return(e.tech.world_control||e.race.cataclysm||e.race.orbit_decayed)&&(a*=2),e.tech.shelving&&e.tech.shelving>=3&&(a*=1.5),a*=e.stats.achieve.blackhole?1+e.stats.achieve.blackhole.l*.05:1,r&&e.tech.shelving&&e.tech.shelving>=2?a*3:a},effect(){let r=$(this)[0].multiplier(!1),a=$(this)[0].multiplier(!0),i=e.tech.particles>=4?20+e.tech.supercollider:20;(e.tech.world_control||e.race.cataclysm||e.race.orbit_decayed)&&(i+=10);let s=e.race.cataclysm||e.race.orbit_decayed?`${t("plus_max_resource",[i,t("resource_Crates_name")])}`:"",n='
';n=n+`${t("plus_max_resource",[i,t("resource_Containers_name")])}${s}`;for(let c of $(this)[0].res())if(e.resource[c].display){let o=$(this)[0].heavy(c),l=X(+(G($(this)[0].val(c))*(o?a:r)).toFixed(0),1);n=n+`${t("plus_max_resource",[l,e.resource[c].name])}`}return n=n+"
",n},action(){if(_($(this)[0])){S("garage");let r=e.tech.particles>=4?20+e.tech.supercollider:20;(e.tech.world_control||e.race.cataclysm||e.race.orbit_decayed)&&(r+=10),e.resource.Containers.max+=r,e.resource.Containers.display||wr();let a=$(this)[0].multiplier(!1),i=$(this)[0].multiplier(!0);for(let s of $(this)[0].res())if(e.resource[s].display){let n=$(this)[0].heavy(s);e.resource[s].max+=G($(this)[0].val(s))*(n?i:a)}return!0}return!1},struct(){return{d:{count:0},p:["garage","space"]}}},red_mine:{id:"space-red_mine",title(){return Ce("mine")},desc(){return`
${t("space_red_mine_desc")}
${t("space_support",[A().red])}
`},reqs:{mars:1},cost:{Money(r){return f("red_mine",r,5e4,1.32)},Lumber(r){return f("red_mine",r,65e3,1.32)},Iron(r){return f("red_mine",r,33e3,1.32)}},effect(){let r=ie("red_mine","copper"),a=ie("red_mine","titanium"),i=+r.b.toFixed(3),s=+a.b.toFixed(3),n="";e.race.truepath&&(e.civic.foreign.gov3.hstl<10?n=`
${t("space_rival_ally",[+(r.g*100).toFixed(1)])}
`:e.civic.foreign.gov3.hstl>60&&(n=`
${t("space_rival_war",[+(r.g*100).toFixed(1)])}
`));let c=e.race.orbit_decayed?`
${t("plus_max_resource",[E(1),t("job_miner")])}
${t("plus_max_resource",[E(1),t("job_coal_miner")])}
`:"",o=(e.race.cataclysm||e.race.orbit_decayed)&&!e.race.sappy?`
${t("space_red_mine_effect",[+ie("red_mine","stone").toFixed(2),e.resource.Stone.name])}
`:"",l=(e.race.cataclysm||e.race.orbit_decayed)&&e.race.smoldering?`
${t("space_red_mine_effect",[+ie("red_mine","asbestos").toFixed(2),e.resource.Chrysotile.name])}
`:"",u=e.race.cataclysm||e.race.orbit_decayed?`
${t("space_red_mine_effect",[+ie("red_mine","aluminium").toFixed(2),e.resource.Aluminium.name])}
`:"";return`
${t("space_used_support",[A().red])}
${c}
${t("space_red_mine_effect",[i,e.resource.Copper.name])}
${t("space_red_mine_effect",[s,e.resource.Titanium.name])}
${n}${l}${o}${u}`},s_type:"red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("red_mine"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["red_mine","space"]}}},fabrication:{id:"space-fabrication",title:t("space_red_fabrication_title"),desc(){return`
${t("space_red_fabrication_desc")}
${t("space_support",[A().red])}
`},reqs:{mars:1},cost:{Money(r){return f("fabrication",r,9e4,1.32)},Copper(r){return f("fabrication",r,25e3,1.32)},Cement(r){return f("fabrication",r,12e3,1.32)},Wrought_Iron(r){return f("fabrication",r,1200,1.32)}},effect(){let r=e.race.cataclysm&&!e.race.flier?`
${t("plus_max_resource",[E(1),t("job_cement_worker")])}
`:"",a=e.race.cataclysm||e.race.orbit_decayed?5:2;return e.race.high_pop&&(a=he(a)),`
${t("space_used_support",[A().red])}
${t("space_red_fabrication_effect1",[E(1)])}
${r}
${t("space_red_fabrication_effect2",[a])}
`},s_type:"red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("fabrication"),L($(this)[0])&&(e.civic.craftsman.max+=E(1)),!0):!1},struct(){return{d:{count:0,on:0},p:["fabrication","space"]}}},red_factory:{id:"space-red_factory",title(){return Ce("factory")},desc(){return`
${t("space_red_factory_desc")}
${t("requires_power_combo",[e.resource.Helium_3.name])}
`},reqs:{mars:4},cost:{Money(r){return f("red_factory",r,75e3,1.32)},Brick(r){return f("red_factory",r,1e4,1.32)},Coal(r){return f("red_factory",r,7500,1.32)},Mythril(r){return f("red_factory",r,50,1.32)}},effect(r){let a=`
${t("space_red_factory_effect1")}
`;e.tech.foundry>=7&&(a=a+`
${t("space_red_factory_effect2")}
`),e.race.orbit_decayed&&!e.race.flier&&(a=a+`
${t("plus_max_resource",[E(1),t("job_cement_worker")])}
`);let i=+ve(1,!0,r).toFixed(2);return a=a+`
${t("space_red_factory_effect3",[i,$(this)[0].powered()])}
`,a},powered(){return V(3)},special:!0,action(){return _($(this)[0])?(e.space.red_factory.count++,L($(this)[0])&&e.city.factory.Alloy++,e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,on:0},p:["red_factory","space"]}}},nanite_factory:zt("nanite_factory","space"),biodome:{id:"space-biodome",title(){return e.race.artifical?t("space_red_signal_tower_title"):e.race.soul_eater?t("space_red_asphodel_title"):t("space_red_biodome_title")},desc(){let r;return e.race.artifical?r=`
${t("space_red_signal_tower_title")}
`:e.race.soul_eater?r=`
${t("space_red_asphodel_desc")}
`:e.race.carnivore?r=`
${t("space_red_biodome_desc_carn")}
`:r=`
${t("space_red_biodome_desc",[A().red])}
`,`
${r}
${t("space_support",[A().red])}
`},reqs:{mars:2},cost:{Money(r){return f("biodome",r,45e3,1.28)},Lumber(r){return f("biodome",r,65e3,1.28)},Brick(r){return f("biodome",r,1e3,1.28)},Nanite(r){return e.race.deconstructor?f("biodome",r,75,1.28):0}},effect(){let r=+ie("biodome","food").toFixed(2),a=e.race.cataclysm||e.race.orbit_decayed?`
${t("produce",[+ie("biodome","cat_food").toFixed(2),e.resource.Food.name])}
`:"",i=(e.race.cataclysm||e.race.orbit_decayed)&&!e.race.kindling_kindred&&!e.race.smoldering?`
${t("space_red_mine_effect",[+ie("biodome","lumber").toFixed(2),e.resource.Lumber.name])}
`:"",s=e.tech.mars>=6?.1:.05,n=e.race.artifical?t("city_transmitter_effect",[G(500)]):t("plus_max_resource",[G(100),t("resource_Food_name")]),c=e.race.artifical||e.race.orbit_decayed?`
${n}${t("space_used_support",[A().red])}
${a}
${t("space_red_biodome_effect",[r,e.resource.Food.name])}
${t("space_red_biodome_effect2",[+E(s).toFixed(2)])}
${i}${c}`},s_type:"red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("biodome"),e.race.cataclysm||(B("colonist"),e.race.joyless&&(B("joyless"),delete e.race.joyless,ae())),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["biodome","space"]}},flair(){return e.race.artifical?t("space_red_signal_tower_flair"):e.race.soul_eater?t("space_red_asphodel_flair"):e.race.carnivore?t("space_red_biodome_flair_carn"):t("space_red_biodome_flair")}},red_university:{id:"space-red_university",title:t("city_university"),desc(){return t("city_university_desc",[A().red])},reqs:{mars:1},trait:["orbit_decayed"],cost:{Money(r){return f("university",r,900,1.5,"city")-500},Lumber(r){return f("university",r,500,1.36,"city")-200},Stone(r){return f("university",r,750,1.36,"city")-350},Crystal(r){return e.race.universe==="magic"?f("university",r,5,1.36,"city"):0}},wiki:!1,effect(){return m.city.university.effect()},action(){if(_($(this)[0])){let r=e.tech.science&&e.tech.science>=8?700:500;if(e.tech.supercollider){let a=e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/a+1}return e.resource.Knowledge.max+=r,e.city.university.count++,e.space.red_university.count=e.city.university.count,e.civic.professor.display=!0,e.civic.professor.max=E(e.city.university.count),!0}return!1}},exotic_lab:{id:"space-exotic_lab",title:t("space_red_exotic_lab_title"),desc(){return`
${t("space_red_exotic_lab_desc")}
${t("space_support",[A().red])}
`},reqs:{mars:5},cost:{Money(r){return f("exotic_lab",r,75e4,1.28)},Steel(r){return f("exotic_lab",r,1e5,1.28)},Mythril(r){return f("exotic_lab",r,1e3,1.28)},Elerium(r){return f("exotic_lab",r,20,1.28)-4}},effect(r){let a=500;if(e.tech.science>=13&&e.interstellar.laboratory){let o=r?e.interstellar.laboratory.on:kn.laboratory;a+=o*25}e.tech.ancient_study&&e.tech.ancient_study>=2&&(a+=e.space.ziggurat.count*15);let i=r?e.city?.mass_driver?.on??0:H.mass_driver;e.tech.mass>=2&&i>0&&(a+=he(i*e.civic.scientist.workers)),e.tech.science>=21&&(a*=1.45),e.race.high_pop&&(a=he(a));let s=G(10),n="",c="";return(e.race.cataclysm||e.race.orbit_decayed)&&(n=`
${t("city_wardenclyffe_effect1",[E(1),e.civic.scientist.name])}
`,a*=1+(r?e.space.observatory.on:be.observatory)*.25,e.tech.science>=15&&(c=`
${t("city_wardenclyffe_effect4",[2])}
`)),`
${t("space_used_support",[A().red])}
${n}${c}
${t("space_red_exotic_lab_effect1",[+a.toFixed(0)])}
${t("plus_max_resource",[s,t("resource_Elerium_name")])}
`},s_type:"red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("exotic_lab"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["exotic_lab","space"]}},flair(){return`
${t("space_red_exotic_lab_flair1")}
${t("space_red_exotic_lab_flair2")}
`}},ziggurat:{id:"space-ziggurat",title:t("space_red_ziggurat_title"),desc(){let r=e.race.old_gods!=="none"?x[e.race.old_gods.toLowerCase()].entity:x[e.race.species].entity;return`
${t("space_red_ziggurat_desc",[r])}
`},reqs:{theology:4},cost:{Money(r){return f("ziggurat",r,6e5,1.28)},Stone(r){return f("ziggurat",r,25e4,1.28)},Aluminium(r){return f("ziggurat",r,7e4,1.28)},Mythril(r){return f("ziggurat",r,250,1.28)}},effect(r){let a=e.tech.ancient_study?.6:.4,i=r?e.space?.exotic_lab?.on??0:be.exotic_lab;if(e.tech.ancient_deify&&e.tech.ancient_deify>=2&&i&&(a+=.01*i),e.civic.govern.type==="theocracy"&&e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display){let c=.002;e.race.high_pop&&(c=he(c)),a+=c*e.civic.priest.workers}e.race.ooze&&(a*=1-v.ooze.vars()[1]/100),e.race.high_pop&&(a=he(a)),a=+a.toFixed(2);let s=e.race.truepath?[a,x[e.race.species].home]:[a],n=`
${t(e.race.truepath?"space_red_ziggurat_effect_tp":"space_red_ziggurat_effect",s)}
`;return e.tech.ancient_study&&e.tech.ancient_study>=2&&(n=n+`
${t("interstellar_laboratory_effect",[3])}
`),(e.race.cataclysm||e.race.orbit_decayed)&&(n=n+Qn()),e.genes.ancients&&e.genes.ancients>=4&&(n=n+`
${t("plus_max_resource",[E(1),t("job_priest")])}
`),n},action(){return _($(this)[0])?(S("ziggurat"),e.genes.ancients&&e.genes.ancients>=4&&(e.civic.priest.display=!0,e.civic.priest.max+=E(1)),e.race.cataclysm&&B("iron_will",!1,1),!0):!1},struct(){return{d:{count:0},p:["ziggurat","space"]}}},space_barracks:{id:"space-space_barracks",title:t("space_red_space_barracks_title"),desc(){return`
${t("space_red_space_barracks_desc")}
${t("space_red_space_barracks_desc_req")}
`},reqs:{marines:1},cost:{Money(r){return f("space_barracks",r,35e4,1.28)},Alloy(r){return f("space_barracks",r,65e3,1.28)},Iridium(r){return f("space_barracks",r,22500,1.28)},Wrought_Iron(r){return f("space_barracks",r,12500,1.28)},Horseshoe(){return e.race.hooved?2:0}},effect(r){let a=e.race.orbit_decayed?m.city.boot_camp.effect():"",i=+ve(2,!0,r).toFixed(2),s=$(this)[0].soldiers(),n=e.race.cataclysm?"":`
${t("space_red_space_barracks_effect3",[e.resource.Food.name])}
`;return`
${t("plus_max_soldiers",[s])}
${a}
${t("space_red_space_barracks_effect2",[i])}
${n}`},powered(){return 0},action(){return _($(this)[0])?(S("space_barracks"),e.space.space_barracks.on++,!0):!1},soldiers(){let r=e.tech.marines>=2?4:2;return e.race.grenadier&&(r/=2),E(r)},struct(){return{d:{count:0,on:0},p:["space_barracks","space"]}},flair(){return t("space_red_space_barracks_flair")}},wonder_statue:{id:"space-wonder_statue",title(){return t("space_wonder_statue",[A().red])},desc(){return t("space_wonder_statue",[A().red])},reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.space.wonder_statue)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}},bonfire:zt("bonfire","space"),horseshoe:zt("horseshoe","space")},spc_hell:{info:{name(){return A().hell},desc(){return t("space_hell_info_desc",[A().hell])},zone:"inner",syndicate(){return!1}},hell_mission:{id:"space-hell_mission",title(){return t("space_mission_title",[A().hell])},desc(){return t("space_mission_desc",[A().hell])},reqs:{space:3,space_explore:3},grant:["hell",1],queue_complete(){return e.tech.hell>=1?0:1},cost:{Helium_3(r,a){return+ve(6500,!1,a).toFixed(0)}},effect(){return t("space_hell_mission_effect1",[A().hell])},action(){return _($(this)[0])?(I(t("space_hell_mission_action",[A().hell]),"info",!1,["progress"]),y(Le.spc_hell.geothermal),!0):!1}},geothermal:{id:"space-geothermal",title:t("space_hell_geothermal_title"),desc(){return`
${t("space_hell_geothermal_desc")}
${t("space_hell_geothermal_desc_req")}
`},reqs:{hell:1},cost:{Money(r){return f("geothermal",r,38e3,1.35)},Steel(r){return f("geothermal",r,15e3,1.35)},Polymer(r){return f("geothermal",r,9500,1.35)}},effect(r){let a=+ve($(this)[0].p_fuel().a,!0,r).toFixed(2);return`${e.race.cataclysm||e.race.orbit_decayed?`
${t("interstellar_stellar_forge_effect3",[1])}
`:""}${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}, ${t("space_belt_station_effect3",[a])}`},special(){return!!(e.race.cataclysm||e.race.orbit_decayed)},powered(){let r=-8;return e.race.forge&&(r-=v.forge.vars()[0]),e.stats.achieve.failed_history&&e.stats.achieve.failed_history.l>=5&&(r-=2),nt(r)},p_fuel(){return{r:"Helium_3",a:.5}},action(){return _($(this)[0])?(S("geothermal"),e.space.geothermal.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["geothermal","space"]}}},hell_smelter:{id:"space-hell_smelter",title(){return t("space_hell_smelter_title",[A().hell])},desc(){return t("space_hell_smelter_title",[A().hell])},reqs:{hell:1,m_smelting:1},path:["truepath"],cost:{Money(r){return f("hell_smelter",r,25e4,1.24)},Adamantite(r){return f("hell_smelter",r,15e3,1.24)}},effect(){return`
${t("interstellar_stellar_forge_effect3",[2])}
`},special:!0,action(){return _($(this)[0])?(S("hell_smelter"),e.city.smelter.cap+=2,e.city.smelter.Steel+=2,e.city.smelter.Oil+=2,!0):!1},struct(){return{d:{count:0},p:["hell_smelter","space"]}}},spc_casino:{id:"space-spc_casino",title(){return Ce("casino")},desc(){return Ce("casino")},category:"commercial",reqs:{hell:1,gambling:1},condition(){return!!(e.race.cataclysm||e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=5)},cost:{Money(r){return f("spc_casino",r,ee("untrustworthy",4e5),1.35)},Furs(r){return f("spc_casino",r,ee("untrustworthy",75e3),1.35)},Cement(r){return f("spc_casino",r,ee("untrustworthy",1e5),1.35)},Plywood(r){return f("spc_casino",r,ee("untrustworthy",2e4),1.35)}},effect(){let r=Gi();return r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=2?2:3)},action(){return _($(this)[0])?(e.space.spc_casino.count++,e.race.joyless||(e.civic.entertainer.max+=E(1),e.civic.entertainer.display=!0),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["spc_casino","space"]}},flair:t("city_casino_flair")},swarm_plant:{id:"space-swarm_plant",title:t("space_hell_swarm_plant_title"),desc(){return`
${t("space_hell_swarm_plant_desc")}
`},reqs:{solar:4,hell:1},cost:{Money(r,a){return f("swarm_plant",r,Xi(75e3,a),1.28)},Iron(r,a){return f("swarm_plant",r,Xi(65e3,a),1.28)},Neutronium(r,a){return f("swarm_plant",r,Xi(75,a),1.28)},Brick(r,a){return f("swarm_plant",r,Xi(2500,a),1.28)},Mythril(r,a){return f("swarm_plant",r,Xi(100,a),1.28)}},effect(r){let a=e.tech.swarm?.88:.94;return e.tech.swarm>=3&&(a-=Cr(r)/100),a<.05&&(a=.05),a=+((1-a)*100).toFixed(2),t("space_hell_swarm_plant_effect1",[a])},action(){return _($(this)[0])?(S("swarm_plant"),!0):!1},struct(){return{d:{count:0},p:["swarm_plant","space"]}}},firework:zt("firework","space")},spc_sun:{info:{name(){return t("space_sun_info_name")},desc(){return t("space_sun_info_desc",[x[e.race.species].home])},support:"swarm_control",zone:"inner",syndicate(){return!1}},sun_mission:{id:"space-sun_mission",title(){return t("space_sun_mission_title")},desc(){return t("space_sun_mission_desc")},reqs:{space_explore:4},grant:["solar",1],queue_complete(){return e.tech.solar>=1?0:1},cost:{Helium_3(r,a){return+ve(15e3,!1,a).toFixed(0)}},effect(){return t("space_sun_mission_effect1")},action(){return!!_($(this)[0])}},swarm_control:{id:"space-swarm_control",title:t("space_sun_swarm_control_title"),desc(){return`
${t("space_sun_swarm_control_desc")}
`},reqs:{solar:3},cost:{Money(r){return f("swarm_control",r,1e5,1.3)},Knowledge(r){return f("swarm_control",r,6e4,1.3)},Alloy(r){return f("swarm_control",r,7500,1.3)},Helium_3(r,a){return f("swarm_control",r,ve(2e3,!1,a),1.3)},Mythril(r){return f("swarm_control",r,250,1.3)}},effect(r){return t("space_sun_swarm_control_effect1",[$(this)[0].support(r)])},support(r){return e.tech.swarm&&e.tech.swarm>=2?e.tech.high_tech>=11?11+Math.round(Cr(r)):12:10},action(){return _($(this)[0])?(S("swarm_control"),e.space.swarm_control.s_max+=$(this)[0].support(),!0):!1},struct(){return{d:{count:0,support:0,s_max:0},p:["swarm_control","space"]}}},swarm_satellite:{id:"space-swarm_satellite",title:t("space_sun_swarm_satellite_title"),desc(){return`
${t("space_sun_swarm_satellite_desc")}
${t("space_sun_swarm_satellite_desc_req")}
`},reqs:{solar:3},cost:{Money(r,a){return f("swarm_satellite",r,Ts(5e3,a),1.1)},Copper(r,a){return f("swarm_satellite",r,Ts(2500,a),1.1)},Iridium(r,a){return f("swarm_satellite",r,Ts(150,a),1.1)},Helium_3(r,a){return f("swarm_satellite",r,Ts(ve(50,!1,a),a),1.1)}},effect(){let r=.35;return e.tech.swarm>=4&&(r+=.15*(e.tech.swarm-3)),e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=1&&(r+=.15),e.blood.illuminate&&(r+=.01*e.blood.illuminate),r=+r.toFixed(2),`${t("space_dwarf_reactor_effect1",[nt(r)])}, ${t("space_sun_swarm_satellite_effect1",[1])}`},support(){return-1},action(){return _($(this)[0])?(S("swarm_satellite"),e.space.swarm_control.support++,!0):!1},struct(){return{d:{count:0},p:["swarm_satellite","space"]}}},jump_gate:{id:"space-jump_gate",title:t("tau_jump_gate"),desc(r){return!e.space.hasOwnProperty("jump_gate")||e.space.jump_gate.count<100||r?`
${t("tau_jump_gate")}
${t("requires_segments",[100])}
`:`
${t("tau_jump_gate")}
`},reqs:{tauceti:3},path:["truepath"],queue_size:10,queue_complete(){return 100-e.space.jump_gate.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?1e6:0},Alloy(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?5e4:0},Adamantite(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?12500:0},Graphene(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?42e3:0},Orichalcum(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?35e3:0},Quantium(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?25e3:0}},effect(r){let a=(r?.count??0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0);if(a<100){let i=100-a;return`
${t("tau_jump_gate_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return t("tau_jump_gate_effect")},action(){return _($(this)[0])&&e.space.jump_gate.count<100?(e.space.jump_gate.count++,!0):!1},struct(){return{d:{count:0},p:["jump_gate","space"]}}}},spc_gas:{info:{name(){return A().gas},desc(){return t("space_gas_info_desc",[A().gas,x[e.race.species].home])},zone:"outer",syndicate(){return!0}},gas_mission:{id:"space-gas_mission",title(){return t("space_mission_title",[A().gas])},desc(){return t("space_mission_desc",[A().gas])},reqs:{space:4,space_explore:4},grant:["space",5],queue_complete(){return e.tech.space>=5?0:1},cost:{Helium_3(r,a){return+ve(12500,!1,a).toFixed(0)}},effect(){return t("space_gas_mission_effect",[A().gas])},action(){return _($(this)[0])?(I(t("space_gas_mission_action",[A().gas]),"info",!1,["progress"]),e.settings.space.gas_moon=!0,e.settings.space.belt=!0,y(Le.spc_belt.space_station),!0):!1}},gas_mining:{id:"space-gas_mining",title:t("space_gas_mining_title"),desc(){return`
${t("space_gas_mining_desc")}
${t("requires_power")}
`},reqs:{gas_giant:1},cost:{Money(r){return f("gas_mining",r,25e4,1.32)},Uranium(r){return f("gas_mining",r,500,1.32)},Alloy(r){return f("gas_mining",r,1e4,1.32)},Helium_3(r,a){return f("gas_mining",r,ve(2500,!1,a),1.32)},Mythril(r){return f("gas_mining",r,25,1.32)}},effect(){let r=+ie("gas_mining").toFixed(2);return`
${t("space_gas_mining_effect1",[r])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(2)},action(){return _($(this)[0])?(S("gas_mining"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["gas_mining","space"]}}},gas_storage:{id:"space-gas_storage",title(){return t("space_gas_storage_title",[A().gas])},desc(){return`
${t("space_gas_storage_desc")}
`},reqs:{gas_giant:1},cost:{Money(r){return f("gas_storage",r,125e3,1.32)},Iridium(r){return f("gas_storage",r,3e3,1.32)},Sheet_Metal(r){return f("gas_storage",r,2e3,1.32)},Helium_3(r,a){return f("gas_storage",r,ve(1e3,!1,a),1.32)}},effect(){let r=G(3500)*(e.tech.world_control?1.5:1),a=G(2500)*(e.tech.world_control?1.5:1),i=G(1e3)*(e.tech.world_control?1.5:1);return`
${t("plus_max_resource",[r,t("resource_Oil_name")])}
${t("plus_max_resource",[a,t("resource_Helium_3_name")])}
${t("plus_max_resource",[i,t("resource_Uranium_name")])}
`},action(){return _($(this)[0])?(S("gas_storage"),!0):!1},struct(){return{d:{count:0},p:["gas_storage","space"]}}},star_dock:{id:"space-star_dock",title(){return t("space_gas_star_dock_title")},desc(){return`
${t("space_gas_star_dock_title")}
${t("space_gas_star_dock_desc_req")}
`},reqs:{genesis:3},queue_complete(){return 1-e.space.star_dock.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("star_dock")?e.space.star_dock.count:0)===0?15e5:0},Steel(r){return(r||0)+(e.space.hasOwnProperty("star_dock")?e.space.star_dock.count:0)===0?5e5:0},Helium_3(r,a){return(r||0)+(e.space.hasOwnProperty("star_dock")?e.space.star_dock.count:0)===0?Math.round(ve(e.race.gravity_well?25e3:1e4,!1,a)):0},Nano_Tube(r){return(r||0)+(e.space.hasOwnProperty("star_dock")?e.space.star_dock.count:0)===0?25e4:0},Mythril(r){return(r||0)+(e.space.hasOwnProperty("star_dock")?e.space.star_dock.count:0)===0?1e4:0}},effect(){return`
${t("space_gas_star_dock_effect1")}
`},special:!0,action(){return e.space.star_dock.count===0&&_($(this)[0])?(S("star_dock"),!0):!1},struct(){return{d:{count:0,ship:0,probe:0,template:e.race.species},p:["star_dock","space"]}}}},spc_gas_moon:{info:{name(){return A().gas_moon},desc(){return t("space_gas_moon_info_desc",[A().gas_moon,A().gas])},zone:"outer",syndicate(){return!0}},gas_moon_mission:{id:"space-gas_moon_mission",title(){return t("space_mission_title",[A().gas_moon])},desc(){return t("space_mission_desc",[A().gas_moon])},reqs:{space:5},grant:["space",6],queue_complete(){return e.tech.space>=6?0:1},cost:{Helium_3(r,a){return+ve(3e4,!1,a).toFixed(0)}},effect(){return t("space_gas_moon_mission_effect",[A().gas_moon])},action(){return _($(this)[0])?(I(t("space_gas_moon_mission_action",[A().gas_moon]),"info",!1,["progress"]),y(Le.spc_gas_moon.outpost),e.tech.gas_moon=1,!0):!1}},outpost:{id:"space-outpost",title:t("space_gas_moon_outpost_title"),desc(){return`
${t("space_gas_moon_outpost_desc")}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{gas_moon:1},cost:{Money(r){return f("outpost",r,666e3,1.3)},Titanium(r){return f("outpost",r,18e3,1.3)},Iridium(r){return f("outpost",r,2500,1.3)},Helium_3(r,a){return f("outpost",r,ve(6e3,!1,a),1.3)},Mythril(r){return f("outpost",r,300,1.3)}},effect(r){let a=+ie("outpost").toFixed(3),i=G(500),s=+ve(2,!0,r).toFixed(2);return`
${t("space_gas_moon_outpost_effect1",[a])}
${t("plus_max_resource",[i,t("resource_Neutronium_name")])}
${t("space_gas_moon_outpost_effect3",[s,$(this)[0].powered()])}
`},powered(){return V(3)},powerBalancer(){return[{r:"Neutronium",k:"lpmod"}]},action(){return _($(this)[0])?(S("outpost"),e.resource.Neutronium.display=!0,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["outpost","space"]}}},drone:{id:"space-drone",title:t("space_gas_moon_drone_title"),desc(){return`
${t("space_gas_moon_drone_desc")}
`},reqs:{gas_moon:1,drone:1},cost:{Money(r){return f("drone",r,25e4,1.3)},Steel(r){return f("drone",r,2e4,1.3)},Neutronium(r){return f("drone",r,500,1.3)},Elerium(r){return f("drone",r,25,1.3)},Nano_Tube(r){return f("drone",r,45e3,1.3)}},effect(){let r=e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=3?12:6;return`
${t("space_gas_moon_drone_effect1",[r])}
`},action(){return _($(this)[0])?(S("drone"),!0):!1},struct(){return{d:{count:0},p:["drone","space"]}}},oil_extractor:{id:"space-oil_extractor",title:t("space_gas_moon_oil_extractor_title"),desc(){return`
${t("space_gas_moon_oil_extractor_title")}
${t("requires_power")}
`},reqs:{gas_moon:2},cost:{Money(r){return f("oil_extractor",r,666e3,1.3)},Polymer(r){return f("oil_extractor",r,7500,1.3)},Helium_3(r,a){return f("oil_extractor",r,ve(2500,!1,a),1.3)},Wrought_Iron(r){return f("oil_extractor",r,5e3,1.3)}},effect(){let r=+ie("oil_extractor").toFixed(2),a=`
${t("space_gas_moon_oil_extractor_effect1",[r])}
`;if(e.race.blubber&&e.city.hasOwnProperty("oil_well")){let i=e.city.oil_well.count+(e.space.oil_extractor?e.space.oil_extractor.count:0);a+=`
${t("city_oil_well_bodies",[+e.city.oil_well.dead.toFixed(1),50*i])}
`,a+=`
${t("city_oil_well_consume",[v.blubber.vars()[0]])}
`}return a+=`
${t("minus_power",[$(this)[0].powered()])}
`,a},powered(){return V(1)},powerBalancer(){return[{r:"Oil",k:"lpmod"}]},action(){return _($(this)[0])?(S("oil_extractor"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["oil_extractor","space"]}}}},spc_belt:{info:{name(){return t("space_belt_info_name")},desc(){return e.space.space_station&&e.space.space_station.count>0?`
${t("space_belt_info_desc",[A().red,A().gas])}
${t("space_belt_info_desc2")}
`:t("space_belt_info_desc",[A().red,A().gas])},support:"space_station",zone:"inner",syndicate(){return!0}},belt_mission:{id:"space-belt_mission",title(){return t("space_belt_mission_title")},desc(){return t("space_belt_mission_desc")},reqs:{space:5},grant:["asteroid",1],queue_complete(){return e.tech.asteroid>=1?0:1},cost:{Helium_3(r,a){return+ve(25e3,!1,a).toFixed(0)}},effect(){return t("space_belt_mission_effect1")},action(){return _($(this)[0])?(I(t("space_belt_mission_action"),"info",!1,["progress"]),e.settings.space.dwarf=!0,!0):!1}},space_station:{id:"space-space_station",title:t("space_belt_station_title"),desc(){return`
${t("space_belt_station_desc")}
${t("requires_power_space",[e.resource.Food.name])}
`},reqs:{asteroid:2},cost:{Money(r){return f("space_station",r,25e4,1.3)},Iron(r){return f("space_station",r,85e3,1.3)},Polymer(r){return f("space_station",r,18e3,1.3)},Iridium(r){return f("space_station",r,2800,1.28)},Helium_3(r,a){return f("space_station",r,ve(2e3,!1,a),1.3)},Mythril(r){return f("space_station",r,75,1.25)}},effect(r){let a=+ve(2.5,!0,r).toFixed(2),i=e.race.cataclysm?1:10,s=G(5),n=e.tech.asteroid>=5?`
${t("plus_max_resource",[s,t("resource_Elerium_name")])}
`:"";return e.race.fasting?`
${t("plus_max_resource",[E(3),t("job_space_miner")])}
${n}
${t("space_belt_station_effect5",[a,$(this)[0].powered()])}
`:`
${t("plus_max_resource",[E(3),t("job_space_miner")])}
${n}
${t("space_belt_station_effect3",[a])}
${t("space_belt_station_effect4",[i,$(this)[0].powered(),e.resource.Food.name])}
`},support(){return E(3)},powered(){return V(3)},refresh:!0,action(){if(_($(this)[0])){if(S("space_station"),e.civic.space_miner.display=!0,e.tech.asteroid<3&&(e.tech.asteroid=3),L($(this)[0])){let r=E(3);e.civic.space_miner.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.space_miner.workers+=a}return e.race.orbit_decay&&e.race.orbit_decay>e.stats.days+1e3&&(e.race.orbit_decay=e.stats.days+1e3,I(t("evo_challenge_orbit_decayed_accelerated",[e.race.orbit_decay-e.stats.days]),"info",!1,["progress"])),!0}return!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["space_station","space"]}}},elerium_ship:{id:"space-elerium_ship",title:t("space_belt_elerium_ship_title"),desc(){return t("space_belt_elerium_ship_title")},reqs:{asteroid:5},cost:{Money(r){return f("elerium_ship",r,5e5,1.3)},Uranium(r){return f("elerium_ship",r,2500,1.3)},Titanium(r){return f("elerium_ship",r,1e4,1.3)},Mythril(r){return f("elerium_ship",r,500,1.3)},Helium_3(r,a){return f("elerium_ship",r,ve(5e3,!1,a),1.3)}},effect(){let r=+ie("elerium_ship").toFixed(4);return`
${t("space_belt_elerium_ship_effect1",[E(2)])}
${t("space_belt_elerium_ship_effect2",[r])}
`},s_type:"belt",support(){return E(-2)},powered(){return 0},action(){return _($(this)[0])?(S("elerium_ship"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_ship","space"]}}},iridium_ship:{id:"space-iridium_ship",title:t("space_belt_iridium_ship_title"),desc(){return t("space_belt_iridium_ship_title")},reqs:{asteroid:3},cost:{Money(r){return f("iridium_ship",r,12e4,1.3)},Uranium(r){return f("iridium_ship",r,1e3,1.3)},Alloy(r){return f("iridium_ship",r,48e3,1.3)},Iridium(r){return f("iridium_ship",r,2800,1.3)},Helium_3(r,a){return f("iridium_ship",r,ve(1800,!1,a),1.3)}},effect(){let r=+ie("iridium_ship").toFixed(3);return`
${t("space_belt_iridium_ship_effect1",[E(1)])}
${t("space_belt_iridium_ship_effect2",[r])}
`},s_type:"belt",support(){return E(-1)},powered(){return 0},action(){return _($(this)[0])?(S("iridium_ship"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["iridium_ship","space"]}}},iron_ship:{id:"space-iron_ship",title:t("space_belt_iron_ship_title"),desc(){return t("space_belt_iron_ship_title")},reqs:{asteroid:3},cost:{Money(r){return f("iron_ship",r,8e4,1.3)},Steel(r){return f("iron_ship",r,42e3,1.3)},Aluminium(r){return f("iron_ship",r,38e3,1.3)},Polymer(r){return f("iron_ship",r,16e3,1.3)},Helium_3(r,a){return f("iron_ship",r,ve(1200,!1,a),1.3)}},effect(){let r=+ie("iron_ship").toFixed(2);return e.tech.solar&&e.tech.solar>=5?`
${t("space_belt_iron_ship_effect1",[E(1)])}
${t("space_belt_iron_ship_effect2",[r])}
${t("space_belt_iron_ship_effect3")}
`:`
${t("space_belt_iron_ship_effect1",[E(1)])}
${t("space_belt_iron_ship_effect2",[r])}
`},s_type:"belt",support(){return E(-1)},powered(){return 0},action(){return _($(this)[0])?(S("iron_ship"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["iron_ship","space"]}}}},spc_dwarf:{info:{name(){return A().dwarf},desc(){return t("space_dwarf_info_desc",[A().dwarf])},zone:"inner",syndicate(){return!1}},dwarf_mission:{id:"space-dwarf_mission",title(){return t("space_mission_title",[A().dwarf])},desc(){return t("space_mission_desc",[A().dwarf])},reqs:{asteroid:1,elerium:1},grant:["dwarf",1],queue_complete(){return e.tech.dwarf>=1?0:1},cost:{Helium_3(r,a){return+ve(45e3,!1,a).toFixed(0)}},effect(){return t("space_dwarf_mission_effect1",[A().dwarf])},action(){return _($(this)[0])?(I(t("space_dwarf_mission_action",[A().dwarf]),"info",!1,["progress"]),y(Le.spc_dwarf.elerium_contain),!0):!1}},elerium_contain:{id:"space-elerium_contain",title:t("space_dwarf_elerium_contain_title"),desc(){return`
${t("space_dwarf_elerium_contain_title")}
${t("requires_power")}
`},reqs:{dwarf:1},cost:{Money(r){return f("elerium_contain",r,8e5,1.28)},Cement(r){return f("elerium_contain",r,12e4,1.28)},Iridium(r){return f("elerium_contain",r,5e4,1.28)},Neutronium(r){return f("elerium_contain",r,250,1.28)}},effect(){let r=G(100);return`
${t("plus_max_resource",[r,t("resource_Elerium_name")])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(6)},action(){return _($(this)[0])?(S("elerium_contain"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_contain","space"]}}},e_reactor:{id:"space-e_reactor",title:t("space_dwarf_reactor_title"),desc(){return`
${t("space_dwarf_reactor_title")}
${t("space_dwarf_reactor_desc_req")}
`},reqs:{elerium:2},cost:{Money(r){return f("e_reactor",r,125e4,1.28)},Steel(r){return f("e_reactor",r,35e4,1.28)},Neutronium(r){return f("e_reactor",r,1250,1.28)},Mythril(r){return f("e_reactor",r,2500,1.28)}},effect(){let r=$(this)[0].p_fuel().a,a=$(this)[0].powered()*-1;return`
${t("space_dwarf_reactor_effect1",[a])}
${t("space_dwarf_reactor_effect2",[r])}
`},powered(){return nt(-25)},p_fuel(){return{r:"Elerium",a:.05}},action(){return _($(this)[0])?(S("e_reactor"),e.space.e_reactor.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["e_reactor","space"]}}},world_collider:{id:"space-world_collider",title:t("space_dwarf_collider_title"),desc(r){if(!e.space.hasOwnProperty("world_collider")||e.space.world_collider.count<1859||r)return`
${t("space_dwarf_collider_desc")}
${t("space_dwarf_collider_desc_req")}
`+(e.space.hasOwnProperty("world_collider")&&e.space.world_collider.count>=1859?`
${t("requires_power")}
`:"")},reqs:{science:10},path:["standard"],condition(){return e.space.world_collider.count<1859},queue_size:100,queue_complete(){return 1859-e.space.world_collider.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?25e3:0},Copper(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?750:0},Alloy(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?125:0},Neutronium(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?12:0},Elerium(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?1:0},Mythril(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?10:0}},effect(r){let a=(r?.count??0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0);if(a<1859){let i=1859-a;return`
${t("space_dwarf_collider_effect1")}
${t("space_dwarf_collider_effect2",[i])}
`}else return Le.spc_dwarf.world_controller.effect()},action(){if(e.space.world_collider.count<1859&&_($(this)[0])){if(S("world_collider"),e.space.world_collider.count>=1859){if(e.tech.science=11,e.space.world_controller={count:1,on:0},ae(),St(),e.race.banana){let r=fe();e.stats.banana.b2[r]=!0,r!=="m"&&r!=="l"&&(e.stats.banana.b2.l=!0)}le()}return!0}return!1},struct(){return{d:{count:0},p:["world_collider","space"]}},flair:t("space_dwarf_collider_flair")},world_controller:{id:"space-world_controller",title:t("space_dwarf_collider_title"),desc(){return`
${t("space_dwarf_collider_title")}
${t("requires_power")}
`},wiki:!1,reqs:{science:11},path:["standard"],condition(){return!(e.space.world_collider.count<1859)},queue_complete(){return 0},cost:{},effect(r){let a=25;if(e.interstellar.far_reach){let i=r?e.interstellar.far_reach.on:H.far_reach;i>0&&(a+=i)}return e.tech.science>=19&&(a+=15),`
${t("plus_max_resource",[a+"%",t("resource_Knowledge_name")])}
${t("space_dwarf_controller_effect3")}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(20)},action(){return!1},struct(){return{d:{count:0,on:0},p:["world_controller","space"]}},flair:t("space_dwarf_controller_flair")},shipyard:{id:"space-shipyard",title:t("outer_shipyard_title"),desc(){return`
${t("outer_shipyard_title")}
${t("requires_power")}
`},reqs:{shipyard:1},path:["truepath"],cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?1e7:0},Aluminium(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?1e6:0},Titanium(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?65e4:0},Iridium(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?25e4:0},Neutronium(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?1e4:0},Mythril(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?5e5:0}},queue_complete(){return 1-e.space.shipyard.count},effect(){return`
${t("outer_shipyard_effect")}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(50)},special:!0,sAction(){H.shipyard&&(e.settings.civTabs=2,e.settings.govTabs=5,e.settings.tabLoad||(Ma("mTabCivic"),le("space-shipyard")))},action(){return e.space.shipyard.count<1&&_($(this)[0])?(S("shipyard"),L($(this)[0])&&(e.settings.showShipYard=!0),e.tech.syard_class=2,e.tech.syard_armor=3,e.tech.syard_weapon=1,e.tech.syard_engine=2,e.tech.syard_power=3,e.tech.syard_sensor=3,!0):!1},struct(){return{d:{count:0,on:0,ships:[],expand:!0,sort:!0},p:["shipyard","space"]}}},mass_relay:{id:"space-mass_relay",title:t("space_dwarf_mass_relay_title"),desc(r){if(!e.space.hasOwnProperty("mass_relay")||e.space.mass_relay.count<100||r)return`
${t("space_dwarf_mass_relay_title")}
${t("requires_segments",[100])}
`},reqs:{outer:5},path:["truepath"],condition(){return e.space.mass_relay.count<100},queue_size:5,queue_complete(){return 100-e.space.mass_relay.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?1e7:0},Neutronium(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?7500:0},Adamantite(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?18e3:0},Elerium(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?125:0},Stanene(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?1e5:0},Quantium(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?25e3:0}},effect(r){let a=(r?.count??0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0);if(a<100){let i=100-a;return`
${t("space_dwarf_mass_relay_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return Le.spc_dwarf.m_relay.effect()},action(){return e.space.mass_relay.count<100&&_($(this)[0])?(e.space.mass_relay.count++,e.space.mass_relay.count>=100&&(e.tech.outer=6,e.space.m_relay={count:1,on:1,charged:0},ae(),St(),le()),!0):!1},struct(){return{d:{count:0},p:["mass_relay","space"]}}},m_relay:{id:"space-m_relay",title:t("space_dwarf_mass_relay_title"),desc(){return`
${t("space_dwarf_mass_relay_title")}
${t("requires_power")}
`},reqs:{outer:6},path:["truepath"],condition(){return e.space.mass_relay.count>=100},wiki:!1,queue_complete(){return 0},cost:{},powered(){return V(100)},effect(){let r=Math.floor(e.space.m_relay.charged/10)/10;return`
${t("space_dwarf_mass_relay_effect2",[A().dwarf])}
${t("minus_power",[$(this)[0].powered()])}
${t("space_dwarf_mass_relay_charged",[r])}
`},action(){return!1}}},spc_titan:ii().spc_titan,spc_enceladus:ii().spc_enceladus,spc_triton:ii().spc_triton,spc_kuiper:ii().spc_kuiper,spc_eris:ii().spc_eris},Ue={int_alpha:{info:{name:t("interstellar_alpha_name"),desc(){return e.tech.alpha?t("interstellar_alpha_desc2",[x[e.race.species].home]):t("interstellar_alpha_desc1",[x[e.race.species].home])},support:"starport"},alpha_mission:{id:"interstellar-alpha_mission",title:t("space_mission_title",[t("interstellar_alpha_name")]),desc:t("space_mission_desc",[t("interstellar_alpha_name")]),reqs:{ftl:2},grant:["alpha",1],queue_complete(){return e.tech.alpha>=1?0:1},cost:{Helium_3(){return+ye(4e4).toFixed(0)}},effect:t("interstellar_alpha_mission_effect"),action(){return _($(this)[0])?(I(t("interstellar_alpha_mission_result"),"info",!1,["progress"]),y(Ue.int_nebula.nexus),y(Ue.int_alpha.warehouse),!0):!1}},starport:{id:"interstellar-starport",title:t("interstellar_alpha_starport_title"),desc(){return`
${t("interstellar_alpha_starport_desc")}
${t("requires_power_space",[e.resource.Food.name])}
`},reqs:{alpha:1},cost:{Money(r){return f("starport",r,1e6,1.3,"interstellar")},Aluminium(r){return f("starport",r,4e5,1.3,"interstellar")},Neutronium(r){return f("starport",r,1e3,1.3,"interstellar")},Elerium(r){return f("starport",r,100,1.3,"interstellar")}},effect(){let r=+ye(5).toFixed(2),a=100;return`
${t("interstellar_alpha_starport_effect1",[$(this)[0].support()])}
${t("interstellar_alpha_starport_effect2",[r,$(this)[0].powered()])}
${t("interstellar_alpha_starport_effect3",[a,e.resource.Food.name])}
`},support(){return 5},powered(){return V(10)},powerBalancer(){return[{s:e.interstellar.starport.s_max-e.interstellar.starport.support}]},refresh:!0,action(){return _($(this)[0])?(S("starport","interstellar"),e.settings.space.proxima=!0,e.settings.space.nebula=!0,L($(this)[0]),e.tech.alpha===1&&(e.tech.alpha=2,y(Ue.int_alpha.mining_droid)),e.race.orbit_decay&&e.race.orbit_decay>e.stats.days+100&&(e.race.orbit_decay=e.stats.days+100,I(t("evo_challenge_orbit_decayed_accelerated",[e.race.orbit_decay-e.stats.days]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["starport","interstellar"]}}},habitat:{id:"interstellar-habitat",title:t("interstellar_habitat_title"),desc:`
${t("interstellar_habitat_desc")}
${t("requires_power")}
`,reqs:{alpha:3},cost:{Money(r){return f("habitat",r,8e5,1.25,"interstellar")},Furs(r){return f("habitat",r,38e3,1.25,"interstellar")},Adamantite(r){return e.race.fasting&&e.interstellar.habitat&&e.interstellar.habitat.count<5?0:f("habitat",r,3200,1.25,"interstellar")},Plywood(r){return f("habitat",r,1e4,1.25,"interstellar")},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=$(this)[0].citizens();return`
${t("interstellar_alpha_starport_effect1",[$(this)[0].support()])}
${t("plus_max_citizens",[r])}, ${t("minus_power",[$(this)[0].powered()])}
`},support(){return 1},powered(){return V(2)},powerBalancer(){return[{s:e.interstellar.starport.s_max-e.interstellar.starport.support}]},action(){return _($(this)[0])?(S("habitat","interstellar"),L($(this)[0])&&(e.resource[e.race.species].max+=$(this)[0].citizens()),!0):!1},struct(){return{d:{count:0,on:0},p:["habitat","interstellar"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},mining_droid:{id:"interstellar-mining_droid",title:t("interstellar_mining_droid_title"),desc:`
${t("interstellar_mining_droid_title")}
${t("space_support",[t("interstellar_alpha_name")])}
`,reqs:{alpha:2},cost:{Money(r){return f("mining_droid",r,65e4,1.28,"interstellar")},Steel(r){return f("mining_droid",r,12e4,1.28,"interstellar")},Nano_Tube(r){return f("mining_droid",r,75e3,1.28,"interstellar")},Elerium(r){return f("mining_droid",r,50,1.28,"interstellar")}},effect(){return`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("interstellar_mining_droid_effect")}
`},s_type:"alpha",support(){return-1},powered(){return 0},special:!0,refresh:!0,action(){return _($(this)[0])?(S("mining_droid","interstellar"),e.resource.Adamantite.display=!0,L($(this)[0])&&e.interstellar.mining_droid.adam++,e.tech.droids||(e.tech.droids=1,y(Ue.int_alpha.processing)),e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,on:0,adam:0,uran:0,coal:0,alum:0},p:["mining_droid","interstellar"]}}},processing:{id:"interstellar-processing",title:t("interstellar_processing_title"),desc:`
${t("interstellar_processing_title")}
${t("space_support",[t("interstellar_alpha_name")])}
`,reqs:{droids:1},cost:{Money(r){return f("processing",r,35e4,1.28,"interstellar")},Iron(r){return f("processing",r,18e4,1.28,"interstellar")},Aluminium(r){return f("processing",r,6e4,1.28,"interstellar")},Iridium(r){return f("processing",r,5e3,1.28,"interstellar")}},effect(r){let a=12,i=r?e.interstellar?.citadel?.on??0:H.citadel;return e.tech.ai_core&&e.tech.ai_core>=2&&i>0&&(a+=i*2),`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("interstellar_processing_effect",[a])}
`},s_type:"alpha",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("processing","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["processing","interstellar"]}}},fusion:{id:"interstellar-fusion",title:t("interstellar_fusion_title"),desc(){return`
${t("interstellar_fusion_title")}
${t("requires_power_support_combo",[t("interstellar_alpha_name"),e.resource.Deuterium.name])}
`},reqs:{fusion:1},cost:{Money(r){return f("fusion",r,99e4,1.28,"interstellar")},Iridium(r){return f("fusion",r,44e3,1.28,"interstellar")},Infernite(r){return f("fusion",r,350,1.28,"interstellar")},Brick(r){return f("fusion",r,18e3,1.28,"interstellar")}},effect(){let r=1.25;return`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}, ${t("interstellar_fusion_effect",[r])}
`},s_type:"alpha",support(){return-1},powered(){return nt(-22)},p_fuel(){return{r:"Deuterium",a:1.25}},action(){return _($(this)[0])?(S("fusion","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["fusion","interstellar"]}}},laboratory:{id:"interstellar-laboratory",title(){return e.race.universe==="magic"?t("tech_sanctum"):t("interstellar_laboratory_title")},desc:`
${t(e.race.universe==="magic"?"tech_sanctum":"interstellar_laboratory_title")}
${t("space_support",[t("interstellar_alpha_name")])}
`,reqs:{science:12},cost:{Money(r){return f("laboratory",r,75e4,1.28,"interstellar")},Crystal(r){return e.race.universe==="magic"?f("laboratory",r,1200,1.28,"interstellar"):0},Titanium(r){return f("laboratory",r,12e4,1.28,"interstellar")},Alloy(r){return f("laboratory",r,95e3,1.28,"interstellar")},Mythril(r){return f("laboratory",r,8500,1.28,"interstellar")}},effect(r){let a=1e4;if(e.tech.science>=15){let o=r?e.space.exotic_lab.on:be.exotic_lab;a*=1+(e.race.cataclysm||e.race.orbit_decayed?o:e.city.wardenclyffe.count)*.02}let s=ur(r)?r?e.galaxy?.scavenger?.on??0:Mr.scavenger:0;(e.race.cataclysm||e.race.orbit_decayed)&&s>0&&(a*=1+s*+(Gt("gxy_alien2",!1,!1,r)*.75).toFixed(1)),e.tech.science>=21&&(a*=1.45),a=Math.round(a);let n="";e.tech.science>=16&&(n=`
${t("city_wardenclyffe_effect1",[E(1),e.civic.scientist.name])}
`);let c=`
${t("space_used_support",[t("interstellar_alpha_name")])}
${n}
${t("city_max_knowledge",[a])}
`;if(e.tech.science>=13&&(c=c+`
${t("interstellar_laboratory_effect",[5])}
`),e.race.universe==="magic"){let o=G(12);c=c+`
${t("plus_max_resource",[o,e.resource.Mana.name])}
`}return c},s_type:"alpha",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("laboratory","interstellar"),L($(this)[0])&&(e.resource.Knowledge.max+=1e4,e.tech.science>=16&&(e.civic.scientist.display=!0,e.civic.scientist.max+=E(1))),!0):!1},struct(){return{d:{count:0,on:0},p:["laboratory","interstellar"]}}},exchange:{id:"interstellar-exchange",title:t("interstellar_exchange_title"),desc:`
${t("interstellar_exchange_title")}
${t("space_support",[t("interstellar_alpha_name")])}
`,reqs:{banking:12},cost:{Money(r){return f("exchange",r,ee("untrustworthy",68e4),1.28,"interstellar")},Stone(r){return f("exchange",r,ee("untrustworthy",115e3),1.28,"interstellar")},Adamantite(r){return f("exchange",r,ee("untrustworthy",55e3),1.28,"interstellar")},Graphene(r){return f("exchange",r,ee("untrustworthy",78e3),1.28,"interstellar")}},effect(r){let a=e.race.cataclysm||e.race.orbit_decayed?r?e.space.spaceport.on:H.spaceport:e.city.bank?e.city.bank.count:0,i=e.race.cataclysm||e.race.orbit_decayed?kr()*4:kr();e.eden.eternal_bank&&(a+=e.eden.eternal_bank.count*2);let s=G(e.city.bank?i*a/18:0);if(e.race.inflation&&(s*=2),e.tech.banking>=13){if(e.galaxy.freighter){let n=r?e.galaxy.freighter.on:Mr.freighter;s*=1+n*.03}if(e.galaxy.super_freighter){let n=r?e.galaxy.super_freighter.on:Mr.super_freighter;s*=1+n*.08}}return s=+s.toFixed(0),`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("plus_max_resource",[`$${s.toLocaleString()}`,t("resource_Money_name")])}
`},s_type:"alpha",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("exchange","interstellar"),L($(this)[0])&&(e.resource.Money.max+=+G(45e4).toFixed(0)),!0):!1},struct(){return{d:{count:0,on:0},p:["exchange","interstellar"]}}},g_factory:{id:"interstellar-g_factory",title:t("interstellar_g_factory_title"),desc:`
${t("interstellar_g_factory_title")}
${t("space_support",[t("interstellar_alpha_name")])}
`,reqs:{graphene:1},cost:{Money(r){return f("g_factory",r,95e4,1.28,"interstellar")},Copper(r){return f("g_factory",r,165e3,1.28,"interstellar")},Cement(r){return f("g_factory",r,22e4,1.28,"interstellar")},Infernite(r){return f("g_factory",r,750,1.28,"interstellar")}},effect(){return`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("interstellar_g_factory_effect")}
`},s_type:"alpha",support(){return-1},powered(){return 0},special:!0,action(){return _($(this)[0])?(S("g_factory","interstellar"),e.resource.Graphene.display=!0,L($(this)[0])&&(e.race.kindling_kindred||e.race.smoldering?e.interstellar.g_factory.Oil++:e.interstellar.g_factory.Lumber++),e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,on:0,Lumber:0,Coal:0,Oil:0},p:["g_factory","interstellar"]}}},int_factory:{id:"interstellar-int_factory",title:t("interstellar_int_factory_title"),desc(){return`
${t("interstellar_int_factory_title")}
${t("requires_power_combo",[e.resource.Deuterium.name])}
`},reqs:{alpha:4},cost:{Money(r){return f("int_factory",r,25e6,1.26,"interstellar")},Coal(r){return f("int_factory",r,1e7,1.26,"interstellar")},Brick(r){return f("int_factory",r,75e4,1.26,"interstellar")},Bolognium(r){return f("int_factory",r,5e4,1.26,"interstellar")}},effect(){let r=+ye(5).toFixed(2);return`
${t("interstellar_int_factory_effect")}
${t("city_crafted_mats",[10])}
${t("interstellar_fusion_effect",[r])} ${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(5)},special:!0,action(){return _($(this)[0])?(S("int_factory","interstellar"),L($(this)[0])&&(e.city.factory.Alloy+=2,Fe()),!0):!1},struct(){return{d:{count:0,on:0},p:["int_factory","interstellar"]}}},luxury_condo:{id:"interstellar-luxury_condo",title(){return ke("halloween").active?t("events_halloween_condo"):t("tech_luxury_condo")},desc:`
${t("tech_luxury_condo")}
${t("requires_power")}
`,reqs:{alpha:5},cost:{Money(r){return f("luxury_condo",r,ee("untrustworthy",25e6),1.25,"interstellar")},Neutronium(r){return f("luxury_condo",r,ee("untrustworthy",75e3),1.25,"interstellar")},Stanene(r){return f("luxury_condo",r,ee("untrustworthy",23e4),1.25,"interstellar")},Orichalcum(r){return f("luxury_condo",r,ee("untrustworthy",65e3),1.25,"interstellar")},Nanoweave(r){return f("luxury_condo",r,ee("untrustworthy",12500),1.25,"interstellar")},Horseshoe(){return e.race.hooved?2:0}},effect(){let r=$(this)[0].citizens(),a=G(75e4);return`
${t("plus_max_citizens",[r])}, ${t("minus_power",[$(this)[0].powered()])}
${t("plus_max_resource",[`$${a.toLocaleString()}`,t("resource_Money_name")])}
`},powered(){return V(3)},action(){return _($(this)[0])?(S("luxury_condo","interstellar"),L($(this)[0])&&(e.resource[e.race.species].max+=2),!0):!1},struct(){return{d:{count:0,on:0},p:["luxury_condo","interstellar"]}},citizens(){let r=2;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},zoo:{id:"interstellar-zoo",title:t("tech_zoo"),desc(){return`
${t("tech_zoo")}
${t("requires_power_support_combo",[t("interstellar_alpha_name"),e.resource.Food.name])}
`},reqs:{zoo:1},cost:{Money(r){return f("zoo",r,5e7,1.24,"interstellar")},Polymer(r){return f("zoo",r,6e6,1.24,"interstellar")},Infernite(r){return f("zoo",r,75e3,1.24,"interstellar")},Brick(r){return f("zoo",r,2e6,1.24,"interstellar")}},effect(){let r=5,a=2,i=12e3;return`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("space_red_vr_center_effect1",[r])}
${t("space_red_vr_center_effect2",[a])}
${t("interstellar_alpha_starport_effect3",[i,e.resource.Food.name])}
`},powered(){return 0},s_type:"alpha",support(){return-1},action(){return _($(this)[0])?(S("zoo","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["zoo","interstellar"]}}},warehouse:{id:"interstellar-warehouse",title(){return e.tech.storage<=2?t("city_shed_title1"):e.tech.storage>=4?t("city_shed_title3"):t("city_shed_title2")},desc(){let r=e.tech.storage>=3?e.tech.storage>=4?t("city_shed_desc_size3"):t("city_shed_desc_size2"):t("city_shed_desc_size1");return t("city_shed_desc",[r])},reqs:{alpha:2},cost:{Money(r){return f("warehouse",r,175e3,1.28,"interstellar")},Lumber(r){return f("warehouse",r,1e5,1.28,"interstellar")},Aluminium(r){return f("warehouse",r,12e4,1.28,"interstellar")},Cement(r){return f("warehouse",r,45e3,1.28,"interstellar")}},res(){let r=["Lumber","Stone","Chrysotile","Furs","Copper","Iron","Aluminium","Cement","Coal","Nano_Tube","Neutronium","Adamantite","Infernite"];return e.tech.storage>=3&&e.resource.Steel.display&&r.push("Steel"),e.tech.storage>=4&&e.resource.Titanium.display&&r.push("Titanium"),r},val(r){switch(r){case"Lumber":return 750;case"Stone":return 750;case"Chrysotile":return 750;case"Furs":return 425;case"Copper":return 380;case"Iron":return 350;case"Aluminium":return 320;case"Cement":return 280;case"Coal":return 120;case"Steel":return 60;case"Titanium":return 40;case"Nano_Tube":return 30;case"Neutronium":return 8;case"Adamantite":return 18;case"Infernite":return 5;default:return 0}},wide:!0,effect(r){let a='
',i=Pa(r);for(let s of $(this)[0].res())if(e.resource[s].display){let n=X(+(G($(this)[0].val(s))*i).toFixed(0),1);a=a+`${t("plus_max_resource",[n,e.resource[s].name])}`}return a=a+"
",a},action(){if(_($(this)[0])){S("warehouse","interstellar");let r=Pa();for(let a of $(this)[0].res())e.resource[a].display&&(e.resource[a].max+=G($(this)[0].val(a)*r));return!0}return!1},struct(){return{d:{count:0},p:["warehouse","interstellar"]}}},wonder_gardens:{id:"interstellar-wonder_gardens",title(){return t("interstellar_wonder_gardens")},desc(){return t("interstellar_wonder_gardens")},reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.interstellar.wonder_gardens)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}}},int_proxima:{info:{name:t("interstellar_proxima_name"),desc(){return e.tech.proxima?t("interstellar_proxima_desc2"):t("interstellar_proxima_desc1")}},proxima_mission:{id:"interstellar-proxima_mission",title:t("space_mission_title",[t("interstellar_proxima_name")]),desc:t("space_mission_desc",[t("interstellar_proxima_name")]),reqs:{alpha:1},grant:["proxima",1],queue_complete(){return e.tech.proxima>=1?0:1},cost:{Helium_3(){return+ye(42e3).toFixed(0)}},effect:t("interstellar_proxima_mission_effect"),action(){return _($(this)[0])?(y(Ue.int_proxima.xfer_station),I(t("interstellar_proxima_mission_result"),"info",!1,["progress"]),!0):!1}},xfer_station:{id:"interstellar-xfer_station",title:t("interstellar_xfer_station_title"),desc(){return`
${t("interstellar_xfer_station_desc")}
${t("requires_power_combo",[e.resource.Uranium.name])}
`},reqs:{proxima:1},cost:{Money(r){return f("xfer_station",r,12e5,1.28,"interstellar")},Neutronium(r){return f("xfer_station",r,1500,1.28,"interstellar")},Adamantite(r){return f("xfer_station",r,6e3,1.28,"interstellar")},Polymer(r){return f("xfer_station",r,12e3,1.28,"interstellar")},Wrought_Iron(r){return f("xfer_station",r,3500,1.28,"interstellar")}},effect(){let r=.28,a=G(5e3),i=G(4e3),s=G(2500),n="";return e.resource.Deuterium.display&&(n=`
${t("plus_max_resource",[G(2e3),t("resource_Deuterium_name")])}
`),`
${t("interstellar_alpha_starport_effect1",[$(this)[0].support()])}
${t("plus_max_resource",[i,t("resource_Oil_name")])}
${t("plus_max_resource",[a,t("resource_Helium_3_name")])}
${t("plus_max_resource",[s,t("resource_Uranium_name")])}
${n}
${t("city_fission_power_effect",[r])}
${t("minus_power",[$(this)[0].powered()])}
`},support(){return 1},powered(){return V(1)},powerBalancer(){return[{s:e.interstellar.starport.s_max-e.interstellar.starport.support}]},refresh:!0,action(){return _($(this)[0])?(S("xfer_station","interstellar"),L($(this)[0])&&(e.resource.Uranium.max+=G(2500),e.resource.Helium_3.max+=G(5e3),e.resource.Oil.max+=G(4e3),e.resource.Deuterium.max+=G(2e3)),e.tech.proxima===1&&(e.tech.proxima=2,y(Ue.int_proxima.cargo_yard)),!0):!1},struct(){return{d:{count:0,on:0},p:["xfer_station","interstellar"]}}},cargo_yard:{id:"interstellar-cargo_yard",title:t("interstellar_cargo_yard_title"),desc:t("interstellar_cargo_yard_title"),reqs:{proxima:2},cost:{Money(r){return f("cargo_yard",r,275e3,1.28,"interstellar")},Graphene(r){return f("cargo_yard",r,7500,1.28,"interstellar")},Mythril(r){return f("cargo_yard",r,6e3,1.28,"interstellar")}},effect(r){let a=50,i=G(200),s=G(150),n=`
${t("plus_max_resource",[a,t("resource_Crates_name")])}
${t("plus_max_resource",[a,t("resource_Containers_name")])}
`;if(n=n+`
${t("plus_max_resource",[i,t("resource_Neutronium_name")])}
${t("plus_max_resource",[s,t("resource_Infernite_name")])}
`,e.tech.storage>=7){let c=+Cr(r).toFixed(3);n=n+`
${t("interstellar_cargo_yard_effect",[c])}
`}return n},action(){if(_($(this)[0])){S("cargo_yard","interstellar");let r=50;return e.resource.Crates.max+=r,e.resource.Containers.max+=r,e.resource.Containers.display||wr(),!0}return!1},struct(){return{d:{count:0},p:["cargo_yard","interstellar"]}}},cruiser:{id:"interstellar-cruiser",title:t("interstellar_cruiser_title"),desc:t("interstellar_cruiser_title"),reqs:{cruiser:1},cost:{Money(r){return f("cruiser",r,875e3,1.28,"interstellar")},Aluminium(r){return f("cruiser",r,195e3,1.28,"interstellar")},Deuterium(r){return f("cruiser",r,+ye(1500).toFixed(0),1.28,"interstellar")},Neutronium(r){return f("cruiser",r,2e3,1.28,"interstellar")},Aerogel(r){return f("cruiser",r,250,1.28,"interstellar")},Horseshoe(){return e.race.hooved?3:0}},powered(){return 0},effect(){let r=+ye(6).toFixed(2),a=$(this)[0].soldiers();return`
${t("plus_max_soldiers",[a])}
${t("space_belt_station_effect3",[r])}
`},action(){return _($(this)[0])?(S("cruiser","interstellar"),e.interstellar.cruiser.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["cruiser","interstellar"]}},soldiers(){let r=e.race.fasting?4:3;return e.race.grenadier&&r--,E(r)}},dyson:{id:"interstellar-dyson",title:t("interstellar_dyson_title"),desc(r){return!e.interstellar.hasOwnProperty("dyson")||e.interstellar.dyson.count<100||r?`
${t("interstellar_dyson_title")}
${t("requires_segments",[100])}
`:`
${t("interstellar_dyson_title")}
`},reqs:{proxima:3},queue_size:10,queue_complete(){return 100-e.interstellar.dyson.count},condition(){return!(e.interstellar.dyson.count>=100&&e.tech.dyson)},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson")?e.interstellar.dyson.count:0)<100?25e4:0},Adamantite(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson")?e.interstellar.dyson.count:0)<100?1e4:0},Infernite(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson")?e.interstellar.dyson.count:0)<100?25:0},Stanene(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson")?e.interstellar.dyson.count:0)<100?1e5:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("dyson")?e.interstellar.dyson.count:0);if(a<100){let i=a>0?`
${t("space_dwarf_reactor_effect1",[nt(a*1.25)])}
`:"",s=100-a;return`
${t("interstellar_dyson_effect")}
${i}
${t("space_dwarf_collider_effect2",[s])}
`}else return t("interstellar_dyson_complete",[nt(175)])},action(){return _($(this)[0])&&e.interstellar.dyson.count<100?(S("dyson","interstellar"),e.interstellar.dyson.count>=100&&ae(),!0):!1},struct(){return{d:{count:0},p:["dyson","interstellar"]}}},dyson_sphere:{id:"interstellar-dyson_sphere",title:t("interstellar_dyson_sphere_title"),desc(r){return!e.interstellar.hasOwnProperty("dyson_sphere")||e.interstellar.dyson_sphere.count<100||r?`
${t("interstellar_dyson_sphere_title")}
${t("requires_segments",[100])}
`:`
${t("interstellar_dyson_sphere_title")}
`},reqs:{proxima:3,dyson:1},queue_size:10,queue_complete(){return 100-e.interstellar.dyson_sphere.count},condition(){return!!(e.interstellar.dyson.count>=100&&e.tech.dyson&&e.tech.dyson===1)},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson_sphere")?e.interstellar.dyson_sphere.count:0)<100?5e6:0},Bolognium(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson_sphere")?e.interstellar.dyson_sphere.count:0)<100?25e3:0},Vitreloy(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson_sphere")?e.interstellar.dyson_sphere.count:0)<100?1250:0},Aerogel(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson_sphere")?e.interstellar.dyson_sphere.count:0)<100?75e3:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("dyson_sphere")?e.interstellar.dyson_sphere.count:0);if(a<100){let i=175+a*5,s=100-a;return`
${t("interstellar_dyson_sphere_effect")}
${t("space_dwarf_reactor_effect1",[nt(i)])}
${t("space_dwarf_collider_effect2",[s])}
`}else return t("interstellar_dyson_sphere_complete",[nt(750)])},action(){return _($(this)[0])&&e.interstellar.dyson_sphere.count<100?(S("dyson_sphere","interstellar"),e.interstellar.dyson_sphere.count>=100&&ae(),!0):!1},struct(){return{d:{count:0},p:["dyson_sphere","interstellar"]}}},orichalcum_sphere:{id:"interstellar-orichalcum_sphere",title:t("interstellar_dyson_sphere_title"),desc(r){return!e.interstellar.hasOwnProperty("orichalcum_sphere")||e.interstellar.orichalcum_sphere.count<100||r?`
${t("interstellar_orichalcum_sphere_desc")}
${t("requires_segments",[100])}
`:`
${t("interstellar_orichalcum_sphere_desc")}
`},reqs:{proxima:3,dyson:2},queue_size:10,queue_complete(){return 100-e.interstellar.orichalcum_sphere.count},condition(){return!!(e.interstellar.dyson_sphere.count>=100&&e.tech.dyson&&e.tech.dyson===2)},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("orichalcum_sphere")?e.interstellar.orichalcum_sphere.count:0)<100?25e6:0},Orichalcum(r){return(r||0)+(e.interstellar.hasOwnProperty("orichalcum_sphere")?e.interstellar.orichalcum_sphere.count:0)<100?75e3:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("orichalcum_sphere")?e.interstellar.orichalcum_sphere.count:0);if(a<100){let i=750+a*8,s=100-a;return`
${t("interstellar_orichalcum_sphere_effect")}
${t("space_dwarf_reactor_effect1",[nt(i)])}
${t("space_dwarf_collider_effect2",[s])}
`}else return t("interstellar_dyson_sphere_complete",[nt(1750)])},action(){return _($(this)[0])&&e.interstellar.orichalcum_sphere.count<100?(S("orichalcum_sphere","interstellar"),e.interstellar.orichalcum_sphere.count>=100&&B("blacken_the_sun"),!0):!1},struct(){return{d:{count:0},p:["orichalcum_sphere","interstellar"]}}},elysanite_sphere:{id:"interstellar-elysanite_sphere",title:t("interstellar_dyson_sphere_title"),desc(r){return!e.interstellar.hasOwnProperty("elysanite_sphere")||e.interstellar.elysanite_sphere.count<1e3||r?`
${t("interstellar_elysanite_sphere_desc")}
${t("requires_segments",[1e3])}
`:`
${t("interstellar_elysanite_sphere_desc")}
`},reqs:{proxima:3,dyson:3},queue_size:50,queue_complete(){return 1e3-e.interstellar.elysanite_sphere.count},condition(){return!!(e.interstellar.orichalcum_sphere.count>=100&&e.tech.dyson&&e.tech.dyson===3)},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("elysanite_sphere")?e.interstellar.elysanite_sphere.count:0)<1e3?1e9:0},Asphodel_Powder(r){return(r||0)+(e.interstellar.hasOwnProperty("elysanite_sphere")?e.interstellar.elysanite_sphere.count:0)<1e3?25e3:0},Elysanite(r){return(r||0)+(e.interstellar.hasOwnProperty("elysanite_sphere")?e.interstellar.elysanite_sphere.count:0)<1e3?1e5:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("elysanite_sphere")?e.interstellar.elysanite_sphere.count:0);if(a<1e3){let i=1750+a*18,s=1e3-a;return`
${t("interstellar_elysanite_sphere_effect")}
${t("space_dwarf_reactor_effect1",[nt(i)])}
${t("space_dwarf_collider_effect2",[s])}
`}else return t("interstellar_dyson_sphere_complete",[nt(22500)])},action(){return _($(this)[0])&&e.interstellar.elysanite_sphere.count<1e3?(S("elysanite_sphere","interstellar"),!0):!1},struct(){return{d:{count:0},p:["elysanite_sphere","interstellar"]}}}},int_nebula:{info:{name:t("interstellar_nebula_name"),desc(){return e.tech.nebula?t("interstellar_nebula_desc2"):t("interstellar_nebula_desc1")},support:"nexus"},nebula_mission:{id:"interstellar-nebula_mission",title:t("space_mission_title",[t("interstellar_nebula_name")]),desc:t("space_mission_desc",[t("interstellar_nebula_name")]),reqs:{alpha:1},grant:["nebula",1],queue_complete(){return e.tech.nebula>=1?0:1},cost:{Helium_3(){return+ye(55e3).toFixed(0)}},effect:t("interstellar_nebula_mission_effect"),action(){return _($(this)[0])?(I(t("interstellar_nebula_mission_result"),"info",!1,["progress"]),!0):!1}},nexus:{id:"interstellar-nexus",title:t("interstellar_nexus_title"),desc(){return`
${t("interstellar_nexus_title")}
${t("requires_power_combo",[e.resource.Money.name])}
`},reqs:{nebula:1},cost:{Money(r){return f("nexus",r,9e5,1.24,"interstellar")},Adamantite(r){return f("nexus",r,7500,1.24,"interstellar")},Infernite(r){return f("nexus",r,250,1.24,"interstellar")},Sheet_Metal(r){return f("nexus",r,14e3,1.24,"interstellar")},Nano_Tube(r){return f("nexus",r,17500,1.24,"interstellar")}},effect(){let r=G(3500),a=G(4e3),i=G(3e3),s=G(25);return`
${t("interstellar_nexus_effect1",[$(this)[0].support()])}
${t("plus_max_resource",[r,t("resource_Oil_name")])}
${t("plus_max_resource",[a,t("resource_Helium_3_name")])}
${t("plus_max_resource",[i,t("resource_Deuterium_name")])}
${t("plus_max_resource",[s,t("resource_Elerium_name")])}
${t("interstellar_nexus_effect2",[$(this)[0].powered(),350])}
`},support(){return 2},powered(){return V(8)},powerBalancer(){return[{s:e.interstellar.nexus.s_max-e.interstellar.nexus.support}]},refresh:!0,action(){return _($(this)[0])?(S("nexus","interstellar"),e.resource.Deuterium.display=!0,e.tech.nebula===1&&(y(Ue.int_nebula.harvester),e.tech.nebula=2),L($(this)[0])&&(e.resource.Oil.max+=G(2500),e.resource.Helium_3.max+=G(4e3),e.resource.Deuterium.max+=G(3e3),e.resource.Elerium.max+=G(25)),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["nexus","interstellar"]}}},harvester:{id:"interstellar-harvester",title:t("interstellar_harvester_title"),desc:`
${t("interstellar_harvester_title")}
${t("space_support",[t("interstellar_nebula_name")])}
`,reqs:{nebula:2},cost:{Money(r){return f("harvester",r,65e4,1.28,"interstellar")},Copper(r){return f("harvester",r,8e4,1.28,"interstellar")},Alloy(r){return f("harvester",r,45e3,1.28,"interstellar")},Iridium(r){return f("harvester",r,8e3,1.28,"interstellar")}},effect(){let r=+ie("harvester","helium").toFixed(3),a=+ie("harvester","deuterium").toFixed(3),i=e.tech.ram_scoop?`
${t("interstellar_harvester_effect",[a])}
`:"";return`
${t("space_used_support",[t("interstellar_nebula_name")])}
${t("space_gas_mining_effect1",[r])}
${i}`},s_type:"nebula",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("harvester","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["harvester","interstellar"]}}},elerium_prospector:{id:"interstellar-elerium_prospector",title:t("interstellar_elerium_prospector_title"),desc:`
${t("interstellar_elerium_prospector_title")}
${t("space_support",[t("interstellar_nebula_name")])}
`,reqs:{nebula:3},cost:{Money(r){return f("elerium_prospector",r,825e3,1.28,"interstellar")},Steel(r){return f("elerium_prospector",r,18e3,1.28,"interstellar")},Polymer(r){return f("elerium_prospector",r,22e3,1.28,"interstellar")},Graphene(r){return f("elerium_prospector",r,82e3,1.28,"interstellar")},Stanene(r){return f("elerium_prospector",r,57e3,1.28,"interstellar")}},effect(){let r=+ie("elerium_prospector").toFixed(3);return`
${t("space_used_support",[t("interstellar_nebula_name")])}
${t("space_belt_elerium_ship_effect2",[r])}
`},s_type:"nebula",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("elerium_prospector","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_prospector","interstellar"]}}}},int_neutron:{info:{name:t("interstellar_neutron_name"),desc(){return e.tech.neutron?t("interstellar_neutron_desc2",[x[e.race.species].home]):t("interstellar_neutron_desc1")}},neutron_mission:{id:"interstellar-neutron_mission",title:t("space_mission_title",[t("interstellar_neutron_name")]),desc:t("space_mission_desc",[t("interstellar_neutron_name")]),reqs:{nebula:1,high_tech:14},grant:["neutron",1],queue_complete(){return e.tech.neutron>=1?0:1},cost:{Helium_3(){return+ye(6e4).toFixed(0)},Deuterium(){return+ye(1e4).toFixed(0)}},effect:t("interstellar_neutron_mission_effect"),action(){return _($(this)[0])?(y(Ue.int_neutron.neutron_miner),I(t("interstellar_neutron_mission_result"),"info",!1,["progress"]),!0):!1}},neutron_miner:{id:"interstellar-neutron_miner",title:t("interstellar_neutron_miner_title"),desc(){return`
${t("interstellar_neutron_miner_desc")}
${t("requires_power_combo",[e.resource.Helium_3.name])}
`},reqs:{neutron:1},cost:{Money(r){return f("neutron_miner",r,1e6,1.32,"interstellar")},Titanium(r){return f("neutron_miner",r,45e3,1.32,"interstellar")},Stanene(r){return f("neutron_miner",r,88e3,1.32,"interstellar")},Elerium(r){return f("neutron_miner",r,20,1.32,"interstellar")},Aerogel(r){return f("neutron_miner",r,50,1.32,"interstellar")}},effect(){let r=+ie("neutron_miner").toFixed(3),a=G(500),i=+ye(3).toFixed(2);return`
${t("space_gas_moon_outpost_effect1",[r])}
${t("plus_max_resource",[a,t("resource_Neutronium_name")])}
${t("interstellar_alpha_starport_effect2",[i,$(this)[0].powered()])}
`},powered(){return V(6)},powerBalancer(){return[{r:"Neutronium",k:"lpmod"}]},action(){return _($(this)[0])?(S("neutron_miner","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["neutron_miner","interstellar"]}}},citadel:{id:"interstellar-citadel",title:t("interstellar_citadel_title"),desc:`
${t("interstellar_citadel_desc")}
${t("requires_power")}
`,reqs:{neutron:1,high_tech:15},cost:{Money(r){return f("citadel",r,5e6,1.25,"interstellar")},Knowledge(r){return f("citadel",r,15e5,1.15,"interstellar")},Graphene(r){return f("citadel",r,5e4,1.25,"interstellar")},Stanene(r){return f("citadel",r,1e5,1.25,"interstellar")},Elerium(r){return f("citadel",r,250,1.25,"interstellar")},Soul_Gem(r){return f("citadel",r,1,1.25,"interstellar")}},wide:!0,effect(r){let a=Cr(r),i=`
${t("interstellar_citadel_stat",[+a.toFixed(1)])}
${t("interstellar_citadel_effect",[5])}
`;if(e.tech.ai_core){let s=+(a/1.75).toFixed(1);if(e.race.flier||(i=i+`
${t("interstellar_citadel_effect2",[s])}
`),e.tech.ai_core>=2&&(i=i+`
${t("interstellar_citadel_effect3",[2])}
`),e.tech.ai_core>=3){let n=+(a/5).toFixed(1);i=i+`
${t("interstellar_citadel_effect4",[n])}
`}e.tech.ai_core>=4&&(i=i+`
${t("interstellar_citadel_effect5",[1])}
`)}return`${i}
${t("interstellar_citadel_power",[$(this)[0].powered(r),V(2.5)])}
`},powered(r){let a=r?0:H.citadel;return a>1?V(30+(a-1)*2.5):V(30)},action(){return _($(this)[0])?(S("citadel","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["citadel","interstellar"]}},flair(){return t("interstellar_citadel_flair")}},stellar_forge:{id:"interstellar-stellar_forge",title:t("interstellar_stellar_forge_title"),desc:`
${t("interstellar_stellar_forge_title")}
${t("requires_power")}
`,reqs:{star_forge:1},cost:{Money(r){return f("stellar_forge",r,12e5,1.25,"interstellar")},Iridium(r){return f("stellar_forge",r,25e4,1.25,"interstellar")},Bolognium(r){return f("stellar_forge",r,35e3,1.25,"interstellar")},Aerogel(r){return f("stellar_forge",r,75e3,1.25,"interstellar")}},effect(){let r=`
${t("city_foundry_effect1",[E(2)])}
${t("interstellar_stellar_forge_effect",[10])}
${t("interstellar_stellar_forge_effect2",[5])}
`;return e.tech.star_forge&&e.tech.star_forge>=2&&(r+=`
${t("interstellar_stellar_forge_effect3",[2])}
`),`${r}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(3)},special:!0,action(){return _($(this)[0])?(S("stellar_forge","interstellar"),L($(this)[0])&&(e.civic.craftsman.max+=E(2),e.tech.star_forge>=2&&(e.city.smelter.cap+=2,e.city.smelter.Star+=2,e.city.smelter.StarCap+=2,e.city.smelter.Iron+=2)),!0):!1},struct(){return{d:{count:0,on:0},p:["stellar_forge","interstellar"]}},flair(){return t("interstellar_stellar_forge_flair")}}},int_blackhole:{info:{name:t("interstellar_blackhole_name"),desc(){let r=x[e.race.species].home;if(e.tech.blackhole>=5){let a=+e.interstellar.stellar_engine.mass.toFixed(10),i=+e.interstellar.stellar_engine.exotic.toFixed(10);if(e.tech.roid_eject&&(a+=.225*e.tech.roid_eject*(1+e.tech.roid_eject/12)),e.tech.whitehole){let s=$e("bigbang"),n=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${t("interstellar_blackhole_desc4",[r,a,i])}
${t("interstellar_blackhole_desc5",[s.plasmid,s.phage,s.dark,n])}
`}else return e.interstellar.stellar_engine.exotic>0?t("interstellar_blackhole_desc4",[r,a,i]):t("interstellar_blackhole_desc3",[r,a])}else return e.tech.blackhole?t("interstellar_blackhole_desc2",[r]):t("interstellar_blackhole_desc1",[r])}},blackhole_mission:{id:"interstellar-blackhole_mission",title:t("space_mission_title",[t("interstellar_blackhole_name")]),desc:t("space_mission_desc",[t("interstellar_blackhole_name")]),reqs:{nebula:1},grant:["blackhole",1],queue_complete(){return e.tech.blackhole>=1?0:1},cost:{Helium_3(){return+ye(75e3).toFixed(0)},Deuterium(){return+ye(25e3).toFixed(0)}},effect:t("interstellar_blackhole_mission_effect"),action(){return _($(this)[0])?(y(Ue.int_blackhole.far_reach),I(t("interstellar_blackhole_mission_result"),"info",!1,["progress"]),!0):!1}},far_reach:{id:"interstellar-far_reach",title:t("interstellar_far_reach"),desc:`
${t("interstellar_far_reach_desc")}
${t("requires_power")}
`,reqs:{blackhole:1},cost:{Money(r){return f("far_reach",r,1e6,1.32,"interstellar")},Knowledge(r){return f("far_reach",r,1e5,1.32,"interstellar")},Neutronium(r){return f("far_reach",r,2500,1.32,"interstellar")},Elerium(r){return f("far_reach",r,100,1.32,"interstellar")},Aerogel(r){return f("far_reach",r,1e3,1.32,"interstellar")}},effect(){return`
${t("interstellar_far_reach_effect",[1])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(5)},action(){return _($(this)[0])?(S("far_reach","interstellar"),L($(this)[0]),e.tech.blackhole===1&&(e.tech.blackhole=2,ae()),!0):!1},struct(){return{d:{count:0,on:0},p:["far_reach","interstellar"]}},flair:t("interstellar_far_reach_flair")},stellar_engine:{id:"interstellar-stellar_engine",title:t("interstellar_stellar_engine"),desc(r){return!e.interstellar.hasOwnProperty("stellar_engine")||e.interstellar.stellar_engine.count<100||r?`
${t("interstellar_stellar_engine")}
${t("requires_segments",[100])}
`:`
${t("interstellar_stellar_engine")}
`},reqs:{blackhole:3},queue_size:10,queue_complete(){return 100-e.interstellar.stellar_engine.count},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?5e5:0},Neutronium(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?450:0},Adamantite(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?17500:0},Infernite(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?225:0},Graphene(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?45e3:0},Mythril(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?250:0},Aerogel(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?75:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0);if(a<100){let i=100-a;return`
${t("interstellar_stellar_engine_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else{let i=e.tech.gravity&&e.tech.gravity>=2?13.5:7.5,s=e.interstellar.stellar_engine?e.interstellar.stellar_engine.mass:8;e.tech.roid_eject&&(s+=.225*e.tech.roid_eject*(1+e.tech.roid_eject/12));let n=1+(e.stats.achieve.escape_velocity&&e.stats.achieve.escape_velocity.h?e.stats.achieve.escape_velocity.h*.02:0),c=nt((20+(s-8)*i+(e.interstellar.stellar_engine?e.interstellar.stellar_engine.exotic:0)*i*10).toFixed(2))*n;if(c>1e4&&(c=1e4+(c-1e4)**.975,c>2e4&&(c=2e4+(c-2e4)**.95),c>3e4&&(c=3e4+(c-3e4)**.925)),e.tech.blackhole>=5){let o=+e.interstellar.stellar_engine.exotic.toFixed(10),l=e.interstellar.stellar_engine.exotic>0?t("interstellar_stellar_engine_effect3",[s,o]):t("interstellar_stellar_engine_effect2",[s]);return`
${t("interstellar_stellar_engine_complete",[+c.toFixed(2)])}
${l}
`}else return t("interstellar_stellar_engine_complete",[+c.toFixed(2)])}},action(){return _($(this)[0])&&e.interstellar.stellar_engine.count<100?(S("stellar_engine","interstellar"),e.interstellar.stellar_engine.count>=100&&e.tech.blackhole===3&&(e.tech.blackhole=4,ae()),!0):!1},struct(){return{d:{count:0,mass:8,exotic:0},p:["stellar_engine","interstellar"]}}},mass_ejector:{id:"interstellar-mass_ejector",title:t("interstellar_mass_ejector"),desc:`
${t("interstellar_mass_ejector")}
${t("requires_power")}
`,reqs:{blackhole:5},cost:{Money(r){return f("mass_ejector",r,75e4,1.25,"interstellar")},Adamantite(r){return f("mass_ejector",r,125e3,1.25,"interstellar")},Infernite(r){return f("mass_ejector",r,275,1.25,"interstellar")},Elerium(r){return f("mass_ejector",r,100,1.25,"interstellar")},Mythril(r){return f("mass_ejector",r,1e4,1.25,"interstellar")}},effect(r){let a=`
${t("interstellar_mass_ejector_effect")}
`;if(e.race.universe!=="magic"&&(r||e.stats.blackhole)){let s=(.025-(e.interstellar?.stellar_engine?.exotic??0))*1e10,n=(e.interstellar?.mass_ejector?.Elerium??0)*Ve.Elerium;if(n+=(e.interstellar?.mass_ejector?.Infernite??0)*Ve.Infernite,s<=0)a+=`
${t("interstellar_mass_ejector_reached")}
`;else if(n<=0)a+=`
${t("interstellar_mass_ejector_timer",[t("time_never")])}
`;else{let c=ut(Math.round(s/n));a+=`
${t("interstellar_mass_ejector_timer",[c])}
`}}return a+=`
${t("minus_power",[$(this)[0].powered()])}
`,a},powered(){return V(3)},special:!0,sAction(){e.settings.civTabs=4,e.settings.marketTabs=2,e.settings.tabLoad||(Ma("mTabResource"),le("interstellar-mass_ejector"))},action(){return _($(this)[0])?(S("mass_ejector","interstellar"),L($(this)[0]),e.interstellar.mass_ejector.count===1&&(I(t("interstellar_mass_ejector_msg"),"info",!1,["progress"]),e.settings.showEjector=!0,Ne()),Dr("ejector"),!0):!1},struct(){return{d:{count:0,on:0,total:0,mass:0,Food:0,Lumber:0,Chrysotile:0,Stone:0,Crystal:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Deuterium:0,Neutronium:0,Adamantite:0,Infernite:0,Elerium:0,Nano_Tube:0,Graphene:0,Stanene:0,Bolognium:0,Vitreloy:0,Orichalcum:0,Plywood:0,Brick:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0},p:["mass_ejector","interstellar"]}},flair(){return t("interstellar_mass_ejector_flair")}},jump_ship:{id:"interstellar-jump_ship",title:t("interstellar_jump_ship"),desc:t("interstellar_jump_ship_desc"),reqs:{stargate:1},grant:["stargate",2],queue_complete(){return e.tech.stargate>=2?0:1},cost:{Money(){return 2e7},Copper(){return 24e5},Aluminium(){return 4e6},Titanium(){return 125e4},Adamantite(){return 75e4},Stanene(){return 9e5},Aerogel(){return 1e5}},effect:t("interstellar_jump_ship_effect"),action(){return!!_($(this)[0])}},wormhole_mission:{id:"interstellar-wormhole_mission",title:t("space_mission_title",[t("interstellar_wormhole_name")]),desc:t("space_mission_desc",[t("interstellar_wormhole_name")]),reqs:{stargate:2},grant:["stargate",3],queue_complete(){return e.tech.stargate>=3?0:1},cost:{Helium_3(){return+ye(15e4).toFixed(0)},Deuterium(){return+ye(75e3).toFixed(0)}},effect:t("interstellar_wormhole_mission_effect"),action(){return _($(this)[0])?(y(Ue.int_blackhole.stargate),y(ce.gxy_stargate.gateway_station),I(t("interstellar_wormhole_mission_result"),"info",!1,["progress"]),!0):!1}},stargate:{id:"interstellar-stargate",title:t("interstellar_stargate"),desc(r){return!e.interstellar.hasOwnProperty("stargate")||e.interstellar.stargate.count<200||r?`
${t("interstellar_stargate")}
${t("requires_segments",[200])}
`+(e.interstellar.hasOwnProperty("stargate")&&e.interstellar.stargate.count>=200?`
${t("requires_power")}
`:""):`
${t("interstellar_stargate")}
`},reqs:{stargate:3},condition(){return!(e.interstellar.stargate.count>=200)},queue_size:10,queue_complete(){return 200-e.interstellar.stargate.count},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?1e6:0},Neutronium(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?4800:0},Infernite(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?666:0},Elerium(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?75:0},Nano_Tube(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?12e3:0},Stanene(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?6e4:0},Mythril(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?3200:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0);if(a<200){let i=200-a;return`
${t("interstellar_stargate_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return Ue.int_blackhole.s_gate.effect()},action(){return _($(this)[0])&&e.interstellar.stargate.count<200?(S("stargate","interstellar"),e.interstellar.stargate.count>=200&&(e.tech.stargate=4,e.interstellar.s_gate={count:1,on:0},L($(Ue.int_blackhole.s_gate)[0]),Oa(),le()),!0):!1},struct(){return{d:{count:0},p:["stargate","interstellar"]}}},s_gate:{id:"interstellar-s_gate",title:t("interstellar_stargate"),desc(){return`
${t("interstellar_stargate")}
${t("requires_power")}
`},reqs:{stargate:4},condition(){return e.interstellar.stargate.count>=200},wiki:!1,queue_complete(){return 0},cost:{},powered(){return V(250)},effect(){return`
${t("interstellar_s_gate_effect")}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return!1}}},int_sirius:{info:{name(){return e.tech.ascension>=3?t("interstellar_sirius_b_name"):t("interstellar_sirius_name")},desc(){return e.tech.ascension>=3?t("interstellar_sirius_b_desc"):t("interstellar_sirius_desc",[x[e.race.species].home])}},sirius_mission:{id:"interstellar-sirius_mission",title:t("space_mission_title",[t("interstellar_sirius_name")]),desc:t("space_mission_desc",[t("interstellar_sirius_name")]),reqs:{ascension:2},grant:["ascension",3],queue_complete(){return e.tech.ascension>=3?0:1},cost:{Helium_3(){return+ye(48e4).toFixed(0)},Deuterium(){return+ye(225e3).toFixed(0)}},effect(){return t("interstellar_sirius_mission_effect",[lt("name"),x[e.race.species].home])},action(){return!!_($(this)[0])}},sirius_b:{id:"interstellar-sirius_b",title:t("interstellar_sirius_b"),desc:t("interstellar_sirius_b"),reqs:{ascension:3},grant:["ascension",4],queue_complete(){return e.tech.ascension>=4?0:1},cost:{Knowledge(){return 2e7}},effect(){return t("interstellar_sirius_b_effect")},action(){return _($(this)[0])?(y(Ue.int_sirius.space_elevator),!0):!1}},space_elevator:{id:"interstellar-space_elevator",title:t("interstellar_space_elevator"),desc(r){return!e.interstellar.hasOwnProperty("space_elevator")||e.interstellar.space_elevator.count<100||r?`
${t("interstellar_space_elevator")}
${t("requires_segments",[100])}
`:`
${t("interstellar_space_elevator")}
`},reqs:{ascension:4},condition(){return!(e.interstellar.space_elevator.count>=100)},queue_size:5,queue_complete(){return 100-e.interstellar.space_elevator.count},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("space_elevator")?e.interstellar.space_elevator.count:0)<100?2e7:0},Nano_Tube(r){return(r||0)+(e.interstellar.hasOwnProperty("space_elevator")?e.interstellar.space_elevator.count:0)<100?5e5:0},Bolognium(r){return(r||0)+(e.interstellar.hasOwnProperty("space_elevator")?e.interstellar.space_elevator.count:0)<100?1e5:0},Mythril(r){return(r||0)+(e.interstellar.hasOwnProperty("space_elevator")?e.interstellar.space_elevator.count:0)<100?125e3:0}},effect(r){let a=`
${t("interstellar_space_elevator_effect")}
`,i=(r?.count??0)+(e.interstellar.hasOwnProperty("space_elevator")?e.interstellar.space_elevator.count:0);if(i<100){let s=100-i;a+=`
${t("space_dwarf_collider_effect2",[s])}
`}return a},action(){return _($(this)[0])&&e.interstellar.space_elevator.count<100?(S("space_elevator","interstellar"),e.interstellar.space_elevator.count>=100&&(e.tech.ascension=5,y(Ue.int_sirius.gravity_dome),Oa(),le()),!0):!1},struct(){return{d:{count:0},p:["space_elevator","interstellar"]}}},gravity_dome:{id:"interstellar-gravity_dome",title:t("interstellar_gravity_dome"),desc(r){return!e.interstellar.hasOwnProperty("gravity_dome")||e.interstellar.gravity_dome.count<100||r?`
${t("interstellar_gravity_dome")}
${t("requires_segments",[100])}
`:`
${t("interstellar_gravity_dome")}
`},reqs:{ascension:5},condition(){return!(e.interstellar.gravity_dome.count>=100)},queue_size:5,queue_complete(){return 100-e.interstellar.gravity_dome.count},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("gravity_dome")?e.interstellar.gravity_dome.count:0)<100?35e6:0},Cement(r){return(r||0)+(e.interstellar.hasOwnProperty("gravity_dome")?e.interstellar.gravity_dome.count:0)<100?125e4:0},Adamantite(r){return(r||0)+(e.interstellar.hasOwnProperty("gravity_dome")?e.interstellar.gravity_dome.count:0)<100?65e4:0},Aerogel(r){return(r||0)+(e.interstellar.hasOwnProperty("gravity_dome")?e.interstellar.gravity_dome.count:0)<100?18e4:0}},effect(r){let a=`
${t("interstellar_gravity_dome_effect",[x[e.race.species].home])}
`,i=(r?.count??0)+(e.interstellar.hasOwnProperty("gravity_dome")?e.interstellar.gravity_dome.count:0);if(i<100){let s=100-i;a+=`
${t("space_dwarf_collider_effect2",[s])}
`}return a},action(){return _($(this)[0])&&e.interstellar.gravity_dome.count<100?(S("gravity_dome","interstellar"),e.interstellar.gravity_dome.count>=100&&(e.tech.ascension=6,y(Ue.int_sirius.ascension_machine),y(Ue.int_sirius.thermal_collector),Oa(),le()),!0):!1},struct(){return{d:{count:0},p:["gravity_dome","interstellar"]}}},ascension_machine:{id:"interstellar-ascension_machine",title:t("interstellar_ascension_machine"),desc(r){return!e.interstellar.hasOwnProperty("ascension_machine")||e.interstellar.ascension_machine.count<100||r?`
${t("interstellar_ascension_machine")}
${t("requires_segments",[100])}
`+(e.interstellar.hasOwnProperty("ascension_machine")&&e.interstellar.ascension_machine.count>=100?`
${t("requires_power")}
`:""):`
${t("interstellar_ascension_machine")}
`},reqs:{ascension:6},condition(){return!(e.interstellar.ascension_machine.count>=100)},queue_size:5,queue_complete(){return 100-e.interstellar.ascension_machine.count},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?75e6:0},Alloy(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?75e4:0},Neutronium(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?125e3:0},Elerium(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?1e3:0},Orichalcum(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?25e4:0},Nanoweave(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?75e3:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0);if(a<100){let i=100-a;return`
${t("interstellar_ascension_machine_effect",[lt("name")])}
${t("space_dwarf_collider_effect2",[i])}
`}else return Ue.int_sirius.ascension_trigger.effect()},action(){return _($(this)[0])&&e.interstellar.ascension_machine.count<100?(S("ascension_machine","interstellar"),e.interstellar.ascension_machine.count>=100&&(e.tech.ascension=7,e.interstellar.ascension_trigger={count:1,on:0},Oa(),le()),!0):!1},struct(){return{d:{count:0},p:["ascension_machine","interstellar"]}}},ascension_trigger:{id:"interstellar-ascension_trigger",title:t("interstellar_ascension_machine"),desc(){return`
${t("interstellar_ascension_machine")}
${t("requires_power")}
`},wiki:!1,reqs:{ascension:7},condition(){return e.interstellar.ascension_machine.count>=100},queue_complete(){return 0},cost:{},powered(){let r=$(this)[0].heatSink();return r<0&&(r=0),r},heatSink(){let r=100;if(e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=2){r+=e.stats.achieve.technophobe.l>=4?25:10;for(let i=1;i=5&&(r+=5)}return Math.round(V(1e4)-r*(e.interstellar.hasOwnProperty("thermal_collector")?e.interstellar.thermal_collector.count:0))},special(){return!!(e.tech.science&&e.tech.science>=24)},sAction(){e.eden.encampment.asc=!e.eden.encampment.asc,Oa()},postPower(r){r?setTimeout(function(){e.tech.ascension=H.ascension_trigger?8:7,Oa()},250):(e.tech.ascension=7,Oa())},effect(){if(e.eden.hasOwnProperty("encampment")&&e.eden.encampment.asc){let r=$(this)[0].heatSink();r=r<0?Math.abs(r):0;let a=150+r**.95/10,i=`
${t("eden_ascension_machine_effect1",[t("eden_encampment_title"),+a.toFixed(0),e.resource.Omniscience.name])}
`;if(r>0){let s=r/175;i+=`
${t("eden_ascension_machine_effect2",[t("eden_stabilizer_title"),+s.toFixed(2)])}
`;let n=r/125;i+=`
${t("eden_ascension_machine_effect2",[t("job_ghost_trapper"),+n.toFixed(2)])}
`}return i}else{let r=Is(),a=$(this)[0].powered(),i=a>0?`
${t("minus_power",[a])}
`:"";return`
${t("interstellar_ascension_trigger_effect")}
${r}${i}`}},action(){return!1}},ascend:{id:"interstellar-ascend",title:t("interstellar_ascend"),desc:t("interstellar_ascend"),reqs:{ascension:8},condition(){return!e.eden.hasOwnProperty("encampment")||!e.eden.encampment.asc},queue_complete(){return 0},no_multi:!0,cost:{},effect(){let r=Is();return`
${t("interstellar_ascend_effect")}
${r}`},action(){return _($(this)[0])?(Qr(!1),!0):!1}},thermal_collector:{id:"interstellar-thermal_collector",title:t("interstellar_thermal_collector"),desc:t("interstellar_thermal_collector"),reqs:{ascension:6},cost:{Money(r){return f("thermal_collector",r,5e6,1.08,"interstellar")},Infernite(r){return f("thermal_collector",r,25e3,1.08,"interstellar")},Stanene(r){return f("thermal_collector",r,1e6,1.08,"interstellar")},Vitreloy(r){return f("thermal_collector",r,1e5,1.08,"interstellar")}},effect(){let r=100;if(e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=2){r+=e.stats.achieve.technophobe.l>=4?25:10;for(let a=1;a=5&&(r+=5)}return t("interstellar_thermal_collector_effect",[r])},action(){return _($(this)[0])?(S("thermal_collector","interstellar"),!0):!1},struct(){return{d:{count:0},p:["thermal_collector","interstellar"]}}}}};function Is(){let r=$e("ascend"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("interstellar_ascension_trigger_effect2",[r.harmony,t("resource_Harmony_name")])}
${t("interstellar_ascension_trigger_effect3")}
`}function ho(){let r=$e("terraform"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("interstellar_ascension_trigger_effect2",[r.harmony,t("resource_Harmony_name")])}
${t("space_terraformer_effect3")}
`}var ce={gxy_gateway:{info:{name:t("galaxy_gateway"),desc(){return t("galaxy_gateway_desc")},control(){return{name:lt("name"),color:"success"}},support:"starbase"},gateway_mission:{id:"galaxy-gateway_mission",title:t("galaxy_gateway_mission"),desc:t("galaxy_gateway_mission"),reqs:{gateway:1},grant:["gateway",2],queue_complete(){return e.tech.gateway>=2?0:1},cost:{Helium_3(){return+ye(212e3).toFixed(0)},Deuterium(){return+ye(11e4).toFixed(0)}},effect:t("galaxy_gateway_mission_effect"),action(){return _($(this)[0])?(mo(),e.galaxy.defense={gxy_stargate:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0},gxy_gateway:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0},gxy_gorddon:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0},gxy_alien1:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0},gxy_alien2:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0},gxy_chthonian:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0}},!0):!1}},starbase:{id:"galaxy-starbase",title:t("galaxy_starbase"),desc(){return`
${t("galaxy_starbase")}
${t("requires_power_space",[e.resource.Food.name])}
`},reqs:{gateway:2},cost:{Money(r){return f("starbase",r,42e5,1.25,"galaxy")},Elerium(r){return f("starbase",r,1e3,1.25,"galaxy")},Mythril(r){return f("starbase",r,9e4,1.25,"galaxy")},Graphene(r){return f("starbase",r,32e4,1.25,"galaxy")},Horseshoe(){return e.race.hooved?5:0}},effect(r){let a=+ye(25).toFixed(2),i=250,s=$(this)[0].soldiers();return`
${t("galaxy_defense_platform_effect",[25])}
${t("galaxy_gateway_support",[$(this)[0].support()])}
${t("plus_max_soldiers",[s])}
${t("interstellar_alpha_starport_effect2",[a,$(this)[0].powered(r)])}
${t("interstellar_alpha_starport_effect3",[i,e.resource.Food.name])}
`},support(){return 2},powered(r){return V(ur(r)?12:0)},powerBalancer(){return[{s:e.galaxy.starbase.s_max-e.galaxy.starbase.support}]},refresh:!0,action(){return _($(this)[0])?(S("starbase","galaxy"),L($(this)[0]),e.tech.gateway===2&&(y(ce.gxy_gateway.bolognium_ship),e.tech.gateway=3),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["starbase","galaxy"]}},soldiers(){let r=e.tech.marines>=2?e.race.grenadier?5:8:e.race.grenadier?3:5;return E(r)}},ship_dock:{id:"galaxy-ship_dock",title:t("galaxy_ship_dock"),desc:`
${t("galaxy_ship_dock")}
${t("requires_power")}
`,reqs:{gateway:4},cost:{Money(r){return f("ship_dock",r,36e5,1.25,"galaxy")},Steel(r){return f("ship_dock",r,88e4,1.25,"galaxy")},Aluminium(r){return f("ship_dock",r,12e5,1.25,"galaxy")},Bolognium(r){return f("ship_dock",r,75e3,1.25,"galaxy")}},effect(r){return e.race.fasting?`
${t("galaxy_ship_dock_effect_fasting",[.1])}
${t("minus_power",[$(this)[0].powered(r)])}
`:`
${t("galaxy_ship_dock_effect",[.25])}
${t("minus_power",[$(this)[0].powered(r)])}
`},support(r){if(e.race.fasting){let a=r?e.galaxy.gateway_station.on:H.gateway_station;return a?.1*a:0}else{let a=r?e.galaxy.starbase.on:H.starbase;return a?.25*a:0}},powered(r){return V(ur(r)?4:0)},powerBalancer(){return e.race.fasting?[{s:e.galaxy.gateway_station.s_max-e.galaxy.gateway_station.support}]:[{s:e.galaxy.starbase.s_max-e.galaxy.starbase.support}]},action(){return _($(this)[0])?(S("ship_dock","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["ship_dock","galaxy"]}}},bolognium_ship:{id:"galaxy-bolognium_ship",title:t("galaxy_bolognium_ship"),desc(){return`
${t("galaxy_bolognium_ship_desc")}
${t("galaxy_starbase_support",[t("resource_Helium_3_name")])}
`},reqs:{gateway:3},cost:{Money(r){return f("bolognium_ship",r,14e5,1.22,"galaxy")},Iron(r){return f("bolognium_ship",r,56e4,1.22,"galaxy")},Infernite(r){return f("bolognium_ship",r,1800,1.22,"galaxy")},Nano_Tube(r){return f("bolognium_ship",r,475e3,1.22,"galaxy")}},effect(){let r=+ie("bolognium_ship").toFixed(3),a=+ye($(this)[0].ship.helium).toFixed(2);return`
${t("gain",[r,t("resource_Bolognium_name")])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[a,e.resource.Helium_3.name])}
`},s_type:"gateway",support(){return-1},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*2:2},mil(){return 0},helium:5},powered(){return 0},action(){return _($(this)[0])?(S("bolognium_ship","galaxy"),e.resource.Bolognium.display=!0,e.civic.crew.display=!0,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0},p:["bolognium_ship","galaxy"]}}},scout_ship:{id:"galaxy-scout_ship",title:t("galaxy_scout_ship"),desc(){return`
${t("galaxy_scout_ship")}
${t("galaxy_starbase_support",[t("resource_Helium_3_name")])}
`},reqs:{andromeda:1},cost:{Money(r){return f("scout_ship",r,16e5,1.25,"galaxy")},Titanium(r){return f("scout_ship",r,325e3,1.25,"galaxy")},Graphene(r){return f("scout_ship",r,118e3,1.25,"galaxy")},Soul_Gem(r){return f("scout_ship",r,1,1.02,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2),a=e.tech.science>=17?`
${t("galaxy_scout_ship_effect2",[25])}
`:"";return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("galaxy_scout_ship_effect")}
${a}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},s_type:"gateway",support(){return-1},ship:{civ(){return e.race.grenadier?0:e.race.high_pop?v.high_pop.vars()[0]*1:1},mil(){let r=e.race.high_pop?v.high_pop.vars()[0]*1:1;return e.race.grenadier?Math.ceil(r/2):r},helium:6,rating(){let r=e.race.banana?7:10;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?1:5),r}},powered(){return 0},action(){return _($(this)[0])?(S("scout_ship","galaxy"),e.galaxy.defense.gxy_gateway.scout_ship++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["scout_ship","galaxy"]}}},corvette_ship:{id:"galaxy-corvette_ship",title:t("galaxy_corvette_ship"),desc(){return`
${t("galaxy_corvette_ship")}
${t("galaxy_starbase_support",[t("resource_Helium_3_name")])}
`},reqs:{andromeda:2},cost:{Money(r){return f("corvette_ship",r,45e5,1.25,"galaxy")},Steel(r){return f("corvette_ship",r,175e4,1.25,"galaxy")},Infernite(r){return f("corvette_ship",r,16e3,1.25,"galaxy")},Bolognium(r){return f("corvette_ship",r,35e3,1.25,"galaxy")},Soul_Gem(r){return f("corvette_ship",r,1,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2);return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},s_type:"gateway",support(){return-1},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*2:2},mil(){let r=e.race.grenadier?2:3;return e.race.high_pop?v.high_pop.vars()[0]*r:r},helium:10,rating(){let r=e.race.banana?21:30;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?4:10),r}},powered(){return 0},action(){return _($(this)[0])?(S("corvette_ship","galaxy"),e.galaxy.defense.gxy_gateway.corvette_ship++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["corvette_ship","galaxy"]}}},frigate_ship:{id:"galaxy-frigate_ship",title:t("galaxy_frigate_ship"),desc(){return`
${t("galaxy_frigate_ship")}
${t("galaxy_starbase_support",[t("resource_Helium_3_name")])}
`},reqs:{andromeda:3},cost:{Money(r){return f("frigate_ship",r,18e6,1.25,"galaxy")},Elerium(r){return f("frigate_ship",r,1250,1.25,"galaxy")},Mythril(r){return f("frigate_ship",r,35e4,1.25,"galaxy")},Sheet_Metal(r){return f("frigate_ship",r,8e5,1.25,"galaxy")},Soul_Gem(r){return f("frigate_ship",r,2,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2);return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},s_type:"gateway",support(){return-2},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*3:3},mil(){let r=e.race.grenadier?3:5;return e.race.high_pop?v.high_pop.vars()[0]*r:r},helium:25,rating(){let r=e.race.banana?56:80;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?14:20),r}},powered(){return 0},action(){return _($(this)[0])?(S("frigate_ship","galaxy"),e.galaxy.defense.gxy_gateway.frigate_ship++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["frigate_ship","galaxy"]}},flair:t("tech_frigate_ship_flair")},cruiser_ship:{id:"galaxy-cruiser_ship",title:t("galaxy_cruiser_ship"),desc(){return`
${t("galaxy_cruiser_ship")}
${t("galaxy_starbase_support",[t("resource_Deuterium_name")])}
`},reqs:{andromeda:4},cost:{Money(r){return f("cruiser_ship",r,75e6,1.25,"galaxy")},Copper(r){return f("cruiser_ship",r,6e6,1.25,"galaxy")},Adamantite(r){return f("cruiser_ship",r,1e6,1.25,"galaxy")},Vitreloy(r){return f("cruiser_ship",r,75e4,1.25,"galaxy")},Elerium(r){return f("cruiser_ship",r,1800,1.25,"galaxy")},Soul_Gem(r){return f("cruiser_ship",r,5,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.deuterium).toFixed(2);return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[r,e.resource.Deuterium.name])}
`},s_type:"gateway",support(){return-3},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*6:6},mil(){let r=e.race.grenadier?6:10;return e.race.high_pop?v.high_pop.vars()[0]*r:r},deuterium:25,rating(){let r=e.race.banana?175:250;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?25:50),r}},powered(){return 0},action(){return _($(this)[0])?(S("cruiser_ship","galaxy"),e.galaxy.defense.gxy_gateway.cruiser_ship++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["cruiser_ship","galaxy"]}}},dreadnought:{id:"galaxy-dreadnought",title:t("galaxy_dreadnought"),desc(){return`
${t("galaxy_dreadnought")}
${t("galaxy_starbase_support",[t("resource_Deuterium_name")])}
`},reqs:{andromeda:5},cost:{Money(r){return f("dreadnought",r,225e6,1.25,"galaxy")},Neutronium(r){return f("dreadnought",r,25e4,1.25,"galaxy")},Bolognium(r){return f("dreadnought",r,15e5,1.25,"galaxy")},Vitreloy(r){return f("dreadnought",r,1e6,1.25,"galaxy")},Infernite(r){return f("dreadnought",r,4e5,1.25,"galaxy")},Aerogel(r){return f("dreadnought",r,8e5,1.25,"galaxy")},Soul_Gem(r){return f("dreadnought",r,25,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.deuterium).toFixed(2);return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[r,e.resource.Deuterium.name])}
`},s_type:"gateway",support(){return-5},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*10:10},mil(){let r=e.race.grenadier?12:20;return e.race.high_pop?v.high_pop.vars()[0]*r:r},deuterium:80,rating(){let r=e.race.banana?1260:1800;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?140:200),r}},powered(){return 0},action(){return _($(this)[0])?(S("dreadnought","galaxy"),e.galaxy.defense.gxy_gateway.dreadnought++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["dreadnought","galaxy"]}}}},gxy_stargate:{info:{name:t("galaxy_stargate"),desc(){return e.tech.piracy?t("galaxy_stargate_desc_alt"):t("galaxy_stargate_desc")},control(){return{name:lt("name"),color:"success"}}},gateway_station:{id:"galaxy-gateway_station",title:t("galaxy_gateway_station"),desc(){return`
${t("galaxy_gateway_station_desc")}
${t("requires_power")}
`},reqs:{stargate:4},cost:{Money(r){return f("gateway_station",r,5e6,1.25,"galaxy")},Aluminium(r){return f("gateway_station",r,52e4,1.25,"galaxy")},Polymer(r){return f("gateway_station",r,35e4,1.25,"galaxy")},Neutronium(r){return f("gateway_station",r,17500,1.25,"galaxy")}},effect(r){let a=G(2e3),i=G(4500),s=G(50),n="";return e.tech.gateway&&e.tech.gateway>=2&&(n=`
${t("galaxy_gateway_support",[$(this)[0].support()])}
`),`${n}
${t("plus_max_resource",[a,t("resource_Helium_3_name")])}
${t("plus_max_resource",[i,t("resource_Deuterium_name")])}
${t("plus_max_resource",[s,t("resource_Elerium_name")])}
${t("minus_power",[$(this)[0].powered(r)])}
`},support(){return .5},powered(r){return V(ur(r)?4:0)},powerBalancer(){return e.galaxy.hasOwnProperty("starbase")?[{s:e.galaxy.starbase.s_max-e.galaxy.starbase.support}]:!1},refresh:!0,action(){return _($(this)[0])?(S("gateway_station","galaxy"),e.resource.Helium_3.max+=G(2e3),e.resource.Deuterium.max+=G(4500),e.tech.stargate===4&&(y(ce.gxy_stargate.telemetry_beacon),e.tech.stargate=5),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["gateway_station","galaxy"]}}},telemetry_beacon:{id:"galaxy-telemetry_beacon",title:t("galaxy_telemetry_beacon"),desc(){return`
${t("galaxy_telemetry_beacon")}
${t("requires_power")}
`},reqs:{stargate:5},cost:{Money(r){return f("telemetry_beacon",r,225e4,1.25,"galaxy")},Copper(r){return f("telemetry_beacon",r,685e3,1.25,"galaxy")},Alloy(r){return f("telemetry_beacon",r,425e3,1.25,"galaxy")},Iridium(r){return f("telemetry_beacon",r,177e3,1.25,"galaxy")}},effect(r){let a=e.tech.telemetry?1200:800;if(e.tech.science>=17){let c=r?e.galaxy.scout_ship.on:Mr.scout_ship;a+=c*25}let i=r?e.galaxy?.telemetry_beacon?.on??0:H.telemetry_beacon,s=i?a*i:0,n="";return e.tech.gateway&&e.tech.gateway>=2&&(n=`
${t("galaxy_gateway_support",[$(this)[0].support()])}
`),`${n}
${t("galaxy_telemetry_beacon_effect1",[a])}
${t("galaxy_telemetry_beacon_effect2",[s])}
${t("minus_power",[$(this)[0].powered(r)])}
`},support(){return e.tech.telemetry?.75:.5},powered(r){return V(ur(r)?4:0)},powerBalancer(){return e.galaxy.hasOwnProperty("starbase")?[{s:e.galaxy.starbase.s_max-e.galaxy.starbase.support}]:!1},postPower(r){let a=r?H.telemetry_beacon+W():H.telemetry_beacon-W();a>e.galaxy.telemetry_beacon.count?a=e.galaxy.telemetry_beacon.count:a<0&&(a=0),H.telemetry_beacon=a,es($(this)[0],"galaxy","telemetry_beacon")},action(){return _($(this)[0])?(S("telemetry_beacon","galaxy"),L($(this)[0])&&(e.resource.Knowledge.max+=1750),e.tech.gateway||(y(ce.gxy_gateway.starbase),e.settings.space.gateway=!0,e.tech.gateway=1,Vn()),!0):!1},struct(){return{d:{count:0,on:0},p:["telemetry_beacon","galaxy"]}}},gateway_depot:{id:"galaxy-gateway_depot",title:t("galaxy_gateway_depot"),desc:`
${t("galaxy_gateway_depot")}
`,reqs:{gateway:5},cost:{Money(r){return f("gateway_depot",r,4e6,1.25,"galaxy")},Neutronium(r){return f("gateway_depot",r,8e4,1.25,"galaxy")},Stanene(r){return f("gateway_depot",r,5e5,1.25,"galaxy")},Vitreloy(r){return f("gateway_depot",r,2500,1.25,"galaxy")}},wide:!0,effect(r){let a=e.tech.world_control?150:100,i=G(200),s=fo(),n=X(+G(3e3*s).toFixed(0),1),c=X(+G(25e4*s).toFixed(0),1),o=X(+G(9001*s).toFixed(0),1),l=X(+G(6660*s).toFixed(0),1),u='
';return u=u+`${t("plus_max_crates",[a])}${t("plus_max_containers",[a])}`,u=u+`${t("plus_max_resource",[n,e.resource.Uranium.name])}`,u=u+`${t("plus_max_resource",[c,e.resource.Nano_Tube.name])}`,u=u+`${t("plus_max_resource",[o,e.resource.Neutronium.name])}`,u=u+`${t("plus_max_resource",[l,e.resource.Infernite.name])}`,u=u+"
",`${u}
${t("galaxy_gateway_depot_effect",[i,t("resource_Elerium_name")])}
${t("minus_power",[$(this)[0].powered(r)])}
`},powered(r){return V(ur(r)?10:0)},action(){if(_($(this)[0])){S("gateway_depot","galaxy");let r=e.tech.world_control?150:100;e.resource.Crates.max+=r,e.resource.Containers.max+=r,e.resource.Containers.display||wr();let a=fo();return e.resource.Uranium.max+=G(3e3*a),e.resource.Nano_Tube.max+=G(25e4*a),e.resource.Neutronium.max+=G(9001*a),e.resource.Infernite.max+=G(6660*a),L($(this)[0]),!0}return!1},struct(){return{d:{count:0,on:0},p:["gateway_depot","galaxy"]}}},defense_platform:{id:"galaxy-defense_platform",title:t("galaxy_defense_platform"),desc(){return`
${t("galaxy_defense_platform")}
${t("requires_power")}
`},reqs:{stargate:6},cost:{Money(r){return f("defense_platform",r,75e4,1.25,"galaxy")},Adamantite(r){return f("defense_platform",r,425e3,1.25,"galaxy")},Elerium(r){return f("defense_platform",r,800,1.25,"galaxy")},Vitreloy(r){return f("defense_platform",r,1250,1.25,"galaxy")},Wrought_Iron(r){return f("defense_platform",r,75e3,1.25,"galaxy")}},effect(r){return`
${t("galaxy_defense_platform_effect",[20])}
${t("minus_power",[$(this)[0].powered(r)])}
`},powered(r){return V(ur(r)?5:0)},postPower(r){C({el:"#gxy_stargate"},"update")},action(){return _($(this)[0])?(S("defense_platform","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["defense_platform","galaxy"]}},post(){C({el:"#gxy_stargate"},"update")}}},gxy_gorddon:{info:{name:t("galaxy_gorddon"),desc(){return t("galaxy_gorddon_desc")},control(){return{name:x[e.galaxy.alien1.id].name,color:"advanced"}}},gorddon_mission:{id:"galaxy-gorddon_mission",title:t("galaxy_gorddon_mission"),desc:t("galaxy_gorddon_mission_desc"),reqs:{xeno:2},grant:["xeno",3],queue_complete(){return e.tech.xeno>=3?0:1},cost:{Structs(){return{galaxy:{scout_ship:{s:"gxy_gateway",count:2,on:2},corvette_ship:{s:"gxy_gateway",count:1,on:1}}}},Helium_3(){return+ye(23e4).toFixed(0)},Deuterium(){return+ye(125e3).toFixed(0)}},effect:t("galaxy_gorddon_mission_effect"),action(){if(_($(this)[0])){mo(),e.galaxy.defense.gxy_gateway.scout_ship-=2,e.galaxy.defense.gxy_gorddon.scout_ship+=2,e.galaxy.defense.gxy_gateway.corvette_ship--,e.galaxy.defense.gxy_gorddon.corvette_ship++;let r=x[e.galaxy.alien1.id].name,a=x[e.galaxy.alien1.id].entity,i=x[e.galaxy.alien2.id].name,s=x[e.galaxy.alien2.id].entity;return I(t("galaxy_gorddon_mission_result",[a,r,s,i]),"info",!1,["progress"]),!0}return!1}},embassy:{id:"galaxy-embassy",title:t("galaxy_embassy"),desc(){return`
${t("galaxy_embassy")}
${t("requires_power_combo",[e.resource.Food.name])}
`},reqs:{xeno:4},queue_complete(){return 1-e.galaxy.embassy.count},cost:{Money(r){return(r||0)+(e.galaxy.hasOwnProperty("embassy")?e.galaxy.embassy.count:0)<1?3e7:0},Lumber(r){return(r||0)+(e.galaxy.hasOwnProperty("embassy")?e.galaxy.embassy.count:0)<1?38e6:0},Stone(r){return(r||0)+(e.galaxy.hasOwnProperty("embassy")?e.galaxy.embassy.count:0)<1?32e6:0},Furs(r){return(r||0)+(e.galaxy.hasOwnProperty("embassy")?e.galaxy.embassy.count:0)<1?18e6:0},Wrought_Iron(r){return(r||0)+(e.galaxy.hasOwnProperty("embassy")?e.galaxy.embassy.count:0)<1?6e6:0}},effect(r){let a=7500,i="";e.tech.xeno>=11&&(i=`
${t("plus_max_citizens",[$(this)[0].citizens()])}
`);let s="";return e.race.fasting||(s=`
${t("interstellar_alpha_starport_effect3",[a,e.resource.Food.name])}
`),`
${t("galaxy_embassy_effect",[x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].name])}
${i}${s}
${t("minus_power",[$(this)[0].powered(r)])}
`},powered(r){return V(ur(r)?25:0)},refresh:!0,action(){if(e.galaxy.embassy.count<1&&_($(this)[0])){if(S("embassy","galaxy"),L($(this)[0]),e.tech.xeno===4&&(e.tech.xeno=5,y(ce.gxy_gorddon.freighter),e.galaxy.trade={max:0,cur:0,f0:0,f1:0,f2:0,f3:0,f4:0,f5:0,f6:0,f7:0,f8:0},I(t("galaxy_embassy_complete",[x[e.galaxy.alien1.id].name,x[e.galaxy.alien2.id].name]),"info",!1,["progress"])),e.race.fasting){let r=fe();e.stats.endless_hunger.b1[r]=!0,r!=="m"&&r!=="l"&&(e.stats.endless_hunger.b1.l=!0)}return!0}return!1},struct(){return{d:{count:0,on:0},p:["embassy","galaxy"]}},citizens(){let r=20;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},dormitory:{id:"galaxy-dormitory",title(){return Ce("dormitory")},desc(){return`
${Ce("dormitory")}
${t("requires_power")}
`},reqs:{xeno:6},cost:{Money(r){return f("dormitory",r,1e7,1.25,"galaxy")},Furs(r){return f("dormitory",r,7e5,1.25,"galaxy")},Cement(r){return f("dormitory",r,12e5,1.25,"galaxy")},Plywood(r){return f("dormitory",r,85e3,1.25,"galaxy")},Horseshoe(){return e.race.hooved?3:0}},effect(){return`
${t("requires_res",[t("galaxy_embassy")])}
${t("plus_max_citizens",[$(this)[0].citizens()])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(3)},action(){return _($(this)[0])?(S("dormitory","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["dormitory","galaxy"]}},citizens(){let r=3;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},symposium:{id:"galaxy-symposium",title:t("galaxy_symposium"),desc(){return`
${t("galaxy_symposium")}
${t("requires_power")}
`},reqs:{xeno:6},cost:{Money(r){return f("symposium",r,8e6,1.25,"galaxy")},Food(r){return e.race.ravenous?0:f("symposium",r,e.race.artifical?45e3:125e3,1.25,"galaxy")},Lumber(r){return f("symposium",r,46e4,1.25,"galaxy")},Brick(r){return f("symposium",r,261600,1.25,"galaxy")}},effect(r){let a=Gt("gxy_gorddon",!1,!1,r),i="";return e.tech.xeno>=7&&(i=`
${t("galaxy_symposium_effect3",[+he(300*a).toFixed(2)])}
`),`
${t("requires_res",[t("galaxy_embassy")])}
${t("galaxy_symposium_effect",[(1750*a).toFixed(0)])}
${t("galaxy_symposium_effect2",[(650*a).toFixed(0)])}
${i}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(4)},action(){return _($(this)[0])?(S("symposium","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["symposium","galaxy"]}}},freighter:{id:"galaxy-freighter",title:t("galaxy_freighter"),desc(){return`
${t("galaxy_freighter")}
${t("galaxy_crew_fuel",[t("resource_Helium_3_name")])}
`},reqs:{xeno:5},cost:{Money(r){return f("freighter",r,6e6,1.2,"galaxy")},Uranium(r){return f("freighter",r,1e4,1.2,"galaxy")},Adamantite(r){return f("freighter",r,46e4,1.2,"galaxy")},Stanene(r){return f("freighter",r,261600,1.2,"galaxy")},Bolognium(r){return f("freighter",r,66e3,1.2,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2),a="";return e.tech.banking>=13&&(a=`
${t("interstellar_exchange_boost",[3])}
`),`
${t("requires_res",[t("galaxy_embassy")])}
${t("galaxy_freighter_effect",[2,x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].name])}
${a}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*3:3},mil(){return 0},helium:12},special:!0,powered(){return 0},action(){return _($(this)[0])?(S("freighter","galaxy"),e.galaxy.freighter.on++,e.resource.Vitreloy.display=!0,!0):!1},struct(){return{d:{count:0,on:0,crew:0},p:["freighter","galaxy"]}}}},gxy_alien1:{info:{name(){return t("galaxy_alien",[x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].home])},desc(){return t("galaxy_alien1_desc",[x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].home,x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].name])},control(){return{name:x[e.galaxy.alien1.id].name,color:"advanced"}}},consulate:{id:"galaxy-consulate",title:t("galaxy_consulate"),desc(){return t("galaxy_consulate_desc",[x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].home])},reqs:{xeno:8},queue_complete(){return 1-e.galaxy.consulate.count},cost:{Money(r){return(r||0)+(e.galaxy.hasOwnProperty("consulate")?e.galaxy.consulate.count:0)<1?9e7:0},Stone(r){return(r||0)+(e.galaxy.hasOwnProperty("consulate")?e.galaxy.consulate.count:0)<1?75e6:0},Furs(r){return(r||0)+(e.galaxy.hasOwnProperty("consulate")?e.galaxy.consulate.count:0)<1?3e7:0},Iron(r){return(r||0)+(e.galaxy.hasOwnProperty("consulate")?e.galaxy.consulate.count:0)<1?45e6:0},Horseshoe(r){return e.race.hooved&&(r||0)+(e.galaxy.hasOwnProperty("consulate")?e.galaxy.consulate.count:0)<1?10:0}},effect(){return t("plus_max_citizens",[$(this)[0].citizens()])},refresh:!0,action(){return _($(this)[0])&&e.galaxy.consulate.count<1?(S("consulate","galaxy"),y(ce.gxy_alien1.resort),y(ce.gxy_alien1.super_freighter),e.tech.xeno=9,!0):!1},struct(){return{d:{count:0},p:["consulate","galaxy"]}},citizens(){let r=10;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},resort:{id:"galaxy-resort",title:t("galaxy_resort"),desc(){return`
${t("galaxy_resort")}
${t("requires_power")}
`},reqs:{xeno:9},cost:{Money(r){return f("resort",r,ee("untrustworthy",33e6),1.25,"galaxy")},Stone(r){return f("resort",r,ee("untrustworthy",25e6),1.25,"galaxy")},Furs(r){return f("resort",r,ee("untrustworthy",1e7),1.25,"galaxy")},Oil(r){return f("resort",r,ee("untrustworthy",ye(125e3)),1.25,"galaxy")}},effect(){let r=G(e.tech.world_control?1875e3:15e5),a=e.race.joyless?"":`
${t("plus_max_resource",[E(2),t("job_entertainer")])}
`;return`
${t("plus_max_resource",[`$${r.toLocaleString()}`,t("resource_Money_name")])}
${a}
${t("space_red_vr_center_effect2",[2])}
`+`
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(5)},action(){return _($(this)[0])?(S("resort","galaxy"),L($(this)[0])&&(e.race.joyless||(e.civic.entertainer.max+=E(2),e.civic.entertainer.display=!0)),!0):!1},struct(){return{d:{count:0,on:0},p:["resort","galaxy"]}}},vitreloy_plant:{id:"galaxy-vitreloy_plant",title:t("galaxy_vitreloy_plant"),desc(){return`
${t("galaxy_vitreloy_plant")}
${t("galaxy_vitreloy_plant_desc")}
`},reqs:{xeno:10},cost:{Money(r){return f("vitreloy_plant",r,35e6,1.25,"galaxy")},Cement(r){return f("vitreloy_plant",r,18e5,1.25,"galaxy")},Neutronium(r){return f("vitreloy_plant",r,25e4,1.25,"galaxy")},Iridium(r){return f("vitreloy_plant",r,85e4,1.25,"galaxy")},Aerogel(r){return f("vitreloy_plant",r,4e5,1.25,"galaxy")}},effect(){let r=+ie("vitreloy_plant").toFixed(2),a=2.5,i=100,s=5e4;return`
${t("galaxy_vitreloy_plant_effect",[r])}
${t("galaxy_vitreloy_plant_effect2",[a,i])}
${t("galaxy_vitreloy_plant_effect3",[s,$(this)[0].powered()])}
`},powered(){return V(10)},action(){return _($(this)[0])?(S("vitreloy_plant","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["vitreloy_plant","galaxy"]}}},super_freighter:{id:"galaxy-super_freighter",title:t("galaxy_super_freighter"),desc(){return`
${t("galaxy_super_freighter")}
${t("galaxy_crew_fuel",[t("resource_Helium_3_name")])}
`},reqs:{xeno:9},cost:{Money(r){return f("super_freighter",r,28e6,1.2,"galaxy")},Aluminium(r){return f("super_freighter",r,35e5,1.2,"galaxy")},Alloy(r){return f("super_freighter",r,1e6,1.2,"galaxy")},Graphene(r){return f("super_freighter",r,75e4,1.2,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2),a="";return e.tech.banking>=13&&(a=`
${t("interstellar_exchange_boost",[8])}
`),`
${t("requires_res",[t("galaxy_embassy")])}
${t("galaxy_freighter_effect",[5,x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].name])}
${a}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*5:5},mil(){return 0},helium:25},special:!0,powered(){return 0},action(){return _($(this)[0])?(S("super_freighter","galaxy"),e.galaxy.super_freighter.on++,!0):!1},struct(){return{d:{count:0,on:0,crew:0},p:["super_freighter","galaxy"]}}}},gxy_alien2:{info:{name(){return t("galaxy_alien",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])},desc(){return t("galaxy_alien2_desc",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red,x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].name])},control(){return{name:x[e.galaxy.alien2.id].name,color:"danger"}},support:"foothold"},alien2_mission:{id:"galaxy-alien2_mission",title(){return t("galaxy_alien2_mission",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])},desc(){return t("galaxy_alien2_mission_desc",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])},reqs:{andromeda:4},grant:["conflict",1],queue_complete(){return e.tech.conflict>=1?0:1},cost:{Custom(){if(e.galaxy.hasOwnProperty("defense")&&e.galaxy.defense.hasOwnProperty("gxy_alien2")){let r=0;return Object.keys(e.galaxy.defense.gxy_alien2).forEach(function(a){r+=ce.gxy_gateway[a].ship.rating()*e.galaxy.defense.gxy_alien2[a]}),{label:t("galaxy_fleet_rating",[`400`]),met:!(r<400)}}return{label:t("galaxy_fleet_rating",['400']),met:!1}}},effect(){let r=0;e.galaxy.hasOwnProperty("defense")&&e.galaxy.defense.hasOwnProperty("gxy_alien2")&&Object.keys(e.galaxy.defense.gxy_alien2).forEach(function(i){r+=ce.gxy_gateway[i].ship.rating()*e.galaxy.defense.gxy_alien2[i]});let a=r>=650?`${t("galaxy_piracy_low")}`:`${t("galaxy_piracy_avg")}`;return`
${t("galaxy_alien2_mission_effect2",[r])}
${t("galaxy_alien2_mission_effect3",[a])}
${t("galaxy_alien2_mission_effect",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].name])}
`},action(){if(_($(this)[0])){let r=0;if(Object.keys(e.galaxy.defense.gxy_alien2).forEach(function(a){r+=ce.gxy_gateway[a].ship.rating()*e.galaxy.defense.gxy_alien2[a]}),r>=400){if(I(t("galaxy_alien2_mission_result2",[x[e.galaxy.alien2.id].solar.red]),"info",!1,["progress"]),r<650){let a=80;e.race.instinct&&(a/=2);let i=[];Object.keys(e.galaxy.defense.gxy_alien2).forEach(function(s){for(let n=0;n0&&(a-=ce.gxy_gateway[s].ship.rating(),i.push(s))}),I(t("galaxy_chthonian_mission_result_losses",[i.map(s=>t(`galaxy_${s}`)).join(", ")]),"danger",!1,["progress"]);for(let s=0;s${t("galaxy_foothold")}
${t("requires_power_combo",[e.resource.Elerium.name])}
`},reqs:{conflict:1},cost:{Money(r){return f("foothold",r,25e6,1.25,"galaxy")},Titanium(r){return f("foothold",r,3e6,1.25,"galaxy")},Polymer(r){return f("foothold",r,175e4,1.25,"galaxy")},Iridium(r){return f("foothold",r,9e5,1.25,"galaxy")},Bolognium(r){return f("foothold",r,5e4,1.25,"galaxy")}},effect(r){let a=2.5;return`
${t("galaxy_defense_platform_effect",[50])}
${t("galaxy_foothold_effect",[$(this)[0].support(),x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])}
${t("galaxy_foothold_effect2",[a,$(this)[0].powered(r)])}
`},support(){return 4},powered(r){return V(ur(r)?20:0)},powerBalancer(){return[{s:e.galaxy.foothold.s_max-e.galaxy.foothold.support}]},action(){return _($(this)[0])?(S("foothold","galaxy"),L($(this)[0]),e.tech.conflict===1&&(y(ce.gxy_alien2.armed_miner),e.tech.conflict=2,Vn(),ae()),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["foothold","galaxy"]}}},armed_miner:{id:"galaxy-armed_miner",title:t("galaxy_armed_miner"),desc(){return`
${t("galaxy_armed_miner")}
`},reqs:{conflict:2},cost:{Money(r){return f("armed_miner",r,5e6,1.25,"galaxy")},Steel(r){return f("armed_miner",r,18e5,1.25,"galaxy")},Stanene(r){return f("armed_miner",r,1975e3,1.25,"galaxy")},Vitreloy(r){return f("armed_miner",r,2e4,1.25,"galaxy")},Soul_Gem(r){return f("armed_miner",r,1,1.25,"galaxy")}},effect(){let r=.032,a=.23,i=.65,s=+ye($(this)[0].ship.helium).toFixed(2);return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("gain",[r,t("resource_Bolognium_name")])}
${t("gain",[a,t("resource_Adamantite_name")])}
${t("gain",[i,t("resource_Iridium_name")])}
${t("galaxy_alien2_support",[$(this)[0].support(),x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("spend",[s,e.resource.Helium_3.name])}
`},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*2:2},mil(){return e.race.high_pop?v.high_pop.vars()[0]*1:1},helium:10,rating(){let r=e.race.banana?4:5;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?2:5),r}},s_type:"alien2",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("armed_miner","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["armed_miner","galaxy"]}}},ore_processor:{id:"galaxy-ore_processor",title:t("galaxy_ore_processor"),desc(){return`
${t("galaxy_ore_processor")}
`},reqs:{conflict:3},cost:{Money(r){return f("ore_processor",r,3e6,1.25,"galaxy")},Iron(r){return f("ore_processor",r,5e6,1.25,"galaxy")},Coal(r){return f("ore_processor",r,375e4,1.25,"galaxy")},Graphene(r){return f("ore_processor",r,225e4,1.25,"galaxy")}},effect(){return`
${t("galaxy_ore_processor_effect",[10])}
${t("galaxy_alien2_support",[$(this)[0].support(),x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])}
`},s_type:"alien2",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("ore_processor","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["ore_processor","galaxy"]}}},scavenger:{id:"galaxy-scavenger",title:t("galaxy_scavenger"),desc:t("galaxy_scavenger_desc"),reqs:{conflict:4},cost:{Money(r){return f("scavenger",r,75e5,1.25,"galaxy")},Alloy(r){return f("scavenger",r,125e4,1.25,"galaxy")},Aluminium(r){return f("scavenger",r,68e5,1.25,"galaxy")},Neutronium(r){return f("scavenger",r,75e3,1.25,"galaxy")},Elerium(r){return f("scavenger",r,750,1.25,"galaxy")}},effect(r){let a=Gt("gxy_alien2",!1,!1,r),i=Math.round(a*25e3),s=+ye($(this)[0].ship.helium).toFixed(2),n=e.race.cataclysm?`
${t("galaxy_scavenger_effect2_cata",[+(a*100*.75).toFixed(1)])}
`:`
${t("galaxy_scavenger_effect2",[+(a*100/4).toFixed(1)])}
`;return`
${t("galaxy_scavenger_effect",[i])}
${n}
${t("galaxy_alien2_support",[$(this)[0].support(),x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("spend",[s,e.resource.Helium_3.name])}
`},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*1:1},mil(){return 0},helium:12},s_type:"alien2",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("scavenger","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0},p:["scavenger","galaxy"]}}}},gxy_chthonian:{info:{name(){return t("galaxy_chthonian")},desc(){return t("galaxy_chthonian_desc",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].name])},control(){return{name:x[e.galaxy.alien2.id].name,color:"danger"}}},chthonian_mission:{id:"galaxy-chthonian_mission",title(){return t("galaxy_alien2_mission",[t("galaxy_chthonian")])},desc(){return t("galaxy_alien2_mission_desc",[t("galaxy_chthonian")])},reqs:{chthonian:1},grant:["chthonian",2],queue_complete(){return e.tech.chthonian>=2?0:1},cost:{Custom(){if(e.galaxy.hasOwnProperty("defense")&&e.galaxy.defense.hasOwnProperty("gxy_chthonian")){let r=0;return Object.keys(e.galaxy.defense.gxy_chthonian).forEach(function(a){r+=ce.gxy_gateway[a].ship.rating()*e.galaxy.defense.gxy_chthonian[a]}),{label:t("galaxy_fleet_rating",[`1250`]),met:!(r<1250)}}return{label:t("galaxy_fleet_rating",['1250']),met:!1}}},effect(){let r=0;e.galaxy.hasOwnProperty("defense")&&e.galaxy.defense.hasOwnProperty("gxy_chthonian")&&Object.keys(e.galaxy.defense.gxy_chthonian).forEach(function(i){r+=ce.gxy_gateway[i].ship.rating()*e.galaxy.defense.gxy_chthonian[i]});let a=r>=4500?`${t("galaxy_piracy_low")}`:r>=2500?`${t("galaxy_piracy_avg")}`:`${t("galaxy_piracy_high")}`;return`
${t("galaxy_alien2_mission_effect2",[r])}
${t("galaxy_alien2_mission_effect3",[a])}
${t("galaxy_alien2_mission_effect",[t("galaxy_chthonian")])}
`},action(){if(_($(this)[0])){let r=0;if(Object.keys(e.galaxy.defense.gxy_chthonian).forEach(function(a){r+=ce.gxy_gateway[a].ship.rating()*e.galaxy.defense.gxy_chthonian[a]}),r>=1250){let a=500,i=[];I(t("galaxy_chthonian_mission_result"),"info",!1,["progress"]),r>=2500&&(a=r>=4500?80:160),e.race.instinct&&(a/=2),Object.keys(e.galaxy.defense.gxy_chthonian).forEach(function(s){for(let n=0;n0&&(a-=ce.gxy_gateway[s].ship.rating(),i.push(s))}),I(t("galaxy_chthonian_mission_result_losses",[i.map(s=>t(`galaxy_${s}`)).join(", ")]),"danger",!1,["progress"]);for(let s=0;s${t("galaxy_minelayer")}`},reqs:{chthonian:2},cost:{Money(r){return f("minelayer",r,9e6,1.25,"galaxy")},Iron(r){return f("minelayer",r,48e5,1.25,"galaxy")},Nano_Tube(r){return f("minelayer",r,125e4,1.25,"galaxy")},Nanoweave(r){return f("minelayer",r,1e5,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2);return`
${t("requires_res",[t("galaxy_starbase")])}
${t("galaxy_defense_platform_effect",[$(this)[0].ship.rating()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},ship:{civ(){return 0},mil(){let r=e.race.high_pop?v.high_pop.vars()[0]*1:1;return e.race.grenadier?Math.ceil(r/2):r},helium:8,rating(){let r=e.race.banana?35:50;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?15:25),r}},powered(){return 0},action(){return _($(this)[0])?(S("minelayer","galaxy"),e.galaxy.minelayer.on++,!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["minelayer","galaxy"]}},postPower(){C({el:"#gxy_chthonian"},"update")},post(){C({el:"#gxy_chthonian"},"update")}},excavator:{id:"galaxy-excavator",title:t("galaxy_excavator"),desc(){return`
${t("galaxy_excavator")}
`},reqs:{chthonian:3},cost:{Money(r){return f("excavator",r,12e6,1.25,"galaxy")},Polymer(r){return f("excavator",r,44e5,1.25,"galaxy")},Iridium(r){return f("excavator",r,36e5,1.25,"galaxy")},Mythril(r){return f("excavator",r,18e4,1.25,"galaxy")}},effect(){let r=+ie("excavator").toFixed(3);return`
${t("gain",[r,t("resource_Orichalcum_name")])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(8)},powerBalancer(){return[{r:"Orichalcum",p:ie("excavator")}]},action(){return _($(this)[0])?(S("excavator","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["excavator","galaxy"]}}},raider:{id:"galaxy-raider",title:t("galaxy_raider"),desc(){return`
${t("galaxy_raider")}
`},reqs:{chthonian:3},cost:{Money(r){return f("raider",r,12e6,1.25,"galaxy")},Titanium(r){return f("raider",r,125e4,1.25,"galaxy")},Bolognium(r){return f("raider",r,6e5,1.25,"galaxy")},Vitreloy(r){return f("raider",r,125e3,1.25,"galaxy")},Stanene(r){return f("raider",r,825e3,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2),a=.65,i=.05,s=2.3,n=.8;return`
${t("requires_res",[t("galaxy_starbase")])}
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("gain",[a,t("resource_Deuterium_name")])}
${t("gain",[i,t("resource_Vitreloy_name")])}
${t("gain",[s,t("resource_Polymer_name")])}
${t("gain",[n,t("resource_Neutronium_name")])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},ship:{civ(){return 0},mil(){let r=e.race.grenadier?1:2;return e.race.high_pop?v.high_pop.vars()[0]*r:r},helium:18,rating(){let r=e.race.banana?9:12;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?3:6),r}},powered(){return 0},action(){return _($(this)[0])?(S("raider","galaxy"),e.galaxy.raider.on++,!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["raider","galaxy"]}},postPower(){C({el:"#gxy_chthonian"},"update")},post(){C({el:"#gxy_chthonian"},"update")}}}};function vo(r){let a="space";return r.substr(0,4)==="int_"?a="interstellar":r.substr(0,5)==="prtl_"?a="portal":r.substr(0,4)==="gxy_"?a="galaxy":r.substr(0,4)==="tau_"?a="tauceti":r.substr(0,5)==="eden_"&&(a="eden"),a}function Gt(r,a,i,s){if(e.tech.piracy&&!e.race.truepath){let n=0,c=["dreadnought","cruiser_ship","frigate_ship","corvette_ship","scout_ship"];for(let d=0;do?o:n;return((1-(o-d)/o)*l+(1-l))*(a?1:Gt("gxy_stargate",!1,!1,s))}else{let d=n>o?o:n;return(1-(o-d)/o)*l+(1-l)}}else return 1}function mo(){let r=["protoplasm",e.race.species];e.city.hasOwnProperty("surfaceDwellers")&&r.push(...e.city.surfaceDwellers),e.custom.hasOwnProperty("race0")||r.push("custom"),e.custom.hasOwnProperty("race1")||r.push("hybrid");let a=Object.keys(x).filter(function(n){return!["demonic","eldritch"].includes(x[n].type)&&!r.includes(n)}),i=Yi(a);e.galaxy.alien1={id:a[i]},r.push(a[i]),a=Object.keys(x).filter(function(n){return!["angelic"].includes(x[n].type)&&!r.includes(n)});let s=Yi(a);e.galaxy.alien2={id:a[s]}}function fo(){let r=1;return e.race.pack_rat&&(r*=1.05),e.stats.achieve.blackhole&&(r*=1+e.stats.achieve.blackhole.l*.05),r*=e.tech.world_control?2:1,r}var yu={satellite:{count:0},propellant_depot:{count:0},gps:{count:0},nav_beacon:{count:0,on:0},moon_base:{count:0,on:0,support:0,s_max:0},iridium_mine:{count:0,on:0},helium_mine:{count:0,on:0},observatory:{count:0,on:0},spaceport:{count:0,on:0,support:0,s_max:0},red_tower:{count:0,on:0},living_quarters:{count:0,on:0},vr_center:{count:0,on:0},garage:{count:0},red_mine:{count:0,on:0},fabrication:{count:0,on:0},red_factory:{count:0,on:0},exotic_lab:{count:0,on:0},ziggurat:{count:0},space_barracks:{count:0,on:0},biodome:{count:0,on:0},laboratory:{count:0,on:0},geothermal:{count:0,on:0},swarm_plant:{count:0},swarm_control:{count:0,support:0,s_max:0},swarm_satellite:{count:0},gas_mining:{count:0,on:0},gas_storage:{count:0},star_dock:{count:0,ship:0,probe:0,template:"human"},outpost:{count:0,on:0},drone:{count:0},oil_extractor:{count:0,on:0},space_station:{count:0,on:0,support:0,s_max:0},iridium_ship:{count:0,on:0},elerium_ship:{count:0,on:0},elerium_prospector:{count:0,on:0},iron_ship:{count:0,on:0},elerium_contain:{count:0,on:0},e_reactor:{count:0,on:0},world_collider:{count:0},world_controller:{count:0,on:0},starport:{count:0,on:0,support:0,s_max:0},mining_droid:{count:0,on:0,adam:0,uran:0,coal:0,alum:0},processing:{count:0,on:0},habitat:{count:0,on:0},fusion:{count:0,on:0},exchange:{count:0,on:0},warehouse:{count:0},xfer_station:{count:0,on:0},cargo_yard:{count:0},cruiser:{count:0,on:0},dyson:{count:0},nexus:{count:0,on:0,support:0,s_max:0},harvester:{count:0,on:0},far_reach:{count:0,on:0},stellar_engine:{count:0,mass:8,exotic:0},mass_ejector:{count:0,on:0,total:0,mass:0,Food:0,Lumber:0,Chrysotile:0,Stone:0,Crystal:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Deuterium:0,Neutronium:0,Adamantite:0,Infernite:0,Elerium:0,Nano_Tube:0,Graphene:0,Stanene:0,Bolognium:0,Vitreloy:0,Orichalcum:0,Plywood:0,Brick:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0},stargate:{count:0},gateway_station:{count:0,on:0},s_gate:{count:0,on:0},starbase:{count:0,on:0,support:0,s_max:0},bolognium_ship:{count:0,on:0,crew:0},scout_ship:{count:0,on:0,crew:0,mil:0},corvette_ship:{count:0,on:0,crew:0,mil:0},frigate_ship:{count:0,on:0,crew:0,mil:0},cruiser_ship:{count:0,on:0,crew:0,mil:0},dreadnought:{count:0,on:0,crew:0,mil:0},foothold:{count:0,on:0,support:0,s_max:0},turret:{count:0,on:0},carport:{count:0,damaged:0,repair:0},war_droid:{count:0,on:0},repair_droid:{count:0,on:0},war_drones:{count:0,on:0},sensor_drone:{count:0,on:0},attractor:{count:0,on:0}};function S(r,a){let i=r;typeof r=="object"&&(i=r.struct().p[0],a=r.struct().p[1]),a||(a="space"),e[a][i]||(e[a][i]=typeof r=="object"?r.struct().d:yu[i]),(e.race.living_materials||e[a][i].l_m)&&(e[a][i].l_m=0),e[a][i].count++}function Ps(r,a){return r&&a?Le[r][a]:Le}function yo(){return Ue}function bo(){return ce}function Un(r,a,i){switch(r){case"space":return Vt(Le,a,i);case"interstellar":return Vt(Ue,a,i);case"galaxy":return Vt(ce,a,i)}}function Vt(r,a,i){let s=e.race.truepath?"truepath":"standard";if(r[a][i].hasOwnProperty("path")&&!r[a][i].path.includes(s))return!1;var n=!0;return Object.keys(r[a][i].reqs).forEach(function(c){(!e.tech[c]||e.tech[c]=r[a][i].grant[1]&&(n=!1),n}function St(){!e.settings.tabLoad&&e.settings.civTabs!==1||(go("inner"),e.race.truepath&&go("outer"),Oa(),Vn())}function go(r){if(r||(r=e.settings.spaceTabs===5?"outer":"inner"),!e.settings.tabLoad&&(e.settings.civTabs!==1||![1,5].includes(e.settings.spaceTabs)||e.settings.civTabs===1&&e.settings.spaceTabs===1&&r!=="inner"||e.settings.spaceTabs===5&&r!=="outer"))return;let a=r==="inner"?$("#space"):$("#outerSol");if(K(a),a.append($(`

${t(r==="inner"?"tab_space":"tab_outer_space")}

`)),!e.settings.showSpace)return!1;let i=[];Object.keys(Le).forEach(function(s){e.race.orbit_decayed||e.race.cataclysm?s!=="spc_home"&&(i.push(s),(e.race.orbit_decayed&&s==="spc_red"||e.race.cataclysm&&s==="spc_moon")&&i.push("spc_home")):i.push(s)}),i.forEach(function(s){let n=s.replace("spc_","");if(e.settings.space[`${n}`]){if(e.race.truepath&&Le[s].info.zone!==r)return;let c=typeof Le[s].info.name=="string"?Le[s].info.name:Le[s].info.name(),o=!!(e.race.orbit_decayed||e.race.cataclysm);if(o&&s!=="spc_home"||!o){if(Le[s].info.support){let l=Le[s].info.support;e.space[l].hasOwnProperty("support")||(e.space[l].support=0,e.space[l].s_max=0),a.append(`

${c}

{{ support }}/{{ s_max }}
`),C({el:`#sr${s}`,data:e.space[l]})}else a.append(`

${c}

`);e.race.truepath&&Le[s].info.hasOwnProperty("syndicate")&&Le[s].info.syndicate()&&e.tech.syndicate&&($(`#${s}`).append(`
`),$(`#${s}synd`).append(`${t("space_syndicate")} `),$(`#${s}synd`).append(`${t("space_scan_effectiveness")} `),$(`#${s}synd`).append(`${t("space_overkill")} `),C({el:`#${s}synd`,data:e.space.syndicate,methods:{threat(l){if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")){let u=Wr(l,!0);if(u.s>=10)return u.s>=50?u.r:Math.round(u.r*u.s*.02)}return"???"},scan(l){return e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")?+((Wr(l,!0).s+25)/1.25).toFixed(1)+"%":t("galaxy_piracy_none")},overkill(l){if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")){let u=Wr(l,!0);return u.s>=100?u.o:0}return 0}}}),Le[s].info.hasOwnProperty("extra")&&Le[s].info.extra(s))}N(s,function(){return typeof Le[s].info.desc=="string"?Le[s].info.desc:Le[s].info.desc()},{elm:`#${s} h3.name`,classes:"has-background-light has-text-dark"}),Object.keys(Le[s]).forEach(function(l){if(l!=="info"&&Vt(Le,s,l)){let u=Le[s][l];er(u,r==="inner"?"space":"outerSol",l)}})}})}function Oa(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==2))return;let r=$("#interstellar");if(K(r),r.append($(`

${t("tab_interstellar")}

`)),!e.settings.showDeep)return!1;Object.keys(Ue).forEach(function(a){let i=a.replace("int_","");if(e.settings.space[`${i}`]){let s=typeof Ue[a].info.name=="string"?Ue[a].info.name:Ue[a].info.name();if(Ue[a].info.support){let n=Ue[a].info.support;e.interstellar[n].hasOwnProperty("support")||(e.interstellar[n].support=0,e.interstellar[n].s_max=0),r.append(`

${s}

{{ support }}/{{ s_max }}
`),C({el:`#sr${a}`,data:e.interstellar[n]})}else r.append(`

${s}

`);N(a,function(){return typeof Ue[a].info.desc=="string"?Ue[a].info.desc:Ue[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),Object.keys(Ue[a]).forEach(function(n){if(n!=="info"&&Vt(Ue,a,n)){let c=Ue[a][n];er(c,"interstellar",n)}})}})}function Vn(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==3))return;let r=$("#galaxy");if(K(r),r.append($(`

${t("tab_galactic")}

`)),!e.settings.showGalactic)return!1;bu(r,"fleet"),Object.keys(ce).forEach(function(a){let i=a.replace("gxy_","");if(e.galaxy.defense&&!e.galaxy.defense.hasOwnProperty(a)&&(e.galaxy.defense[a]={}),e.settings.space[`${i}`]){let s=typeof ce[a].info.name=="string"?ce[a].info.name:ce[a].info.name(),n=$(`
`);r.append(n);let c=$(`

${s}

`);n.append(c),e.tech.xeno&&e.tech.xeno>=3&&n.append(`{{ r.control().name }}`);let o={el:`#${a}`,data:{r:ce[a].info},methods:{threat(l){let u=e.race.infiltrator?1:2;if(e.galaxy.defense[l].scout_ship>=u){let p=(1-Gt(l,!0))*100;return p=p<1?Math.ceil(p):Math.round(p),p===0?"has-text-success":p<=20?"has-text-advanced":p<=40?"has-text-info":p<=60?"has-text-warning":p<=80?"has-text-caution":"has-text-danger"}return"has-text-danger"}},filters:{pirate(l){let u=e.race.infiltrator?1:2;if(e.galaxy.defense[l].scout_ship>=u){let p=(1-Gt(l,!0))*100;p=p<1?Math.ceil(p):Math.round(p);let h=e.race.infiltrator?3:4;return e.galaxy.defense[l].scout_ship>=h?`${p}%`:p===0?t("galaxy_piracy_none"):p<=20?t("galaxy_piracy_vlow"):p<=40?t("galaxy_piracy_low"):p<=60?t("galaxy_piracy_avg"):p<=80?t("galaxy_piracy_high"):t("galaxy_piracy_vhigh")}return"???"},defense(l){return Gt(l,!0,!0)}}};if(ce[a].info.support){let l=ce[a].info.support;e.galaxy[l]&&(e.galaxy[l].hasOwnProperty("support")||(e.galaxy[l].support=0,e.galaxy[l].s_max=0),n.append('{{ s.support }}/{{ s.s_max%1 ? s.s_max.toFixed(2) : s.s_max }}'),o.data.s=e.galaxy[l])}e.tech.piracy&&n.append(`
${t("galaxy_piracy_threat",[x[e.galaxy.alien2.id].name])}{{ '${a}' | pirate }}|${t("galaxy_armada")}: {{ '${a}' | defense }}
`),C(o),N(a,function(){return typeof ce[a].info.desc=="string"?ce[a].info.desc:ce[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),N(a,function(){return t("galaxy_control",[ce[a].info.control().name,s])},{elm:`#${a} .regionControl`,classes:"has-background-light has-text-dark"}),Object.keys(ce[a]).forEach(function(l){if(l!=="info"&&Vt(ce,a,l)){let u=ce[a][l];er(u,"galaxy",l)}})}})}function bu(r,a){if(e.tech.piracy&&!e.race.truepath){let i=$(`

${t("galaxy_armada")}

`);r.append(i);let s=e.tech.world_control?t("civics_garrison_peacekeepers"):t("civics_garrison_soldiers");i.append($("|")),i.append($(`${s} {{ g.workers | stationed }} / {{ g.max | s_max }}`)),i.append($("|")),i.append($(`${t("job_crew_mil")} {{ g.crew }}`)),i.append($("|")),i.append($(`${t("job_crew_civ")} {{ c.workers }} / {{ c.max }}`)),C({el:`#h${a}`,data:{g:e.civic.garrison,c:e.civic.crew},filters:{stationed(l){return we()},s_max(l){return we(!0)}}}),["soldier","crew1","crew2"].forEach(function(l){N(`h${a}${l}`,function(){switch(l){case"soldier":return Wn();case"crew1":return t("civics_garrison_crew_desc");case"crew2":return t("job_crew_desc")}},{elm:`#h${a} span.${l}`})});let n=$(`
`);r.append(n);let c=["scout_ship","corvette_ship","frigate_ship","cruiser_ship","dreadnought"],o=[];for(let l=0;l<6;l++){let u=$('
');o.push(u),n.append(u)}for(let l=0;l${ce.gxy_gateway[c[l]].title}`);o[l+1].append(u)}o[0].append($("")),o[0].append($(`${ce.gxy_gateway.info.name}`));for(let l=0;l{{ gateway.${c[l]} }}`);o[l+1].append(u)}Object.keys(e.galaxy.defense).forEach(function(l){let u=l.substring(4);if(e.settings.space[u]&&u!=="gateway"){let p=$(`${typeof ce[l].info.name=="string"?ce[l].info.name:ce[l].info.name()}`);o[0].append(p);for(let h=0;h'),g=$(`«`),w=$(`{{ ${u}.${c[h]} }}`),k=$(`»`);o[h+1].append(d),d.append(g),d.append(w),d.append(k)}}}),C({el:`#${a}`,data:{stargate:e.galaxy.defense.gxy_stargate,gateway:e.galaxy.defense.gxy_gateway,gorddon:e.galaxy.defense.gxy_gorddon,alien1:e.galaxy.defense.gxy_alien1,alien2:e.galaxy.defense.gxy_alien2,chthonian:e.galaxy.defense.gxy_chthonian,t:e.tech},methods:{sub(l,u){if(e.galaxy.defense[l][u]>0){let p=W();p>e.galaxy.defense[l][u]&&(p=e.galaxy.defense[l][u]),e.galaxy.defense.gxy_gateway[u]+=p,e.galaxy.defense[l][u]-=p}},add(l,u){if(e.galaxy.defense.gxy_gateway[u]>0){let p=W();p>e.galaxy.defense.gxy_gateway[u]&&(p=e.galaxy.defense.gxy_gateway[u]),e.galaxy.defense.gxy_gateway[u]-=p,e.galaxy.defense[l][u]+=p}}}}),Object.keys(e.galaxy.defense).forEach(function(l){let u=l.substring(4);e.settings.space[u]&&N(`armada${u}`,function(){return`
${typeof ce[l].info.desc=="string"?ce[l].info.desc:ce[l].info.desc()}
`})});for(let l=0;l=5&&i&&(r*=.95**i),r}function Ts(r,a){if(e.space.swarm_plant){let i=e.tech.swarm?.88:.94;e.tech.swarm>=3&&(i-=Cr(a)/100),i<.05&&(i=.05),r*=i**e.space.swarm_plant.count}return r}function ve(r,a,i){e.race.universe==="heavy"&&(r*=1.25+.5*Me("heavy")),e.race.truepath&&(r*=a?2.5:1.25);let s=i?e.city?.mass_driver?.on??0:H.mass_driver;if(s){let n=(i?i.truepath:e.race.truepath)?.94:.95;r*=n**s}return e.stats.achieve.heavyweight&&(r*=.96**e.stats.achieve.heavyweight.l),e.city.ptrait.includes("dense")&&(r*=Ie.dense.vars()[2]),e.race.cataclysm&&(r*=.2),e.race.heavy&&(r*=1+v.heavy.vars()[0]/100),e.race.gravity_well&&(r*=1.35+9.65*Me("heavy")),ke("launch_day")&&(r*=.95),r}function ye(r){return e.race.universe==="heavy"&&(r*=1.2+.3*Me("heavy")),e.stats.achieve.heavyweight&&(r*=.96**e.stats.achieve.heavyweight.l),e.race.heavy&&(r*=1+v.heavy.vars()[0]/100),ke("launch_day")&&(r*=.95),r}function A(){let r=x[e.race.species].type==="hybrid"?e.race.maintype:x[e.race.species].type,a={red:x[e.race.species].solar.red,hell:x[e.race.species].solar.hell,gas:x[e.race.species].solar.gas,gas_moon:x[e.race.species].solar.gas_moon,dwarf:x[e.race.species].solar.dwarf,titan:Na[r].solar.titan,enceladus:Na[r].solar.enceladus,triton:Na[r].solar.triton,eris:Na[r].solar.eris};if(e.race.species==="custom")for(let i of["titan","enceladus","triton","eris"])e.custom.race0.hasOwnProperty(i)&&(a[i]=e.custom.race0[i]);if(e.race.species==="hybrid")for(let i of["titan","enceladus","triton","eris"])e.custom.race1.hasOwnProperty(i)&&(a[i]=e.custom.race1[i]);return a}var vt=["l","h","a","e","m","mg"],zr={standard:{name:t("universe_standard"),desc:t("universe_standard_desc"),effect:t("universe_standard_effect")},heavy:{name:t("universe_heavy"),desc:t("universe_heavy_desc"),effect:t("universe_heavy_effect",[5])},antimatter:{name:t("universe_antimatter"),desc:t("universe_antimatter_desc"),effect:t("universe_antimatter_effect")},evil:{name:t("universe_evil"),desc:t("universe_evil_desc"),effect:t("universe_evil_effect")},micro:{name:t("universe_micro"),desc:t("universe_micro_desc"),effect:t("universe_micro_effect",[75])},magic:{name:t("universe_magic"),desc:t("universe_magic_desc"),effect:t("universe_magic_effect")}};function Qr(r,a){if(!a&&!e.race.noexport){ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e)));let z=x[e.race.species].type==="hybrid"?e.race.maintype:x[e.race.species].type;if(B(`biome_${e.city.biome}`),B(`genus_${z}`),r)if(B("godslayer"),["unicorn","seraph"].includes(e.race.species)&&B("traitor"),e.stats.achieve.what_is_best&&e.stats.achieve.what_is_best.e)e.race.noexport="Hybrid";else{Yc();return}else e.race.witch_hunter&&e.race.universe==="magic"?B("soul_sponge"):(B("ascended"),e.interstellar.thermal_collector.count===0&&oe("energetic")),e.race.species==="junker"&&oe("the_misery"),!e.race.modified&&e.race.junker&&e.race.species==="junker"&&oe("garbage_pie"),e.race.emfield&&B("technophobe"),e.race.cataclysm&&oe("finish_line"),e.race.noexport="Race";K($("#city")),e.settings.showCity=!0,e.settings.showCivic=!1,e.settings.showResearch=!1,e.settings.showResources=!1,e.settings.showGenetics=!1,e.settings.showSpace=!1,e.settings.showDeep=!1,e.settings.showGalactic=!1,e.settings.showPortal=!1,e.settings.showEden=!1,e.settings.spaceTabs=0}let i=$('
'),s={ascended:{},technophobe:e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l?e.stats.achieve.technophobe.l:0};a?a.append(i):$("#city").append(i);let n=`

${t("genelab_title")}

- ${t("genelab_genes")} {{ g.genes }} - ${t("trait_untapped_name")}: {{ g.genes | untapped }} - ${t("genelab_neg")} {{ td.neg }}/10
`;if(i.append(n),a){i.append(` + `),C({el:"#mTabStats",data:{s:e.settings},filters:{label(a){return ui(a)}}}),po();break;case 7:e.settings.tabLoad||He("page_view",{page_title:"Evolve - Settings"});break;case"mTabObserve":default:e.settings.tabLoad||He("page_view",{page_title:"Evolve - Hell Observation"}),e.portal.observe&&Ui(!0);break}$("#popper").length>0&&$(`#${$("#popper").data("id")}`).length===0&&ue()}var Le={spc_home:{info:{name(){return x[e.race.species].home},desc:t("space_home_info_desc"),zone:"inner",syndicate(){return!1}},test_launch:{id:"space-test_launch",title:t("space_home_test_launch_title"),desc:t("space_home_test_launch_desc"),reqs:{space:1},grant:["space",2],queue_complete(){return e.tech.space>=2?0:1},cost:{Money(){return 1e5},Oil(r,a){return ve(7500,!1,a)}},effect:t("space_home_test_launch_effect"),action(){if(_($(this)[0])){if(e.race.truepath){let r=1;if(It("gov0")||r++,It("gov1")||r++,It("gov2")||r++,Math.floor(T(0,r))!==0)return I(t("space_home_test_launch_action_fail"),"danger",!1,["progress"]),0}return y(Le.spc_home.satellite),I(t("space_home_test_launch_action"),"info",!1,["progress"]),!0}return!1}},satellite:{id:"space-satellite",title:t("space_home_satellite_title"),desc:t("space_home_satellite_desc"),reqs:{space:2},cost:{Money(r){return f("satellite",r,72e3,1.22)},Knowledge(r){return f("satellite",r,28e3,1.22)},Oil(r,a){return f("satellite",r,ve(3200,!1,a),1.22)},Alloy(r){return f("satellite",r,8e3,1.22)}},effect(){let r=e.race.cataclysm||e.race.orbit_decayed?2e3:750;if((e.race.cataclysm||e.race.orbit_decayed)&&e.tech.supercollider){let n=e.tech.particles&&e.tech.particles>=3?5:10;r*=e.tech.supercollider/n+1}let a=e.race.cataclysm?t("space_moon_observatory_title"):e.race.orbit_decayed?t("city_university"):Kt(),i=e.race.cataclysm?25:e.race.orbit_decayed?12:4,s=`
${t("space_home_satellite_effect2",[a,i])}
`;return`
${t("plus_max_resource",[r,t("resource_Knowledge_name")])}
${s}
${t("space_home_satellite_effect3",[e.civic.scientist?e.civic.scientist.name:t("job_scientist")])}
`},action(){return _($(this)[0])?(S("satellite"),e.resource.Knowledge.max+=750,!0):!1},struct(){return{d:{count:0},p:["satellite","space"]}}},gps:{id:"space-gps",title:t("space_home_gps_title"),desc(){return e.space.hasOwnProperty("gps")&&e.space.gps.count<4?`
${t("space_home_gps_desc")}
${t("space_home_gps_desc_req")}
`:`
${t("space_home_gps_desc")}
`},reqs:{satellite:1},not_trait:["terrifying"],cost:{Money(r){return f("gps",r,75e3,1.18)},Knowledge(r){return f("gps",r,5e4,1.18)},Copper(r){return f("gps",r,6500,1.18)},Oil(r,a){return f("gps",r,ve(3500,!1,a),1.18)},Titanium(r){return f("gps",r,8e3,1.18)}},effect(r){return(r?.count??0)+(e.space.hasOwnProperty("gps")?e.space.gps.count:0)<4?t("space_home_gps_effect_req"):`
${t("space_home_gps_effect")}
${t("space_home_gps_effect2",[2])}
`},action(){return _($(this)[0])?(S("gps"),!0):!1},struct(){return{d:{count:0},p:["gps","space"]}}},propellant_depot:{id:"space-propellant_depot",title:t("space_home_propellant_depot_title"),desc:t("space_home_propellant_depot_desc"),reqs:{space_explore:1},cost:{Money(r){return f("propellant_depot",r,55e3,1.35)},Aluminium(r){return f("propellant_depot",r,22e3,1.35)},Oil(r,a){return f("propellant_depot",r,ve(5500,!1,a),1.35)}},effect(){let r=G(1250)*(e.tech.world_control?1.5:1);if(e.resource.Helium_3.display){let a=G(1e3)*(e.tech.world_control?1.5:1);return`
${t("plus_max_resource",[r,t("resource_Oil_name")])}
${t("plus_max_resource",[a,t("resource_Helium_3_name")])}
`}return`
${t("plus_max_resource",[r,t("resource_Oil_name")])}
`},action(){return _($(this)[0])?(S("propellant_depot"),e.resource.Oil.max+=G(1250)*(e.tech.world_control?1.5:1),e.resource.Helium_3.display&&(e.resource.Helium_3.max+=G(1e3)*(e.tech.world_control?1.5:1)),!0):!1},struct(){return{d:{count:0},p:["propellant_depot","space"]}}},nav_beacon:{id:"space-nav_beacon",title(){return e.race.orbit_decayed?t("space_home_broadcast_beacon_title"):t("space_home_nav_beacon_title")},desc:`
${t("space_home_nav_beacon_desc")}
${t("requires_power")}
`,reqs:{luna:2},cost:{Money(r){return f("nav_beacon",r,75e3,1.32)},Copper(r){return f("nav_beacon",r,38e3,1.32)},Aluminium(r){return f("nav_beacon",r,44e3,1.32)},Oil(r,a){return f("nav_beacon",r,ve(12500,!1,a),1.32)},Iridium(r){return f("nav_beacon",r,1200,1.32)}},powered(){return V(2)},powerBalancer(){return e.tech.luna&&e.tech.luna>=3?[{s:e.space.moon_base.s_max-e.space.moon_base.support},{s:e.space.spaceport.s_max-e.space.spaceport.support}]:[{s:e.space.moon_base.s_max-e.space.moon_base.support}]},support(){return 1},effect(){let r="";e.race.orbit_decayed&&e.tech.broadcast&&(r=`
${t("space_red_vr_center_effect1",[e.tech.broadcast/2])}
`);let a=e.race.orbit_decayed?"":`
${t("space_home_nav_beacon_effect1")}
`,i=e.tech.luna>=3?`
${t("space_red_spaceport_effect1",[A().red,1])}
`:"";return`${a}${i}${r}
${t("space_home_nav_beacon_effect2",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("nav_beacon"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["nav_beacon","space"]}}}},spc_moon:{info:{name:t("space_moon_info_name"),desc(){let r=x[e.race.species].home;return t("space_moon_info_desc",[r])},support:"moon_base",zone:"inner",syndicate(){return!0}},moon_mission:{id:"space-moon_mission",title:t("space_moon_mission_title"),desc:t("space_moon_mission_desc"),reqs:{space:2,space_explore:2},grant:["space",3],queue_complete(){return e.tech.space>=3?0:1},cost:{Oil(r,a){return+ve(12e3,!1,a).toFixed(0)}},effect:t("space_moon_mission_effect"),action(){return _($(this)[0])?(I(t("space_moon_mission_action"),"info",!1,["progress"]),y(Le.spc_moon.iridium_mine),y(Le.spc_moon.helium_mine),!0):!1}},moon_base:{id:"space-moon_base",title:t("space_moon_base_title"),desc(){return`
${t("space_moon_base_desc")}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{space:3},cost:{Money(r){return f("moon_base",r,22e3,1.32)},Cement(r){return f("moon_base",r,18e3,1.32)},Alloy(r){return f("moon_base",r,7800,1.32)},Polymer(r){return f("moon_base",r,12500,1.32)}},effect(r){let a=G(500),i=+ve($(this)[0].support_fuel().a,!0,r).toFixed(2);return`
${t("space_moon_base_effect1")}
${t("plus_max_resource",[a,t("resource_Iridium_name")])}
${t("space_moon_base_effect3",[i,$(this)[0].powered()])}
`},support(){return 2},support_fuel(){return{r:"Oil",a:2}},powered(){return V(4)},powerBalancer(){return[{s:e.space.moon_base.s_max-e.space.moon_base.support}]},refresh:!0,action(){if(_($(this)[0])){if(S("moon_base"),L($(this)[0]),e.space.moon_base.count===1&&(e.tech.moon=1),!e.tech.luna&&(e.tech.luna=1,e.race.truepath)){let r=t("space_moon_base_msg",[pt(3)]);e.civic.foreign.gov3.hstl<10?r=`${r} ${t("space_moon_base_msg_ally")}`:e.civic.foreign.gov3.hstl>60&&(r=`${r} ${t("space_moon_base_msg_hstl")}`),I(r,"info",!1,["progress"])}return e.race.orbit_decay&&e.race.orbit_decay>e.stats.days+2500&&(e.race.orbit_decay=e.stats.days+2500,I(t("evo_challenge_orbit_decayed_accelerated",[e.race.orbit_decay-e.stats.days]),"info",!1,["progress"])),!0}return!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["moon_base","space"]}}},iridium_mine:{id:"space-iridium_mine",title:t("space_moon_iridium_mine_title"),desc:`
${t("space_moon_iridium_mine_desc")}
${t("space_support",[t("space_moon_info_name")])}
`,reqs:{space:3,luna:1},cost:{Money(r){return f("iridium_mine",r,42e3,1.35)},Lumber(r){return f("iridium_mine",r,9e3,1.35)},Titanium(r){return f("iridium_mine",r,17500,1.35)}},effect(){let r=ie("iridium_mine","iridium"),a=+r.b.toFixed(3),i="";e.race.truepath&&(e.civic.foreign.gov3.hstl<10?i=`
${t("space_rival_ally",[+(r.g*100).toFixed(1)])}
`:e.civic.foreign.gov3.hstl>60&&(i=`
${t("space_rival_war",[+(r.g*100).toFixed(1)])}
`));let s=e.race.cataclysm?`
${t("produce",[+ie("iridium_mine","coal").toFixed(2),e.resource.Coal.name])}
`:"",n=e.race.cataclysm?`
${t("produce",[+(ie("iridium_mine","coal")/48).toFixed(3),e.resource.Uranium.name])}
`:"";return`
${t("space_used_support",[t("space_moon_info_name")])}
${t("space_moon_iridium_mine_effect",[a])}
${i}${s}${n}`},s_type:"moon",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(e.resource.Iridium.display=!0,S("iridium_mine"),e.resource.Mythril.display||(e.resource.Mythril.display=!0,gt()),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["iridium_mine","space"]}}},helium_mine:{id:"space-helium_mine",title:t("space_moon_helium_mine_title"),desc:`
${t("space_moon_helium_mine_desc")}
${t("space_support",[t("space_moon_info_name")])}
`,reqs:{space:3,luna:1},cost:{Money(r){return f("helium_mine",r,38e3,1.35)},Aluminium(r){return f("helium_mine",r,9e3,1.35)},Steel(r){return f("helium_mine",r,17500,1.35)}},effect(){let r=G(100),a=ie("helium_mine"),i=+a.b.toFixed(3),s="";return e.race.truepath&&(e.civic.foreign.gov3.hstl<10?s=`
${t("space_rival_ally",[+(a.g*100).toFixed(1)])}
`:e.civic.foreign.gov3.hstl>60&&(s=`
${t("space_rival_war",[+(a.g*100).toFixed(1)])}
`)),`
${t("space_used_support",[t("space_moon_info_name")])}
${t("space_moon_helium_mine_effect",[i])}
${s}
${t("plus_max_resource",[r,t("resource_Helium_3_name")])}
`},s_type:"moon",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(e.resource.Helium_3.display=!0,S("helium_mine"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["helium_mine","space"]}}},observatory:{id:"space-observatory",title:t("space_moon_observatory_title"),desc:`
${t("space_moon_observatory_desc")}
${t("space_support",[t("space_moon_info_name")])}
`,reqs:{science:9,luna:1},cost:{Money(r){return f("observatory",r,2e5,1.28)},Knowledge(r){return f("observatory",r,69e3,1.28)},Stone(r){return f("observatory",r,125e3,1.28)},Iron(r){return f("observatory",r,65e3,1.28)},Iridium(r){return f("observatory",r,1250,1.28)}},effect(){let r="";e.race.cataclysm&&(r=`
${t("city_university_effect",[E(1)])}
`);let a=5e3;e.race.cataclysm&&e.space.satellite&&e.space.satellite.count>0&&(a*=1+e.space.satellite.count*.25);let i=e.race.cataclysm?`
${t("space_moon_observatory_cata_effect",[25])}
`:`
${t("space_moon_observatory_effect",[5])}
`;return`
${t("space_used_support",[t("space_moon_info_name")])}
${r}
${t("plus_max_resource",[a,t("resource_Knowledge_name")])}
${i}`},s_type:"moon",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("observatory"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["observatory","space"]}}}},spc_red:{info:{name(){return A().red},desc(){return t("space_red_info_desc",[A().red])},support:"spaceport",zone:"inner",syndicate(){return!0}},red_mission:{id:"space-red_mission",title(){return t("space_mission_title",[A().red])},desc(){return t("space_mission_desc",[A().red])},reqs:{space:3,space_explore:3},grant:["space",4],queue_complete(){return e.tech.space>=4?0:1},cost:{Helium_3(r,a){return+ve(4500,!1,a).toFixed(0)}},effect(){return t("space_red_mission_effect",[A().red])},action(){return _($(this)[0])?(I(t("space_red_mission_action",[A().red]),"info",!1,["progress"]),y(Le.spc_red.living_quarters),y(Le.spc_red.garage),y(Le.spc_red.red_mine),y(Le.spc_red.fabrication),!0):!1}},spaceport:{id:"space-spaceport",title:t("space_red_spaceport_title"),desc(){return`
${t("space_red_spaceport_desc")}
${t("requires_power_space",[e.resource.Food.name])}
`},reqs:{space:4},cost:{Money(r){return f("spaceport",r,47500,1.32)},Iridium(r){return f("spaceport",r,1750,1.32)},Mythril(r){return f("spaceport",r,25,1.32)},Titanium(r){return f("spaceport",r,22500,1.32)}},effect(r){let a=+ve($(this)[0].support_fuel().a,!0,r).toFixed(2),i="";if(e.race.cataclysm||e.race.orbit_decayed){let s=G(kr()*4);i=`
${t("plus_max_resource",[`$${s}`,t("resource_Money_name")])}
`}return`
${t("space_red_spaceport_effect1",[A().red,$(this)[0].support()])}
${i}
${t("space_red_spaceport_effect2",[a,$(this)[0].powered()])}
${t("spend",[e.race.cataclysm?2:25,e.resource.Food.name])}
`},support(){let r=e.race.cataclysm||e.race.orbit_decayed?4:3;return e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=4&&r++,r},support_fuel(){return{r:"Helium_3",a:1.25}},powered(){return V(5)},powerBalancer(){return[{s:e.space.spaceport.s_max-e.space.spaceport.support}]},refresh:!0,action(){return _($(this)[0])?(S("spaceport"),L($(this)[0]),e.tech.mars||(e.tech.mars=1),e.race.orbit_decay&&e.race.orbit_decay>e.stats.days+1e3&&(e.race.orbit_decay=e.stats.days+1e3,I(t("evo_challenge_orbit_decayed_accelerated",[e.race.orbit_decay-e.stats.days]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["spaceport","space"]}}},red_tower:{id:"space-red_tower",title:t("space_red_tower_title"),desc(){return`
${t("space_red_tower_desc")}
${t("requires_power")}
`},reqs:{mars:3},cost:{Money(r){return f("red_tower",r,225e3,1.28)},Iron(r){return f("red_tower",r,22e3,1.28)},Cement(r){return f("red_tower",r,15e3,1.28)},Alloy(r){return f("red_tower",r,8e3,1.28)}},effect(){return`
${t("space_red_spaceport_effect1",[A().red,e.race.cataclysm||e.race.fasting?2:1])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(2)},powerBalancer(){return[{s:e.space.spaceport.s_max-e.space.spaceport.support}]},support(){return e.race.cataclysm||e.race.fasting?2:1},action(){return _($(this)[0])?(S("red_tower"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["red_tower","space"]}}},captive_housing:zt("captive_housing","space"),terraformer:{id:"space-terraformer",title:t("space_terraformer"),desc(r){return!e.space.hasOwnProperty("terraformer")||e.space.terraformer.count<100||r?`
${t("space_terraformer")}
${t("requires_segments",[100])}
`+(e.space.hasOwnProperty("terraformer")&&e.space.terraformer.count>=100?`
${t("requires_power")}
`:""):`
${t("space_terraformer")}
`},reqs:{terraforming:1},condition(){return!(e.space.terraformer.count>=100)},queue_size:5,queue_complete(){return 100-e.space.terraformer.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?75e5:75e6:0},Alloy(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?25e4:75e4:0},Neutronium(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?125e3:0},Elerium(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?1e3:0},Bolognium(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?0:1e5:0},Orichalcum(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?12e3:25e4:0},Soul_Gem(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?0:1:0},Nanoweave(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100?e.race.truepath?0:75e3:0},Quantium(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100&&e.race.truepath?75e3:0},Cipher(r){return(r||0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0)<100&&e.race.truepath?1e3:0}},effect(r){let a=(r?.count??0)+(e.space.hasOwnProperty("terraformer")?e.space.terraformer.count:0);if(a<100){let i=100-a;return`
${t("space_terraformer_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return Le.spc_red.atmo_terraformer.effect(r)},action(){return _($(this)[0])&&e.space.terraformer.count<100?(S("terraformer","space"),e.space.terraformer.count>=100&&(e.tech.terraforming=2,e.space.atmo_terraformer={count:1,on:0},St(),ue()),!0):!1},struct(){return{d:{count:0},p:["terraformer","space"]}}},atmo_terraformer:{id:"space-atmo_terraformer",title:t("space_terraformer"),desc(){return`
${t("space_terraformer")}
${t("requires_power")}
`},wiki:!1,reqs:{terraforming:2},condition(){return e.space.terraformer.count>=100},queue_complete(){return 0},cost:{},powered(r){return V((r?r.truepath:e.race.truepath)?500:5e3)},postPower(r){r?setTimeout(function(){e.tech.terraforming=H.atmo_terraformer?3:2,St()},250):(e.tech.terraforming=2,St())},effect(r){let a=ho(),i=$(this)[0].powered(r),s=i>0?`
${t("minus_power",[i])}
`:"";return`
${t("space_terraformer_effect2")}
${a}${s}`},action(){return!1}},terraform:{id:"space-terraform",title:t("space_terraform"),desc:t("space_terraform"),reqs:{terraforming:3},queue_complete(){return 0},no_multi:!0,cost:{},effect(){let r=ho();return`
${t("space_terraform_effect")}
${r}`},action(){return _($(this)[0])?(Dn(),!0):!1}},assembly:zt("assembly","space"),living_quarters:{id:"space-living_quarters",title(){return ke("halloween").active?t("events_halloween_red_housing"):t("space_red_living_quarters_title")},desc(){return`
${t("space_red_living_quarters_desc")}
${t("space_support",[A().red])}
`},reqs:{mars:1},cost:{Money(r){return f("living_quarters",r,Hn(38e3),1.28)},Steel(r){return f("living_quarters",r,Hn(15e3),1.28)},Polymer(r){return f("living_quarters",r,Hn(9500),1.28)},Horseshoe(){return e.race.hooved?2:0}},effect(r){let a=$(this)[0].citizens(r),i="";if(e.race.cataclysm||e.race.orbit_decayed){let s=G(e.tech.home_safe>=2?e.tech.home_safe>=3?"100000":"50000":"25000");i=`
${t("plus_max_resource",[`$${s}`,t("resource_Money_name")])}
`}return`
${t("space_used_support",[A().red])}
${i}
${t("plus_max_resource",[E(1),e.race.truepath?t("job_colonist_tp",[A().red]):t("colonist")])}
${t("plus_max_resource",[a,t("citizen")])}
`},s_type:"red",support(){return-1},powered(){return 0},action(){if(_($(this)[0])){if(S("living_quarters"),e.civic.colonist.display=!0,L($(this)[0])){e.resource[e.race.species].max+=E(1);let r=E(1);e.civic.colonist.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.colonist.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["living_quarters","space"]}},citizens(r){let a=e.race.cataclysm||e.race.orbit_decayed?2:1,i=r?e.space?.biodome?.on??0:be.biodome;if(i){let s=e.tech.mars>=6?.1:.05;a+=s*i}return+E(a).toFixed(2)}},pylon:{id:"space-pylon",title:t("space_red_pylon"),desc:t("space_red_pylon"),reqs:{magic:2},condition(){return!!(e.race.cataclysm||e.race.orbit_decayed)},cost:{Money(r){return f("pylon",r,10,1.48)},Stone(r){return f("pylon",r,12,1.42)},Crystal(r){return f("pylon",r,8,1.42)-3}},effect(){let r=G(2),a=+(.005*Me("magic")).toFixed(3);return`
${t("gain",[a,e.resource.Mana.name])}
${t("plus_max_resource",[r,e.resource.Mana.name])}
`},special(){return!!(e.tech.magic&&e.tech.magic>=3)},action(){return _($(this)[0])?(S($(this)[0]),e.resource.Mana.max+=G(2),!0):!1},struct(){return{d:{count:0},p:["pylon","space"]}}},vr_center:{id:"space-vr_center",title:t("space_red_vr_center_title"),desc(){return`
${t("space_red_vr_center_desc")}
${t("space_support",[A().red])}
`},reqs:{mars:1,broadcast:3},cost:{Money(r){return f("vr_center",r,38e4,1.25)},Copper(r){return f("vr_center",r,55e3,1.25)},Stanene(r){return f("vr_center",r,1e5,1.25)},Soul_Gem(r){return f("vr_center",r,1,1.25)}},effect(){let r=Q("gaslighter",1),a=r?r+1:1;return e.race.orbit_decayed&&(a+=2),`
${t("space_used_support",[A().red])}
${t("space_red_vr_center_effect1",[a])}
${t("space_red_vr_center_effect2",[2])}
`},s_type:"red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S($(this)[0]),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["vr_center","space"]}}},garage:{id:"space-garage",title:t("space_red_garage_title"),desc(){return`
${t("space_red_garage_desc")}
`},reqs:{mars:1},cost:{Money(r){return f("garage",r,75e3,1.28)},Iron(r){return f("garage",r,12e3,1.28)},Brick(r){return f("garage",r,3e3,1.28)},Sheet_Metal(r){return f("garage",r,1500,1.28)}},wide:!0,res(){let r=["Copper","Iron","Cement","Steel","Titanium","Alloy","Nano_Tube","Neutronium","Infernite"];return(e.race.cataclysm||e.race.orbit_decayed)&&(r.push("Polymer"),r.push("Coal"),r.push("Lumber"),r.push("Chrysotile"),r.push("Stone"),r.push("Furs")),r},heavy(r){return!!["Copper","Iron","Steel","Titanium","Neutronium","Infernite"].includes(r)},val(r){switch(r){case"Copper":return 6500;case"Iron":return 5500;case"Cement":return e.race.cataclysm?10500:6e3;case"Steel":return 4500;case"Titanium":return 3500;case"Alloy":return 2500;case"Nano_Tube":return 25e3;case"Neutronium":return 125;case"Infernite":return 75;case"Polymer":return 2500;case"Coal":return 1500;case"Lumber":return 7500;case"Chrysotile":return 7500;case"Stone":return 7500;case"Furs":return 2200;default:return 0}},multiplier(r){let a=e.tech.particles>=4?1+e.tech.supercollider/20:1;return(e.tech.world_control||e.race.cataclysm||e.race.orbit_decayed)&&(a*=2),e.tech.shelving&&e.tech.shelving>=3&&(a*=1.5),a*=e.stats.achieve.blackhole?1+e.stats.achieve.blackhole.l*.05:1,r&&e.tech.shelving&&e.tech.shelving>=2?a*3:a},effect(){let r=$(this)[0].multiplier(!1),a=$(this)[0].multiplier(!0),i=e.tech.particles>=4?20+e.tech.supercollider:20;(e.tech.world_control||e.race.cataclysm||e.race.orbit_decayed)&&(i+=10);let s=e.race.cataclysm||e.race.orbit_decayed?`${t("plus_max_resource",[i,t("resource_Crates_name")])}`:"",n='
';n=n+`${t("plus_max_resource",[i,t("resource_Containers_name")])}${s}`;for(let c of $(this)[0].res())if(e.resource[c].display){let o=$(this)[0].heavy(c),l=X(+(G($(this)[0].val(c))*(o?a:r)).toFixed(0),1);n=n+`${t("plus_max_resource",[l,e.resource[c].name])}`}return n=n+"
",n},action(){if(_($(this)[0])){S("garage");let r=e.tech.particles>=4?20+e.tech.supercollider:20;(e.tech.world_control||e.race.cataclysm||e.race.orbit_decayed)&&(r+=10),e.resource.Containers.max+=r,e.resource.Containers.display||wr();let a=$(this)[0].multiplier(!1),i=$(this)[0].multiplier(!0);for(let s of $(this)[0].res())if(e.resource[s].display){let n=$(this)[0].heavy(s);e.resource[s].max+=G($(this)[0].val(s))*(n?i:a)}return!0}return!1},struct(){return{d:{count:0},p:["garage","space"]}}},red_mine:{id:"space-red_mine",title(){return Ce("mine")},desc(){return`
${t("space_red_mine_desc")}
${t("space_support",[A().red])}
`},reqs:{mars:1},cost:{Money(r){return f("red_mine",r,5e4,1.32)},Lumber(r){return f("red_mine",r,65e3,1.32)},Iron(r){return f("red_mine",r,33e3,1.32)}},effect(){let r=ie("red_mine","copper"),a=ie("red_mine","titanium"),i=+r.b.toFixed(3),s=+a.b.toFixed(3),n="";e.race.truepath&&(e.civic.foreign.gov3.hstl<10?n=`
${t("space_rival_ally",[+(r.g*100).toFixed(1)])}
`:e.civic.foreign.gov3.hstl>60&&(n=`
${t("space_rival_war",[+(r.g*100).toFixed(1)])}
`));let c=e.race.orbit_decayed?`
${t("plus_max_resource",[E(1),t("job_miner")])}
${t("plus_max_resource",[E(1),t("job_coal_miner")])}
`:"",o=(e.race.cataclysm||e.race.orbit_decayed)&&!e.race.sappy?`
${t("space_red_mine_effect",[+ie("red_mine","stone").toFixed(2),e.resource.Stone.name])}
`:"",l=(e.race.cataclysm||e.race.orbit_decayed)&&e.race.smoldering?`
${t("space_red_mine_effect",[+ie("red_mine","asbestos").toFixed(2),e.resource.Chrysotile.name])}
`:"",u=e.race.cataclysm||e.race.orbit_decayed?`
${t("space_red_mine_effect",[+ie("red_mine","aluminium").toFixed(2),e.resource.Aluminium.name])}
`:"";return`
${t("space_used_support",[A().red])}
${c}
${t("space_red_mine_effect",[i,e.resource.Copper.name])}
${t("space_red_mine_effect",[s,e.resource.Titanium.name])}
${n}${l}${o}${u}`},s_type:"red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("red_mine"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["red_mine","space"]}}},fabrication:{id:"space-fabrication",title:t("space_red_fabrication_title"),desc(){return`
${t("space_red_fabrication_desc")}
${t("space_support",[A().red])}
`},reqs:{mars:1},cost:{Money(r){return f("fabrication",r,9e4,1.32)},Copper(r){return f("fabrication",r,25e3,1.32)},Cement(r){return f("fabrication",r,12e3,1.32)},Wrought_Iron(r){return f("fabrication",r,1200,1.32)}},effect(){let r=e.race.cataclysm&&!e.race.flier?`
${t("plus_max_resource",[E(1),t("job_cement_worker")])}
`:"",a=e.race.cataclysm||e.race.orbit_decayed?5:2;return e.race.high_pop&&(a=he(a)),`
${t("space_used_support",[A().red])}
${t("space_red_fabrication_effect1",[E(1)])}
${r}
${t("space_red_fabrication_effect2",[a])}
`},s_type:"red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("fabrication"),L($(this)[0])&&(e.civic.craftsman.max+=E(1)),!0):!1},struct(){return{d:{count:0,on:0},p:["fabrication","space"]}}},red_factory:{id:"space-red_factory",title(){return Ce("factory")},desc(){return`
${t("space_red_factory_desc")}
${t("requires_power_combo",[e.resource.Helium_3.name])}
`},reqs:{mars:4},cost:{Money(r){return f("red_factory",r,75e3,1.32)},Brick(r){return f("red_factory",r,1e4,1.32)},Coal(r){return f("red_factory",r,7500,1.32)},Mythril(r){return f("red_factory",r,50,1.32)}},effect(r){let a=`
${t("space_red_factory_effect1")}
`;e.tech.foundry>=7&&(a=a+`
${t("space_red_factory_effect2")}
`),e.race.orbit_decayed&&!e.race.flier&&(a=a+`
${t("plus_max_resource",[E(1),t("job_cement_worker")])}
`);let i=+ve(1,!0,r).toFixed(2);return a=a+`
${t("space_red_factory_effect3",[i,$(this)[0].powered()])}
`,a},powered(){return V(3)},special:!0,action(){return _($(this)[0])?(e.space.red_factory.count++,L($(this)[0])&&e.city.factory.Alloy++,e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,on:0},p:["red_factory","space"]}}},nanite_factory:zt("nanite_factory","space"),biodome:{id:"space-biodome",title(){return e.race.artifical?t("space_red_signal_tower_title"):e.race.soul_eater?t("space_red_asphodel_title"):t("space_red_biodome_title")},desc(){let r;return e.race.artifical?r=`
${t("space_red_signal_tower_title")}
`:e.race.soul_eater?r=`
${t("space_red_asphodel_desc")}
`:e.race.carnivore?r=`
${t("space_red_biodome_desc_carn")}
`:r=`
${t("space_red_biodome_desc",[A().red])}
`,`
${r}
${t("space_support",[A().red])}
`},reqs:{mars:2},cost:{Money(r){return f("biodome",r,45e3,1.28)},Lumber(r){return f("biodome",r,65e3,1.28)},Brick(r){return f("biodome",r,1e3,1.28)},Nanite(r){return e.race.deconstructor?f("biodome",r,75,1.28):0}},effect(){let r=+ie("biodome","food").toFixed(2),a=e.race.cataclysm||e.race.orbit_decayed?`
${t("produce",[+ie("biodome","cat_food").toFixed(2),e.resource.Food.name])}
`:"",i=(e.race.cataclysm||e.race.orbit_decayed)&&!e.race.kindling_kindred&&!e.race.smoldering?`
${t("space_red_mine_effect",[+ie("biodome","lumber").toFixed(2),e.resource.Lumber.name])}
`:"",s=e.tech.mars>=6?.1:.05,n=e.race.artifical?t("city_transmitter_effect",[G(500)]):t("plus_max_resource",[G(100),t("resource_Food_name")]),c=e.race.artifical||e.race.orbit_decayed?`
${n}${t("space_used_support",[A().red])}
${a}
${t("space_red_biodome_effect",[r,e.resource.Food.name])}
${t("space_red_biodome_effect2",[+E(s).toFixed(2)])}
${i}${c}`},s_type:"red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("biodome"),e.race.cataclysm||(B("colonist"),e.race.joyless&&(B("joyless"),delete e.race.joyless,ae())),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["biodome","space"]}},flair(){return e.race.artifical?t("space_red_signal_tower_flair"):e.race.soul_eater?t("space_red_asphodel_flair"):e.race.carnivore?t("space_red_biodome_flair_carn"):t("space_red_biodome_flair")}},red_university:{id:"space-red_university",title:t("city_university"),desc(){return t("city_university_desc",[A().red])},reqs:{mars:1},trait:["orbit_decayed"],cost:{Money(r){return f("university",r,900,1.5,"city")-500},Lumber(r){return f("university",r,500,1.36,"city")-200},Stone(r){return f("university",r,750,1.36,"city")-350},Crystal(r){return e.race.universe==="magic"?f("university",r,5,1.36,"city"):0}},wiki:!1,effect(){return m.city.university.effect()},action(){if(_($(this)[0])){let r=e.tech.science&&e.tech.science>=8?700:500;if(e.tech.supercollider){let a=e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/a+1}return e.resource.Knowledge.max+=r,e.city.university.count++,e.space.red_university.count=e.city.university.count,e.civic.professor.display=!0,e.civic.professor.max=E(e.city.university.count),!0}return!1}},exotic_lab:{id:"space-exotic_lab",title:t("space_red_exotic_lab_title"),desc(){return`
${t("space_red_exotic_lab_desc")}
${t("space_support",[A().red])}
`},reqs:{mars:5},cost:{Money(r){return f("exotic_lab",r,75e4,1.28)},Steel(r){return f("exotic_lab",r,1e5,1.28)},Mythril(r){return f("exotic_lab",r,1e3,1.28)},Elerium(r){return f("exotic_lab",r,20,1.28)-4}},effect(r){let a=500;if(e.tech.science>=13&&e.interstellar.laboratory){let o=r?e.interstellar.laboratory.on:kn.laboratory;a+=o*25}e.tech.ancient_study&&e.tech.ancient_study>=2&&(a+=e.space.ziggurat.count*15);let i=r?e.city?.mass_driver?.on??0:H.mass_driver;e.tech.mass>=2&&i>0&&(a+=he(i*e.civic.scientist.workers)),e.tech.science>=21&&(a*=1.45),e.race.high_pop&&(a=he(a));let s=G(10),n="",c="";return(e.race.cataclysm||e.race.orbit_decayed)&&(n=`
${t("city_wardenclyffe_effect1",[E(1),e.civic.scientist.name])}
`,a*=1+(r?e.space.observatory.on:be.observatory)*.25,e.tech.science>=15&&(c=`
${t("city_wardenclyffe_effect4",[2])}
`)),`
${t("space_used_support",[A().red])}
${n}${c}
${t("space_red_exotic_lab_effect1",[+a.toFixed(0)])}
${t("plus_max_resource",[s,t("resource_Elerium_name")])}
`},s_type:"red",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("exotic_lab"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["exotic_lab","space"]}},flair(){return`
${t("space_red_exotic_lab_flair1")}
${t("space_red_exotic_lab_flair2")}
`}},ziggurat:{id:"space-ziggurat",title:t("space_red_ziggurat_title"),desc(){let r=e.race.old_gods!=="none"?x[e.race.old_gods.toLowerCase()].entity:x[e.race.species].entity;return`
${t("space_red_ziggurat_desc",[r])}
`},reqs:{theology:4},cost:{Money(r){return f("ziggurat",r,6e5,1.28)},Stone(r){return f("ziggurat",r,25e4,1.28)},Aluminium(r){return f("ziggurat",r,7e4,1.28)},Mythril(r){return f("ziggurat",r,250,1.28)}},effect(r){let a=e.tech.ancient_study?.6:.4,i=r?e.space?.exotic_lab?.on??0:be.exotic_lab;if(e.tech.ancient_deify&&e.tech.ancient_deify>=2&&i&&(a+=.01*i),e.civic.govern.type==="theocracy"&&e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display){let c=.002;e.race.high_pop&&(c=he(c)),a+=c*e.civic.priest.workers}e.race.ooze&&(a*=1-v.ooze.vars()[1]/100),e.race.high_pop&&(a=he(a)),a=+a.toFixed(2);let s=e.race.truepath?[a,x[e.race.species].home]:[a],n=`
${t(e.race.truepath?"space_red_ziggurat_effect_tp":"space_red_ziggurat_effect",s)}
`;return e.tech.ancient_study&&e.tech.ancient_study>=2&&(n=n+`
${t("interstellar_laboratory_effect",[3])}
`),(e.race.cataclysm||e.race.orbit_decayed)&&(n=n+Qn()),e.genes.ancients&&e.genes.ancients>=4&&(n=n+`
${t("plus_max_resource",[E(1),t("job_priest")])}
`),n},action(){return _($(this)[0])?(S("ziggurat"),e.genes.ancients&&e.genes.ancients>=4&&(e.civic.priest.display=!0,e.civic.priest.max+=E(1)),e.race.cataclysm&&B("iron_will",!1,1),!0):!1},struct(){return{d:{count:0},p:["ziggurat","space"]}}},space_barracks:{id:"space-space_barracks",title:t("space_red_space_barracks_title"),desc(){return`
${t("space_red_space_barracks_desc")}
${t("space_red_space_barracks_desc_req")}
`},reqs:{marines:1},cost:{Money(r){return f("space_barracks",r,35e4,1.28)},Alloy(r){return f("space_barracks",r,65e3,1.28)},Iridium(r){return f("space_barracks",r,22500,1.28)},Wrought_Iron(r){return f("space_barracks",r,12500,1.28)},Horseshoe(){return e.race.hooved?2:0}},effect(r){let a=e.race.orbit_decayed?m.city.boot_camp.effect():"",i=+ve(2,!0,r).toFixed(2),s=$(this)[0].soldiers(),n=e.race.cataclysm?"":`
${t("space_red_space_barracks_effect3",[e.resource.Food.name])}
`;return`
${t("plus_max_soldiers",[s])}
${a}
${t("space_red_space_barracks_effect2",[i])}
${n}`},powered(){return 0},action(){return _($(this)[0])?(S("space_barracks"),e.space.space_barracks.on++,!0):!1},soldiers(){let r=e.tech.marines>=2?4:2;return e.race.grenadier&&(r/=2),E(r)},struct(){return{d:{count:0,on:0},p:["space_barracks","space"]}},flair(){return t("space_red_space_barracks_flair")}},wonder_statue:{id:"space-wonder_statue",title(){return t("space_wonder_statue",[A().red])},desc(){return t("space_wonder_statue",[A().red])},reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.space.wonder_statue)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}},bonfire:zt("bonfire","space"),horseshoe:zt("horseshoe","space")},spc_hell:{info:{name(){return A().hell},desc(){return t("space_hell_info_desc",[A().hell])},zone:"inner",syndicate(){return!1}},hell_mission:{id:"space-hell_mission",title(){return t("space_mission_title",[A().hell])},desc(){return t("space_mission_desc",[A().hell])},reqs:{space:3,space_explore:3},grant:["hell",1],queue_complete(){return e.tech.hell>=1?0:1},cost:{Helium_3(r,a){return+ve(6500,!1,a).toFixed(0)}},effect(){return t("space_hell_mission_effect1",[A().hell])},action(){return _($(this)[0])?(I(t("space_hell_mission_action",[A().hell]),"info",!1,["progress"]),y(Le.spc_hell.geothermal),!0):!1}},geothermal:{id:"space-geothermal",title:t("space_hell_geothermal_title"),desc(){return`
${t("space_hell_geothermal_desc")}
${t("space_hell_geothermal_desc_req")}
`},reqs:{hell:1},cost:{Money(r){return f("geothermal",r,38e3,1.35)},Steel(r){return f("geothermal",r,15e3,1.35)},Polymer(r){return f("geothermal",r,9500,1.35)}},effect(r){let a=+ve($(this)[0].p_fuel().a,!0,r).toFixed(2);return`${e.race.cataclysm||e.race.orbit_decayed?`
${t("interstellar_stellar_forge_effect3",[1])}
`:""}${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}, ${t("space_belt_station_effect3",[a])}`},special(){return!!(e.race.cataclysm||e.race.orbit_decayed)},powered(){let r=-8;return e.race.forge&&(r-=v.forge.vars()[0]),e.stats.achieve.failed_history&&e.stats.achieve.failed_history.l>=5&&(r-=2),nt(r)},p_fuel(){return{r:"Helium_3",a:.5}},action(){return _($(this)[0])?(S("geothermal"),e.space.geothermal.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["geothermal","space"]}}},hell_smelter:{id:"space-hell_smelter",title(){return t("space_hell_smelter_title",[A().hell])},desc(){return t("space_hell_smelter_title",[A().hell])},reqs:{hell:1,m_smelting:1},path:["truepath"],cost:{Money(r){return f("hell_smelter",r,25e4,1.24)},Adamantite(r){return f("hell_smelter",r,15e3,1.24)}},effect(){return`
${t("interstellar_stellar_forge_effect3",[2])}
`},special:!0,action(){return _($(this)[0])?(S("hell_smelter"),e.city.smelter.cap+=2,e.city.smelter.Steel+=2,e.city.smelter.Oil+=2,!0):!1},struct(){return{d:{count:0},p:["hell_smelter","space"]}}},spc_casino:{id:"space-spc_casino",title(){return Ce("casino")},desc(){return Ce("casino")},category:"commercial",reqs:{hell:1,gambling:1},condition(){return!!(e.race.cataclysm||e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=5)},cost:{Money(r){return f("spc_casino",r,ee("untrustworthy",4e5),1.35)},Furs(r){return f("spc_casino",r,ee("untrustworthy",75e3),1.35)},Cement(r){return f("spc_casino",r,ee("untrustworthy",1e5),1.35)},Plywood(r){return f("spc_casino",r,ee("untrustworthy",2e4),1.35)}},effect(){let r=Gi();return r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=2?2:3)},action(){return _($(this)[0])?(e.space.spc_casino.count++,e.race.joyless||(e.civic.entertainer.max+=E(1),e.civic.entertainer.display=!0),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["spc_casino","space"]}},flair:t("city_casino_flair")},swarm_plant:{id:"space-swarm_plant",title:t("space_hell_swarm_plant_title"),desc(){return`
${t("space_hell_swarm_plant_desc")}
`},reqs:{solar:4,hell:1},cost:{Money(r,a){return f("swarm_plant",r,Xi(75e3,a),1.28)},Iron(r,a){return f("swarm_plant",r,Xi(65e3,a),1.28)},Neutronium(r,a){return f("swarm_plant",r,Xi(75,a),1.28)},Brick(r,a){return f("swarm_plant",r,Xi(2500,a),1.28)},Mythril(r,a){return f("swarm_plant",r,Xi(100,a),1.28)}},effect(r){let a=e.tech.swarm?.88:.94;return e.tech.swarm>=3&&(a-=Cr(r)/100),a<.05&&(a=.05),a=+((1-a)*100).toFixed(2),t("space_hell_swarm_plant_effect1",[a])},action(){return _($(this)[0])?(S("swarm_plant"),!0):!1},struct(){return{d:{count:0},p:["swarm_plant","space"]}}},firework:zt("firework","space")},spc_sun:{info:{name(){return t("space_sun_info_name")},desc(){return t("space_sun_info_desc",[x[e.race.species].home])},support:"swarm_control",zone:"inner",syndicate(){return!1}},sun_mission:{id:"space-sun_mission",title(){return t("space_sun_mission_title")},desc(){return t("space_sun_mission_desc")},reqs:{space_explore:4},grant:["solar",1],queue_complete(){return e.tech.solar>=1?0:1},cost:{Helium_3(r,a){return+ve(15e3,!1,a).toFixed(0)}},effect(){return t("space_sun_mission_effect1")},action(){return!!_($(this)[0])}},swarm_control:{id:"space-swarm_control",title:t("space_sun_swarm_control_title"),desc(){return`
${t("space_sun_swarm_control_desc")}
`},reqs:{solar:3},cost:{Money(r){return f("swarm_control",r,1e5,1.3)},Knowledge(r){return f("swarm_control",r,6e4,1.3)},Alloy(r){return f("swarm_control",r,7500,1.3)},Helium_3(r,a){return f("swarm_control",r,ve(2e3,!1,a),1.3)},Mythril(r){return f("swarm_control",r,250,1.3)}},effect(r){return t("space_sun_swarm_control_effect1",[$(this)[0].support(r)])},support(r){return e.tech.swarm&&e.tech.swarm>=2?e.tech.high_tech>=11?11+Math.round(Cr(r)):12:10},action(){return _($(this)[0])?(S("swarm_control"),e.space.swarm_control.s_max+=$(this)[0].support(),!0):!1},struct(){return{d:{count:0,support:0,s_max:0},p:["swarm_control","space"]}}},swarm_satellite:{id:"space-swarm_satellite",title:t("space_sun_swarm_satellite_title"),desc(){return`
${t("space_sun_swarm_satellite_desc")}
${t("space_sun_swarm_satellite_desc_req")}
`},reqs:{solar:3},cost:{Money(r,a){return f("swarm_satellite",r,Ts(5e3,a),1.1)},Copper(r,a){return f("swarm_satellite",r,Ts(2500,a),1.1)},Iridium(r,a){return f("swarm_satellite",r,Ts(150,a),1.1)},Helium_3(r,a){return f("swarm_satellite",r,Ts(ve(50,!1,a),a),1.1)}},effect(){let r=.35;return e.tech.swarm>=4&&(r+=.15*(e.tech.swarm-3)),e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=1&&(r+=.15),e.blood.illuminate&&(r+=.01*e.blood.illuminate),r=+r.toFixed(2),`${t("space_dwarf_reactor_effect1",[nt(r)])}, ${t("space_sun_swarm_satellite_effect1",[1])}`},support(){return-1},action(){return _($(this)[0])?(S("swarm_satellite"),e.space.swarm_control.support++,!0):!1},struct(){return{d:{count:0},p:["swarm_satellite","space"]}}},jump_gate:{id:"space-jump_gate",title:t("tau_jump_gate"),desc(r){return!e.space.hasOwnProperty("jump_gate")||e.space.jump_gate.count<100||r?`
${t("tau_jump_gate")}
${t("requires_segments",[100])}
`:`
${t("tau_jump_gate")}
`},reqs:{tauceti:3},path:["truepath"],queue_size:10,queue_complete(){return 100-e.space.jump_gate.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?1e6:0},Alloy(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?5e4:0},Adamantite(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?12500:0},Graphene(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?42e3:0},Orichalcum(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?35e3:0},Quantium(r){return(r||0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0)<100?25e3:0}},effect(r){let a=(r?.count??0)+(e.space.hasOwnProperty("jump_gate")?e.space.jump_gate.count:0);if(a<100){let i=100-a;return`
${t("tau_jump_gate_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return t("tau_jump_gate_effect")},action(){return _($(this)[0])&&e.space.jump_gate.count<100?(e.space.jump_gate.count++,!0):!1},struct(){return{d:{count:0},p:["jump_gate","space"]}}}},spc_gas:{info:{name(){return A().gas},desc(){return t("space_gas_info_desc",[A().gas,x[e.race.species].home])},zone:"outer",syndicate(){return!0}},gas_mission:{id:"space-gas_mission",title(){return t("space_mission_title",[A().gas])},desc(){return t("space_mission_desc",[A().gas])},reqs:{space:4,space_explore:4},grant:["space",5],queue_complete(){return e.tech.space>=5?0:1},cost:{Helium_3(r,a){return+ve(12500,!1,a).toFixed(0)}},effect(){return t("space_gas_mission_effect",[A().gas])},action(){return _($(this)[0])?(I(t("space_gas_mission_action",[A().gas]),"info",!1,["progress"]),e.settings.space.gas_moon=!0,e.settings.space.belt=!0,y(Le.spc_belt.space_station),!0):!1}},gas_mining:{id:"space-gas_mining",title:t("space_gas_mining_title"),desc(){return`
${t("space_gas_mining_desc")}
${t("requires_power")}
`},reqs:{gas_giant:1},cost:{Money(r){return f("gas_mining",r,25e4,1.32)},Uranium(r){return f("gas_mining",r,500,1.32)},Alloy(r){return f("gas_mining",r,1e4,1.32)},Helium_3(r,a){return f("gas_mining",r,ve(2500,!1,a),1.32)},Mythril(r){return f("gas_mining",r,25,1.32)}},effect(){let r=+ie("gas_mining").toFixed(2);return`
${t("space_gas_mining_effect1",[r])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(2)},action(){return _($(this)[0])?(S("gas_mining"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["gas_mining","space"]}}},gas_storage:{id:"space-gas_storage",title(){return t("space_gas_storage_title",[A().gas])},desc(){return`
${t("space_gas_storage_desc")}
`},reqs:{gas_giant:1},cost:{Money(r){return f("gas_storage",r,125e3,1.32)},Iridium(r){return f("gas_storage",r,3e3,1.32)},Sheet_Metal(r){return f("gas_storage",r,2e3,1.32)},Helium_3(r,a){return f("gas_storage",r,ve(1e3,!1,a),1.32)}},effect(){let r=G(3500)*(e.tech.world_control?1.5:1),a=G(2500)*(e.tech.world_control?1.5:1),i=G(1e3)*(e.tech.world_control?1.5:1);return`
${t("plus_max_resource",[r,t("resource_Oil_name")])}
${t("plus_max_resource",[a,t("resource_Helium_3_name")])}
${t("plus_max_resource",[i,t("resource_Uranium_name")])}
`},action(){return _($(this)[0])?(S("gas_storage"),!0):!1},struct(){return{d:{count:0},p:["gas_storage","space"]}}},star_dock:{id:"space-star_dock",title(){return t("space_gas_star_dock_title")},desc(){return`
${t("space_gas_star_dock_title")}
${t("space_gas_star_dock_desc_req")}
`},reqs:{genesis:3},queue_complete(){return 1-e.space.star_dock.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("star_dock")?e.space.star_dock.count:0)===0?15e5:0},Steel(r){return(r||0)+(e.space.hasOwnProperty("star_dock")?e.space.star_dock.count:0)===0?5e5:0},Helium_3(r,a){return(r||0)+(e.space.hasOwnProperty("star_dock")?e.space.star_dock.count:0)===0?Math.round(ve(e.race.gravity_well?25e3:1e4,!1,a)):0},Nano_Tube(r){return(r||0)+(e.space.hasOwnProperty("star_dock")?e.space.star_dock.count:0)===0?25e4:0},Mythril(r){return(r||0)+(e.space.hasOwnProperty("star_dock")?e.space.star_dock.count:0)===0?1e4:0}},effect(){return`
${t("space_gas_star_dock_effect1")}
`},special:!0,action(){return e.space.star_dock.count===0&&_($(this)[0])?(S("star_dock"),!0):!1},struct(){return{d:{count:0,ship:0,probe:0,template:e.race.species},p:["star_dock","space"]}}}},spc_gas_moon:{info:{name(){return A().gas_moon},desc(){return t("space_gas_moon_info_desc",[A().gas_moon,A().gas])},zone:"outer",syndicate(){return!0}},gas_moon_mission:{id:"space-gas_moon_mission",title(){return t("space_mission_title",[A().gas_moon])},desc(){return t("space_mission_desc",[A().gas_moon])},reqs:{space:5},grant:["space",6],queue_complete(){return e.tech.space>=6?0:1},cost:{Helium_3(r,a){return+ve(3e4,!1,a).toFixed(0)}},effect(){return t("space_gas_moon_mission_effect",[A().gas_moon])},action(){return _($(this)[0])?(I(t("space_gas_moon_mission_action",[A().gas_moon]),"info",!1,["progress"]),y(Le.spc_gas_moon.outpost),e.tech.gas_moon=1,!0):!1}},outpost:{id:"space-outpost",title:t("space_gas_moon_outpost_title"),desc(){return`
${t("space_gas_moon_outpost_desc")}
${t("requires_power_combo",[e.resource.Oil.name])}
`},reqs:{gas_moon:1},cost:{Money(r){return f("outpost",r,666e3,1.3)},Titanium(r){return f("outpost",r,18e3,1.3)},Iridium(r){return f("outpost",r,2500,1.3)},Helium_3(r,a){return f("outpost",r,ve(6e3,!1,a),1.3)},Mythril(r){return f("outpost",r,300,1.3)}},effect(r){let a=+ie("outpost").toFixed(3),i=G(500),s=+ve(2,!0,r).toFixed(2);return`
${t("space_gas_moon_outpost_effect1",[a])}
${t("plus_max_resource",[i,t("resource_Neutronium_name")])}
${t("space_gas_moon_outpost_effect3",[s,$(this)[0].powered()])}
`},powered(){return V(3)},powerBalancer(){return[{r:"Neutronium",k:"lpmod"}]},action(){return _($(this)[0])?(S("outpost"),e.resource.Neutronium.display=!0,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["outpost","space"]}}},drone:{id:"space-drone",title:t("space_gas_moon_drone_title"),desc(){return`
${t("space_gas_moon_drone_desc")}
`},reqs:{gas_moon:1,drone:1},cost:{Money(r){return f("drone",r,25e4,1.3)},Steel(r){return f("drone",r,2e4,1.3)},Neutronium(r){return f("drone",r,500,1.3)},Elerium(r){return f("drone",r,25,1.3)},Nano_Tube(r){return f("drone",r,45e3,1.3)}},effect(){let r=e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=3?12:6;return`
${t("space_gas_moon_drone_effect1",[r])}
`},action(){return _($(this)[0])?(S("drone"),!0):!1},struct(){return{d:{count:0},p:["drone","space"]}}},oil_extractor:{id:"space-oil_extractor",title:t("space_gas_moon_oil_extractor_title"),desc(){return`
${t("space_gas_moon_oil_extractor_title")}
${t("requires_power")}
`},reqs:{gas_moon:2},cost:{Money(r){return f("oil_extractor",r,666e3,1.3)},Polymer(r){return f("oil_extractor",r,7500,1.3)},Helium_3(r,a){return f("oil_extractor",r,ve(2500,!1,a),1.3)},Wrought_Iron(r){return f("oil_extractor",r,5e3,1.3)}},effect(){let r=+ie("oil_extractor").toFixed(2),a=`
${t("space_gas_moon_oil_extractor_effect1",[r])}
`;if(e.race.blubber&&e.city.hasOwnProperty("oil_well")){let i=e.city.oil_well.count+(e.space.oil_extractor?e.space.oil_extractor.count:0);a+=`
${t("city_oil_well_bodies",[+e.city.oil_well.dead.toFixed(1),50*i])}
`,a+=`
${t("city_oil_well_consume",[v.blubber.vars()[0]])}
`}return a+=`
${t("minus_power",[$(this)[0].powered()])}
`,a},powered(){return V(1)},powerBalancer(){return[{r:"Oil",k:"lpmod"}]},action(){return _($(this)[0])?(S("oil_extractor"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["oil_extractor","space"]}}}},spc_belt:{info:{name(){return t("space_belt_info_name")},desc(){return e.space.space_station&&e.space.space_station.count>0?`
${t("space_belt_info_desc",[A().red,A().gas])}
${t("space_belt_info_desc2")}
`:t("space_belt_info_desc",[A().red,A().gas])},support:"space_station",zone:"inner",syndicate(){return!0}},belt_mission:{id:"space-belt_mission",title(){return t("space_belt_mission_title")},desc(){return t("space_belt_mission_desc")},reqs:{space:5},grant:["asteroid",1],queue_complete(){return e.tech.asteroid>=1?0:1},cost:{Helium_3(r,a){return+ve(25e3,!1,a).toFixed(0)}},effect(){return t("space_belt_mission_effect1")},action(){return _($(this)[0])?(I(t("space_belt_mission_action"),"info",!1,["progress"]),e.settings.space.dwarf=!0,!0):!1}},space_station:{id:"space-space_station",title:t("space_belt_station_title"),desc(){return`
${t("space_belt_station_desc")}
${t("requires_power_space",[e.resource.Food.name])}
`},reqs:{asteroid:2},cost:{Money(r){return f("space_station",r,25e4,1.3)},Iron(r){return f("space_station",r,85e3,1.3)},Polymer(r){return f("space_station",r,18e3,1.3)},Iridium(r){return f("space_station",r,2800,1.28)},Helium_3(r,a){return f("space_station",r,ve(2e3,!1,a),1.3)},Mythril(r){return f("space_station",r,75,1.25)}},effect(r){let a=+ve(2.5,!0,r).toFixed(2),i=e.race.cataclysm?1:10,s=G(5),n=e.tech.asteroid>=5?`
${t("plus_max_resource",[s,t("resource_Elerium_name")])}
`:"";return e.race.fasting?`
${t("plus_max_resource",[E(3),t("job_space_miner")])}
${n}
${t("space_belt_station_effect5",[a,$(this)[0].powered()])}
`:`
${t("plus_max_resource",[E(3),t("job_space_miner")])}
${n}
${t("space_belt_station_effect3",[a])}
${t("space_belt_station_effect4",[i,$(this)[0].powered(),e.resource.Food.name])}
`},support(){return E(3)},powered(){return V(3)},refresh:!0,action(){if(_($(this)[0])){if(S("space_station"),e.civic.space_miner.display=!0,e.tech.asteroid<3&&(e.tech.asteroid=3),L($(this)[0])){let r=E(3);e.civic.space_miner.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.space_miner.workers+=a}return e.race.orbit_decay&&e.race.orbit_decay>e.stats.days+1e3&&(e.race.orbit_decay=e.stats.days+1e3,I(t("evo_challenge_orbit_decayed_accelerated",[e.race.orbit_decay-e.stats.days]),"info",!1,["progress"])),!0}return!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["space_station","space"]}}},elerium_ship:{id:"space-elerium_ship",title:t("space_belt_elerium_ship_title"),desc(){return t("space_belt_elerium_ship_title")},reqs:{asteroid:5},cost:{Money(r){return f("elerium_ship",r,5e5,1.3)},Uranium(r){return f("elerium_ship",r,2500,1.3)},Titanium(r){return f("elerium_ship",r,1e4,1.3)},Mythril(r){return f("elerium_ship",r,500,1.3)},Helium_3(r,a){return f("elerium_ship",r,ve(5e3,!1,a),1.3)}},effect(){let r=+ie("elerium_ship").toFixed(4);return`
${t("space_belt_elerium_ship_effect1",[E(2)])}
${t("space_belt_elerium_ship_effect2",[r])}
`},s_type:"belt",support(){return E(-2)},powered(){return 0},action(){return _($(this)[0])?(S("elerium_ship"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_ship","space"]}}},iridium_ship:{id:"space-iridium_ship",title:t("space_belt_iridium_ship_title"),desc(){return t("space_belt_iridium_ship_title")},reqs:{asteroid:3},cost:{Money(r){return f("iridium_ship",r,12e4,1.3)},Uranium(r){return f("iridium_ship",r,1e3,1.3)},Alloy(r){return f("iridium_ship",r,48e3,1.3)},Iridium(r){return f("iridium_ship",r,2800,1.3)},Helium_3(r,a){return f("iridium_ship",r,ve(1800,!1,a),1.3)}},effect(){let r=+ie("iridium_ship").toFixed(3);return`
${t("space_belt_iridium_ship_effect1",[E(1)])}
${t("space_belt_iridium_ship_effect2",[r])}
`},s_type:"belt",support(){return E(-1)},powered(){return 0},action(){return _($(this)[0])?(S("iridium_ship"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["iridium_ship","space"]}}},iron_ship:{id:"space-iron_ship",title:t("space_belt_iron_ship_title"),desc(){return t("space_belt_iron_ship_title")},reqs:{asteroid:3},cost:{Money(r){return f("iron_ship",r,8e4,1.3)},Steel(r){return f("iron_ship",r,42e3,1.3)},Aluminium(r){return f("iron_ship",r,38e3,1.3)},Polymer(r){return f("iron_ship",r,16e3,1.3)},Helium_3(r,a){return f("iron_ship",r,ve(1200,!1,a),1.3)}},effect(){let r=+ie("iron_ship").toFixed(2);return e.tech.solar&&e.tech.solar>=5?`
${t("space_belt_iron_ship_effect1",[E(1)])}
${t("space_belt_iron_ship_effect2",[r])}
${t("space_belt_iron_ship_effect3")}
`:`
${t("space_belt_iron_ship_effect1",[E(1)])}
${t("space_belt_iron_ship_effect2",[r])}
`},s_type:"belt",support(){return E(-1)},powered(){return 0},action(){return _($(this)[0])?(S("iron_ship"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["iron_ship","space"]}}}},spc_dwarf:{info:{name(){return A().dwarf},desc(){return t("space_dwarf_info_desc",[A().dwarf])},zone:"inner",syndicate(){return!1}},dwarf_mission:{id:"space-dwarf_mission",title(){return t("space_mission_title",[A().dwarf])},desc(){return t("space_mission_desc",[A().dwarf])},reqs:{asteroid:1,elerium:1},grant:["dwarf",1],queue_complete(){return e.tech.dwarf>=1?0:1},cost:{Helium_3(r,a){return+ve(45e3,!1,a).toFixed(0)}},effect(){return t("space_dwarf_mission_effect1",[A().dwarf])},action(){return _($(this)[0])?(I(t("space_dwarf_mission_action",[A().dwarf]),"info",!1,["progress"]),y(Le.spc_dwarf.elerium_contain),!0):!1}},elerium_contain:{id:"space-elerium_contain",title:t("space_dwarf_elerium_contain_title"),desc(){return`
${t("space_dwarf_elerium_contain_title")}
${t("requires_power")}
`},reqs:{dwarf:1},cost:{Money(r){return f("elerium_contain",r,8e5,1.28)},Cement(r){return f("elerium_contain",r,12e4,1.28)},Iridium(r){return f("elerium_contain",r,5e4,1.28)},Neutronium(r){return f("elerium_contain",r,250,1.28)}},effect(){let r=G(100);return`
${t("plus_max_resource",[r,t("resource_Elerium_name")])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(6)},action(){return _($(this)[0])?(S("elerium_contain"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_contain","space"]}}},e_reactor:{id:"space-e_reactor",title:t("space_dwarf_reactor_title"),desc(){return`
${t("space_dwarf_reactor_title")}
${t("space_dwarf_reactor_desc_req")}
`},reqs:{elerium:2},cost:{Money(r){return f("e_reactor",r,125e4,1.28)},Steel(r){return f("e_reactor",r,35e4,1.28)},Neutronium(r){return f("e_reactor",r,1250,1.28)},Mythril(r){return f("e_reactor",r,2500,1.28)}},effect(){let r=$(this)[0].p_fuel().a,a=$(this)[0].powered()*-1;return`
${t("space_dwarf_reactor_effect1",[a])}
${t("space_dwarf_reactor_effect2",[r])}
`},powered(){return nt(-25)},p_fuel(){return{r:"Elerium",a:.05}},action(){return _($(this)[0])?(S("e_reactor"),e.space.e_reactor.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["e_reactor","space"]}}},world_collider:{id:"space-world_collider",title:t("space_dwarf_collider_title"),desc(r){if(!e.space.hasOwnProperty("world_collider")||e.space.world_collider.count<1859||r)return`
${t("space_dwarf_collider_desc")}
${t("space_dwarf_collider_desc_req")}
`+(e.space.hasOwnProperty("world_collider")&&e.space.world_collider.count>=1859?`
${t("requires_power")}
`:"")},reqs:{science:10},path:["standard"],condition(){return e.space.world_collider.count<1859},queue_size:100,queue_complete(){return 1859-e.space.world_collider.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?25e3:0},Copper(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?750:0},Alloy(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?125:0},Neutronium(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?12:0},Elerium(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?1:0},Mythril(r){return(r||0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0)<1859?10:0}},effect(r){let a=(r?.count??0)+(e.space.hasOwnProperty("world_collider")?e.space.world_collider.count:0);if(a<1859){let i=1859-a;return`
${t("space_dwarf_collider_effect1")}
${t("space_dwarf_collider_effect2",[i])}
`}else return Le.spc_dwarf.world_controller.effect()},action(){if(e.space.world_collider.count<1859&&_($(this)[0])){if(S("world_collider"),e.space.world_collider.count>=1859){if(e.tech.science=11,e.space.world_controller={count:1,on:0},ae(),St(),e.race.banana){let r=fe();e.stats.banana.b2[r]=!0,r!=="m"&&r!=="l"&&(e.stats.banana.b2.l=!0)}ue()}return!0}return!1},struct(){return{d:{count:0},p:["world_collider","space"]}},flair:t("space_dwarf_collider_flair")},world_controller:{id:"space-world_controller",title:t("space_dwarf_collider_title"),desc(){return`
${t("space_dwarf_collider_title")}
${t("requires_power")}
`},wiki:!1,reqs:{science:11},path:["standard"],condition(){return!(e.space.world_collider.count<1859)},queue_complete(){return 0},cost:{},effect(r){let a=25;if(e.interstellar.far_reach){let i=r?e.interstellar.far_reach.on:H.far_reach;i>0&&(a+=i)}return e.tech.science>=19&&(a+=15),`
${t("plus_max_resource",[a+"%",t("resource_Knowledge_name")])}
${t("space_dwarf_controller_effect3")}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(20)},action(){return!1},struct(){return{d:{count:0,on:0},p:["world_controller","space"]}},flair:t("space_dwarf_controller_flair")},shipyard:{id:"space-shipyard",title:t("outer_shipyard_title"),desc(){return`
${t("outer_shipyard_title")}
${t("requires_power")}
`},reqs:{shipyard:1},path:["truepath"],cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?1e7:0},Aluminium(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?1e6:0},Titanium(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?65e4:0},Iridium(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?25e4:0},Neutronium(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?1e4:0},Mythril(r){return(r||0)+(e.space.hasOwnProperty("shipyard")?e.space.shipyard.count:0)<1?5e5:0}},queue_complete(){return 1-e.space.shipyard.count},effect(){return`
${t("outer_shipyard_effect")}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(50)},special:!0,sAction(){H.shipyard&&(e.settings.civTabs=2,e.settings.govTabs=5,e.settings.tabLoad||(Ma("mTabCivic"),ue("space-shipyard")))},action(){return e.space.shipyard.count<1&&_($(this)[0])?(S("shipyard"),L($(this)[0])&&(e.settings.showShipYard=!0),e.tech.syard_class=2,e.tech.syard_armor=3,e.tech.syard_weapon=1,e.tech.syard_engine=2,e.tech.syard_power=3,e.tech.syard_sensor=3,!0):!1},struct(){return{d:{count:0,on:0,ships:[],expand:!0,sort:!0},p:["shipyard","space"]}}},mass_relay:{id:"space-mass_relay",title:t("space_dwarf_mass_relay_title"),desc(r){if(!e.space.hasOwnProperty("mass_relay")||e.space.mass_relay.count<100||r)return`
${t("space_dwarf_mass_relay_title")}
${t("requires_segments",[100])}
`},reqs:{outer:5},path:["truepath"],condition(){return e.space.mass_relay.count<100},queue_size:5,queue_complete(){return 100-e.space.mass_relay.count},cost:{Money(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?1e7:0},Neutronium(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?7500:0},Adamantite(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?18e3:0},Elerium(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?125:0},Stanene(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?1e5:0},Quantium(r){return(r||0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0)<100?25e3:0}},effect(r){let a=(r?.count??0)+(e.space.hasOwnProperty("mass_relay")?e.space.mass_relay.count:0);if(a<100){let i=100-a;return`
${t("space_dwarf_mass_relay_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return Le.spc_dwarf.m_relay.effect()},action(){return e.space.mass_relay.count<100&&_($(this)[0])?(e.space.mass_relay.count++,e.space.mass_relay.count>=100&&(e.tech.outer=6,e.space.m_relay={count:1,on:1,charged:0},ae(),St(),ue()),!0):!1},struct(){return{d:{count:0},p:["mass_relay","space"]}}},m_relay:{id:"space-m_relay",title:t("space_dwarf_mass_relay_title"),desc(){return`
${t("space_dwarf_mass_relay_title")}
${t("requires_power")}
`},reqs:{outer:6},path:["truepath"],condition(){return e.space.mass_relay.count>=100},wiki:!1,queue_complete(){return 0},cost:{},powered(){return V(100)},effect(){let r=Math.floor(e.space.m_relay.charged/10)/10;return`
${t("space_dwarf_mass_relay_effect2",[A().dwarf])}
${t("minus_power",[$(this)[0].powered()])}
${t("space_dwarf_mass_relay_charged",[r])}
`},action(){return!1}}},spc_titan:ii().spc_titan,spc_enceladus:ii().spc_enceladus,spc_triton:ii().spc_triton,spc_kuiper:ii().spc_kuiper,spc_eris:ii().spc_eris},Ue={int_alpha:{info:{name:t("interstellar_alpha_name"),desc(){return e.tech.alpha?t("interstellar_alpha_desc2",[x[e.race.species].home]):t("interstellar_alpha_desc1",[x[e.race.species].home])},support:"starport"},alpha_mission:{id:"interstellar-alpha_mission",title:t("space_mission_title",[t("interstellar_alpha_name")]),desc:t("space_mission_desc",[t("interstellar_alpha_name")]),reqs:{ftl:2},grant:["alpha",1],queue_complete(){return e.tech.alpha>=1?0:1},cost:{Helium_3(){return+ye(4e4).toFixed(0)}},effect:t("interstellar_alpha_mission_effect"),action(){return _($(this)[0])?(I(t("interstellar_alpha_mission_result"),"info",!1,["progress"]),y(Ue.int_nebula.nexus),y(Ue.int_alpha.warehouse),!0):!1}},starport:{id:"interstellar-starport",title:t("interstellar_alpha_starport_title"),desc(){return`
${t("interstellar_alpha_starport_desc")}
${t("requires_power_space",[e.resource.Food.name])}
`},reqs:{alpha:1},cost:{Money(r){return f("starport",r,1e6,1.3,"interstellar")},Aluminium(r){return f("starport",r,4e5,1.3,"interstellar")},Neutronium(r){return f("starport",r,1e3,1.3,"interstellar")},Elerium(r){return f("starport",r,100,1.3,"interstellar")}},effect(){let r=+ye(5).toFixed(2),a=100;return`
${t("interstellar_alpha_starport_effect1",[$(this)[0].support()])}
${t("interstellar_alpha_starport_effect2",[r,$(this)[0].powered()])}
${t("interstellar_alpha_starport_effect3",[a,e.resource.Food.name])}
`},support(){return 5},powered(){return V(10)},powerBalancer(){return[{s:e.interstellar.starport.s_max-e.interstellar.starport.support}]},refresh:!0,action(){return _($(this)[0])?(S("starport","interstellar"),e.settings.space.proxima=!0,e.settings.space.nebula=!0,L($(this)[0]),e.tech.alpha===1&&(e.tech.alpha=2,y(Ue.int_alpha.mining_droid)),e.race.orbit_decay&&e.race.orbit_decay>e.stats.days+100&&(e.race.orbit_decay=e.stats.days+100,I(t("evo_challenge_orbit_decayed_accelerated",[e.race.orbit_decay-e.stats.days]),"info",!1,["progress"])),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["starport","interstellar"]}}},habitat:{id:"interstellar-habitat",title:t("interstellar_habitat_title"),desc:`
${t("interstellar_habitat_desc")}
${t("requires_power")}
`,reqs:{alpha:3},cost:{Money(r){return f("habitat",r,8e5,1.25,"interstellar")},Furs(r){return f("habitat",r,38e3,1.25,"interstellar")},Adamantite(r){return e.race.fasting&&e.interstellar.habitat&&e.interstellar.habitat.count<5?0:f("habitat",r,3200,1.25,"interstellar")},Plywood(r){return f("habitat",r,1e4,1.25,"interstellar")},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=$(this)[0].citizens();return`
${t("interstellar_alpha_starport_effect1",[$(this)[0].support()])}
${t("plus_max_citizens",[r])}, ${t("minus_power",[$(this)[0].powered()])}
`},support(){return 1},powered(){return V(2)},powerBalancer(){return[{s:e.interstellar.starport.s_max-e.interstellar.starport.support}]},action(){return _($(this)[0])?(S("habitat","interstellar"),L($(this)[0])&&(e.resource[e.race.species].max+=$(this)[0].citizens()),!0):!1},struct(){return{d:{count:0,on:0},p:["habitat","interstellar"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},mining_droid:{id:"interstellar-mining_droid",title:t("interstellar_mining_droid_title"),desc:`
${t("interstellar_mining_droid_title")}
${t("space_support",[t("interstellar_alpha_name")])}
`,reqs:{alpha:2},cost:{Money(r){return f("mining_droid",r,65e4,1.28,"interstellar")},Steel(r){return f("mining_droid",r,12e4,1.28,"interstellar")},Nano_Tube(r){return f("mining_droid",r,75e3,1.28,"interstellar")},Elerium(r){return f("mining_droid",r,50,1.28,"interstellar")}},effect(){return`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("interstellar_mining_droid_effect")}
`},s_type:"alpha",support(){return-1},powered(){return 0},special:!0,refresh:!0,action(){return _($(this)[0])?(S("mining_droid","interstellar"),e.resource.Adamantite.display=!0,L($(this)[0])&&e.interstellar.mining_droid.adam++,e.tech.droids||(e.tech.droids=1,y(Ue.int_alpha.processing)),e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,on:0,adam:0,uran:0,coal:0,alum:0},p:["mining_droid","interstellar"]}}},processing:{id:"interstellar-processing",title:t("interstellar_processing_title"),desc:`
${t("interstellar_processing_title")}
${t("space_support",[t("interstellar_alpha_name")])}
`,reqs:{droids:1},cost:{Money(r){return f("processing",r,35e4,1.28,"interstellar")},Iron(r){return f("processing",r,18e4,1.28,"interstellar")},Aluminium(r){return f("processing",r,6e4,1.28,"interstellar")},Iridium(r){return f("processing",r,5e3,1.28,"interstellar")}},effect(r){let a=12,i=r?e.interstellar?.citadel?.on??0:H.citadel;return e.tech.ai_core&&e.tech.ai_core>=2&&i>0&&(a+=i*2),`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("interstellar_processing_effect",[a])}
`},s_type:"alpha",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("processing","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["processing","interstellar"]}}},fusion:{id:"interstellar-fusion",title:t("interstellar_fusion_title"),desc(){return`
${t("interstellar_fusion_title")}
${t("requires_power_support_combo",[t("interstellar_alpha_name"),e.resource.Deuterium.name])}
`},reqs:{fusion:1},cost:{Money(r){return f("fusion",r,99e4,1.28,"interstellar")},Iridium(r){return f("fusion",r,44e3,1.28,"interstellar")},Infernite(r){return f("fusion",r,350,1.28,"interstellar")},Brick(r){return f("fusion",r,18e3,1.28,"interstellar")}},effect(){let r=1.25;return`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered()])}, ${t("interstellar_fusion_effect",[r])}
`},s_type:"alpha",support(){return-1},powered(){return nt(-22)},p_fuel(){return{r:"Deuterium",a:1.25}},action(){return _($(this)[0])?(S("fusion","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["fusion","interstellar"]}}},laboratory:{id:"interstellar-laboratory",title(){return e.race.universe==="magic"?t("tech_sanctum"):t("interstellar_laboratory_title")},desc:`
${t(e.race.universe==="magic"?"tech_sanctum":"interstellar_laboratory_title")}
${t("space_support",[t("interstellar_alpha_name")])}
`,reqs:{science:12},cost:{Money(r){return f("laboratory",r,75e4,1.28,"interstellar")},Crystal(r){return e.race.universe==="magic"?f("laboratory",r,1200,1.28,"interstellar"):0},Titanium(r){return f("laboratory",r,12e4,1.28,"interstellar")},Alloy(r){return f("laboratory",r,95e3,1.28,"interstellar")},Mythril(r){return f("laboratory",r,8500,1.28,"interstellar")}},effect(r){let a=1e4;if(e.tech.science>=15){let o=r?e.space.exotic_lab.on:be.exotic_lab;a*=1+(e.race.cataclysm||e.race.orbit_decayed?o:e.city.wardenclyffe.count)*.02}let s=ur(r)?r?e.galaxy?.scavenger?.on??0:Mr.scavenger:0;(e.race.cataclysm||e.race.orbit_decayed)&&s>0&&(a*=1+s*+(Gt("gxy_alien2",!1,!1,r)*.75).toFixed(1)),e.tech.science>=21&&(a*=1.45),a=Math.round(a);let n="";e.tech.science>=16&&(n=`
${t("city_wardenclyffe_effect1",[E(1),e.civic.scientist.name])}
`);let c=`
${t("space_used_support",[t("interstellar_alpha_name")])}
${n}
${t("city_max_knowledge",[a])}
`;if(e.tech.science>=13&&(c=c+`
${t("interstellar_laboratory_effect",[5])}
`),e.race.universe==="magic"){let o=G(12);c=c+`
${t("plus_max_resource",[o,e.resource.Mana.name])}
`}return c},s_type:"alpha",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("laboratory","interstellar"),L($(this)[0])&&(e.resource.Knowledge.max+=1e4,e.tech.science>=16&&(e.civic.scientist.display=!0,e.civic.scientist.max+=E(1))),!0):!1},struct(){return{d:{count:0,on:0},p:["laboratory","interstellar"]}}},exchange:{id:"interstellar-exchange",title:t("interstellar_exchange_title"),desc:`
${t("interstellar_exchange_title")}
${t("space_support",[t("interstellar_alpha_name")])}
`,reqs:{banking:12},cost:{Money(r){return f("exchange",r,ee("untrustworthy",68e4),1.28,"interstellar")},Stone(r){return f("exchange",r,ee("untrustworthy",115e3),1.28,"interstellar")},Adamantite(r){return f("exchange",r,ee("untrustworthy",55e3),1.28,"interstellar")},Graphene(r){return f("exchange",r,ee("untrustworthy",78e3),1.28,"interstellar")}},effect(r){let a=e.race.cataclysm||e.race.orbit_decayed?r?e.space.spaceport.on:H.spaceport:e.city.bank?e.city.bank.count:0,i=e.race.cataclysm||e.race.orbit_decayed?kr()*4:kr();e.eden.eternal_bank&&(a+=e.eden.eternal_bank.count*2);let s=G(e.city.bank?i*a/18:0);if(e.race.inflation&&(s*=2),e.tech.banking>=13){if(e.galaxy.freighter){let n=r?e.galaxy.freighter.on:Mr.freighter;s*=1+n*.03}if(e.galaxy.super_freighter){let n=r?e.galaxy.super_freighter.on:Mr.super_freighter;s*=1+n*.08}}return s=+s.toFixed(0),`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("plus_max_resource",[`$${s.toLocaleString()}`,t("resource_Money_name")])}
`},s_type:"alpha",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("exchange","interstellar"),L($(this)[0])&&(e.resource.Money.max+=+G(45e4).toFixed(0)),!0):!1},struct(){return{d:{count:0,on:0},p:["exchange","interstellar"]}}},g_factory:{id:"interstellar-g_factory",title:t("interstellar_g_factory_title"),desc:`
${t("interstellar_g_factory_title")}
${t("space_support",[t("interstellar_alpha_name")])}
`,reqs:{graphene:1},cost:{Money(r){return f("g_factory",r,95e4,1.28,"interstellar")},Copper(r){return f("g_factory",r,165e3,1.28,"interstellar")},Cement(r){return f("g_factory",r,22e4,1.28,"interstellar")},Infernite(r){return f("g_factory",r,750,1.28,"interstellar")}},effect(){return`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("interstellar_g_factory_effect")}
`},s_type:"alpha",support(){return-1},powered(){return 0},special:!0,action(){return _($(this)[0])?(S("g_factory","interstellar"),e.resource.Graphene.display=!0,L($(this)[0])&&(e.race.kindling_kindred||e.race.smoldering?e.interstellar.g_factory.Oil++:e.interstellar.g_factory.Lumber++),e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,on:0,Lumber:0,Coal:0,Oil:0},p:["g_factory","interstellar"]}}},int_factory:{id:"interstellar-int_factory",title:t("interstellar_int_factory_title"),desc(){return`
${t("interstellar_int_factory_title")}
${t("requires_power_combo",[e.resource.Deuterium.name])}
`},reqs:{alpha:4},cost:{Money(r){return f("int_factory",r,25e6,1.26,"interstellar")},Coal(r){return f("int_factory",r,1e7,1.26,"interstellar")},Brick(r){return f("int_factory",r,75e4,1.26,"interstellar")},Bolognium(r){return f("int_factory",r,5e4,1.26,"interstellar")}},effect(){let r=+ye(5).toFixed(2);return`
${t("interstellar_int_factory_effect")}
${t("city_crafted_mats",[10])}
${t("interstellar_fusion_effect",[r])} ${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(5)},special:!0,action(){return _($(this)[0])?(S("int_factory","interstellar"),L($(this)[0])&&(e.city.factory.Alloy+=2,Fe()),!0):!1},struct(){return{d:{count:0,on:0},p:["int_factory","interstellar"]}}},luxury_condo:{id:"interstellar-luxury_condo",title(){return ke("halloween").active?t("events_halloween_condo"):t("tech_luxury_condo")},desc:`
${t("tech_luxury_condo")}
${t("requires_power")}
`,reqs:{alpha:5},cost:{Money(r){return f("luxury_condo",r,ee("untrustworthy",25e6),1.25,"interstellar")},Neutronium(r){return f("luxury_condo",r,ee("untrustworthy",75e3),1.25,"interstellar")},Stanene(r){return f("luxury_condo",r,ee("untrustworthy",23e4),1.25,"interstellar")},Orichalcum(r){return f("luxury_condo",r,ee("untrustworthy",65e3),1.25,"interstellar")},Nanoweave(r){return f("luxury_condo",r,ee("untrustworthy",12500),1.25,"interstellar")},Horseshoe(){return e.race.hooved?2:0}},effect(){let r=$(this)[0].citizens(),a=G(75e4);return`
${t("plus_max_citizens",[r])}, ${t("minus_power",[$(this)[0].powered()])}
${t("plus_max_resource",[`$${a.toLocaleString()}`,t("resource_Money_name")])}
`},powered(){return V(3)},action(){return _($(this)[0])?(S("luxury_condo","interstellar"),L($(this)[0])&&(e.resource[e.race.species].max+=2),!0):!1},struct(){return{d:{count:0,on:0},p:["luxury_condo","interstellar"]}},citizens(){let r=2;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},zoo:{id:"interstellar-zoo",title:t("tech_zoo"),desc(){return`
${t("tech_zoo")}
${t("requires_power_support_combo",[t("interstellar_alpha_name"),e.resource.Food.name])}
`},reqs:{zoo:1},cost:{Money(r){return f("zoo",r,5e7,1.24,"interstellar")},Polymer(r){return f("zoo",r,6e6,1.24,"interstellar")},Infernite(r){return f("zoo",r,75e3,1.24,"interstellar")},Brick(r){return f("zoo",r,2e6,1.24,"interstellar")}},effect(){let r=5,a=2,i=12e3;return`
${t("space_used_support",[t("interstellar_alpha_name")])}
${t("space_red_vr_center_effect1",[r])}
${t("space_red_vr_center_effect2",[a])}
${t("interstellar_alpha_starport_effect3",[i,e.resource.Food.name])}
`},powered(){return 0},s_type:"alpha",support(){return-1},action(){return _($(this)[0])?(S("zoo","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["zoo","interstellar"]}}},warehouse:{id:"interstellar-warehouse",title(){return e.tech.storage<=2?t("city_shed_title1"):e.tech.storage>=4?t("city_shed_title3"):t("city_shed_title2")},desc(){let r=e.tech.storage>=3?e.tech.storage>=4?t("city_shed_desc_size3"):t("city_shed_desc_size2"):t("city_shed_desc_size1");return t("city_shed_desc",[r])},reqs:{alpha:2},cost:{Money(r){return f("warehouse",r,175e3,1.28,"interstellar")},Lumber(r){return f("warehouse",r,1e5,1.28,"interstellar")},Aluminium(r){return f("warehouse",r,12e4,1.28,"interstellar")},Cement(r){return f("warehouse",r,45e3,1.28,"interstellar")}},res(){let r=["Lumber","Stone","Chrysotile","Furs","Copper","Iron","Aluminium","Cement","Coal","Nano_Tube","Neutronium","Adamantite","Infernite"];return e.tech.storage>=3&&e.resource.Steel.display&&r.push("Steel"),e.tech.storage>=4&&e.resource.Titanium.display&&r.push("Titanium"),r},val(r){switch(r){case"Lumber":return 750;case"Stone":return 750;case"Chrysotile":return 750;case"Furs":return 425;case"Copper":return 380;case"Iron":return 350;case"Aluminium":return 320;case"Cement":return 280;case"Coal":return 120;case"Steel":return 60;case"Titanium":return 40;case"Nano_Tube":return 30;case"Neutronium":return 8;case"Adamantite":return 18;case"Infernite":return 5;default:return 0}},wide:!0,effect(r){let a='
',i=Pa(r);for(let s of $(this)[0].res())if(e.resource[s].display){let n=X(+(G($(this)[0].val(s))*i).toFixed(0),1);a=a+`${t("plus_max_resource",[n,e.resource[s].name])}`}return a=a+"
",a},action(){if(_($(this)[0])){S("warehouse","interstellar");let r=Pa();for(let a of $(this)[0].res())e.resource[a].display&&(e.resource[a].max+=G($(this)[0].val(a)*r));return!0}return!1},struct(){return{d:{count:0},p:["warehouse","interstellar"]}}},wonder_gardens:{id:"interstellar-wonder_gardens",title(){return t("interstellar_wonder_gardens")},desc(){return t("interstellar_wonder_gardens")},reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.interstellar.wonder_gardens)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}}},int_proxima:{info:{name:t("interstellar_proxima_name"),desc(){return e.tech.proxima?t("interstellar_proxima_desc2"):t("interstellar_proxima_desc1")}},proxima_mission:{id:"interstellar-proxima_mission",title:t("space_mission_title",[t("interstellar_proxima_name")]),desc:t("space_mission_desc",[t("interstellar_proxima_name")]),reqs:{alpha:1},grant:["proxima",1],queue_complete(){return e.tech.proxima>=1?0:1},cost:{Helium_3(){return+ye(42e3).toFixed(0)}},effect:t("interstellar_proxima_mission_effect"),action(){return _($(this)[0])?(y(Ue.int_proxima.xfer_station),I(t("interstellar_proxima_mission_result"),"info",!1,["progress"]),!0):!1}},xfer_station:{id:"interstellar-xfer_station",title:t("interstellar_xfer_station_title"),desc(){return`
${t("interstellar_xfer_station_desc")}
${t("requires_power_combo",[e.resource.Uranium.name])}
`},reqs:{proxima:1},cost:{Money(r){return f("xfer_station",r,12e5,1.28,"interstellar")},Neutronium(r){return f("xfer_station",r,1500,1.28,"interstellar")},Adamantite(r){return f("xfer_station",r,6e3,1.28,"interstellar")},Polymer(r){return f("xfer_station",r,12e3,1.28,"interstellar")},Wrought_Iron(r){return f("xfer_station",r,3500,1.28,"interstellar")}},effect(){let r=.28,a=G(5e3),i=G(4e3),s=G(2500),n="";return e.resource.Deuterium.display&&(n=`
${t("plus_max_resource",[G(2e3),t("resource_Deuterium_name")])}
`),`
${t("interstellar_alpha_starport_effect1",[$(this)[0].support()])}
${t("plus_max_resource",[i,t("resource_Oil_name")])}
${t("plus_max_resource",[a,t("resource_Helium_3_name")])}
${t("plus_max_resource",[s,t("resource_Uranium_name")])}
${n}
${t("city_fission_power_effect",[r])}
${t("minus_power",[$(this)[0].powered()])}
`},support(){return 1},powered(){return V(1)},powerBalancer(){return[{s:e.interstellar.starport.s_max-e.interstellar.starport.support}]},refresh:!0,action(){return _($(this)[0])?(S("xfer_station","interstellar"),L($(this)[0])&&(e.resource.Uranium.max+=G(2500),e.resource.Helium_3.max+=G(5e3),e.resource.Oil.max+=G(4e3),e.resource.Deuterium.max+=G(2e3)),e.tech.proxima===1&&(e.tech.proxima=2,y(Ue.int_proxima.cargo_yard)),!0):!1},struct(){return{d:{count:0,on:0},p:["xfer_station","interstellar"]}}},cargo_yard:{id:"interstellar-cargo_yard",title:t("interstellar_cargo_yard_title"),desc:t("interstellar_cargo_yard_title"),reqs:{proxima:2},cost:{Money(r){return f("cargo_yard",r,275e3,1.28,"interstellar")},Graphene(r){return f("cargo_yard",r,7500,1.28,"interstellar")},Mythril(r){return f("cargo_yard",r,6e3,1.28,"interstellar")}},effect(r){let a=50,i=G(200),s=G(150),n=`
${t("plus_max_resource",[a,t("resource_Crates_name")])}
${t("plus_max_resource",[a,t("resource_Containers_name")])}
`;if(n=n+`
${t("plus_max_resource",[i,t("resource_Neutronium_name")])}
${t("plus_max_resource",[s,t("resource_Infernite_name")])}
`,e.tech.storage>=7){let c=+Cr(r).toFixed(3);n=n+`
${t("interstellar_cargo_yard_effect",[c])}
`}return n},action(){if(_($(this)[0])){S("cargo_yard","interstellar");let r=50;return e.resource.Crates.max+=r,e.resource.Containers.max+=r,e.resource.Containers.display||wr(),!0}return!1},struct(){return{d:{count:0},p:["cargo_yard","interstellar"]}}},cruiser:{id:"interstellar-cruiser",title:t("interstellar_cruiser_title"),desc:t("interstellar_cruiser_title"),reqs:{cruiser:1},cost:{Money(r){return f("cruiser",r,875e3,1.28,"interstellar")},Aluminium(r){return f("cruiser",r,195e3,1.28,"interstellar")},Deuterium(r){return f("cruiser",r,+ye(1500).toFixed(0),1.28,"interstellar")},Neutronium(r){return f("cruiser",r,2e3,1.28,"interstellar")},Aerogel(r){return f("cruiser",r,250,1.28,"interstellar")},Horseshoe(){return e.race.hooved?3:0}},powered(){return 0},effect(){let r=+ye(6).toFixed(2),a=$(this)[0].soldiers();return`
${t("plus_max_soldiers",[a])}
${t("space_belt_station_effect3",[r])}
`},action(){return _($(this)[0])?(S("cruiser","interstellar"),e.interstellar.cruiser.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["cruiser","interstellar"]}},soldiers(){let r=e.race.fasting?4:3;return e.race.grenadier&&r--,E(r)}},dyson:{id:"interstellar-dyson",title:t("interstellar_dyson_title"),desc(r){return!e.interstellar.hasOwnProperty("dyson")||e.interstellar.dyson.count<100||r?`
${t("interstellar_dyson_title")}
${t("requires_segments",[100])}
`:`
${t("interstellar_dyson_title")}
`},reqs:{proxima:3},queue_size:10,queue_complete(){return 100-e.interstellar.dyson.count},condition(){return!(e.interstellar.dyson.count>=100&&e.tech.dyson)},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson")?e.interstellar.dyson.count:0)<100?25e4:0},Adamantite(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson")?e.interstellar.dyson.count:0)<100?1e4:0},Infernite(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson")?e.interstellar.dyson.count:0)<100?25:0},Stanene(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson")?e.interstellar.dyson.count:0)<100?1e5:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("dyson")?e.interstellar.dyson.count:0);if(a<100){let i=a>0?`
${t("space_dwarf_reactor_effect1",[nt(a*1.25)])}
`:"",s=100-a;return`
${t("interstellar_dyson_effect")}
${i}
${t("space_dwarf_collider_effect2",[s])}
`}else return t("interstellar_dyson_complete",[nt(175)])},action(){return _($(this)[0])&&e.interstellar.dyson.count<100?(S("dyson","interstellar"),e.interstellar.dyson.count>=100&&ae(),!0):!1},struct(){return{d:{count:0},p:["dyson","interstellar"]}}},dyson_sphere:{id:"interstellar-dyson_sphere",title:t("interstellar_dyson_sphere_title"),desc(r){return!e.interstellar.hasOwnProperty("dyson_sphere")||e.interstellar.dyson_sphere.count<100||r?`
${t("interstellar_dyson_sphere_title")}
${t("requires_segments",[100])}
`:`
${t("interstellar_dyson_sphere_title")}
`},reqs:{proxima:3,dyson:1},queue_size:10,queue_complete(){return 100-e.interstellar.dyson_sphere.count},condition(){return!!(e.interstellar.dyson.count>=100&&e.tech.dyson&&e.tech.dyson===1)},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson_sphere")?e.interstellar.dyson_sphere.count:0)<100?5e6:0},Bolognium(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson_sphere")?e.interstellar.dyson_sphere.count:0)<100?25e3:0},Vitreloy(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson_sphere")?e.interstellar.dyson_sphere.count:0)<100?1250:0},Aerogel(r){return(r||0)+(e.interstellar.hasOwnProperty("dyson_sphere")?e.interstellar.dyson_sphere.count:0)<100?75e3:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("dyson_sphere")?e.interstellar.dyson_sphere.count:0);if(a<100){let i=175+a*5,s=100-a;return`
${t("interstellar_dyson_sphere_effect")}
${t("space_dwarf_reactor_effect1",[nt(i)])}
${t("space_dwarf_collider_effect2",[s])}
`}else return t("interstellar_dyson_sphere_complete",[nt(750)])},action(){return _($(this)[0])&&e.interstellar.dyson_sphere.count<100?(S("dyson_sphere","interstellar"),e.interstellar.dyson_sphere.count>=100&&ae(),!0):!1},struct(){return{d:{count:0},p:["dyson_sphere","interstellar"]}}},orichalcum_sphere:{id:"interstellar-orichalcum_sphere",title:t("interstellar_dyson_sphere_title"),desc(r){return!e.interstellar.hasOwnProperty("orichalcum_sphere")||e.interstellar.orichalcum_sphere.count<100||r?`
${t("interstellar_orichalcum_sphere_desc")}
${t("requires_segments",[100])}
`:`
${t("interstellar_orichalcum_sphere_desc")}
`},reqs:{proxima:3,dyson:2},queue_size:10,queue_complete(){return 100-e.interstellar.orichalcum_sphere.count},condition(){return!!(e.interstellar.dyson_sphere.count>=100&&e.tech.dyson&&e.tech.dyson===2)},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("orichalcum_sphere")?e.interstellar.orichalcum_sphere.count:0)<100?25e6:0},Orichalcum(r){return(r||0)+(e.interstellar.hasOwnProperty("orichalcum_sphere")?e.interstellar.orichalcum_sphere.count:0)<100?75e3:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("orichalcum_sphere")?e.interstellar.orichalcum_sphere.count:0);if(a<100){let i=750+a*8,s=100-a;return`
${t("interstellar_orichalcum_sphere_effect")}
${t("space_dwarf_reactor_effect1",[nt(i)])}
${t("space_dwarf_collider_effect2",[s])}
`}else return t("interstellar_dyson_sphere_complete",[nt(1750)])},action(){return _($(this)[0])&&e.interstellar.orichalcum_sphere.count<100?(S("orichalcum_sphere","interstellar"),e.interstellar.orichalcum_sphere.count>=100&&B("blacken_the_sun"),!0):!1},struct(){return{d:{count:0},p:["orichalcum_sphere","interstellar"]}}},elysanite_sphere:{id:"interstellar-elysanite_sphere",title:t("interstellar_dyson_sphere_title"),desc(r){return!e.interstellar.hasOwnProperty("elysanite_sphere")||e.interstellar.elysanite_sphere.count<1e3||r?`
${t("interstellar_elysanite_sphere_desc")}
${t("requires_segments",[1e3])}
`:`
${t("interstellar_elysanite_sphere_desc")}
`},reqs:{proxima:3,dyson:3},queue_size:50,queue_complete(){return 1e3-e.interstellar.elysanite_sphere.count},condition(){return!!(e.interstellar.orichalcum_sphere.count>=100&&e.tech.dyson&&e.tech.dyson===3)},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("elysanite_sphere")?e.interstellar.elysanite_sphere.count:0)<1e3?1e9:0},Asphodel_Powder(r){return(r||0)+(e.interstellar.hasOwnProperty("elysanite_sphere")?e.interstellar.elysanite_sphere.count:0)<1e3?25e3:0},Elysanite(r){return(r||0)+(e.interstellar.hasOwnProperty("elysanite_sphere")?e.interstellar.elysanite_sphere.count:0)<1e3?1e5:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("elysanite_sphere")?e.interstellar.elysanite_sphere.count:0);if(a<1e3){let i=1750+a*18,s=1e3-a;return`
${t("interstellar_elysanite_sphere_effect")}
${t("space_dwarf_reactor_effect1",[nt(i)])}
${t("space_dwarf_collider_effect2",[s])}
`}else return t("interstellar_dyson_sphere_complete",[nt(22500)])},action(){return _($(this)[0])&&e.interstellar.elysanite_sphere.count<1e3?(S("elysanite_sphere","interstellar"),!0):!1},struct(){return{d:{count:0},p:["elysanite_sphere","interstellar"]}}}},int_nebula:{info:{name:t("interstellar_nebula_name"),desc(){return e.tech.nebula?t("interstellar_nebula_desc2"):t("interstellar_nebula_desc1")},support:"nexus"},nebula_mission:{id:"interstellar-nebula_mission",title:t("space_mission_title",[t("interstellar_nebula_name")]),desc:t("space_mission_desc",[t("interstellar_nebula_name")]),reqs:{alpha:1},grant:["nebula",1],queue_complete(){return e.tech.nebula>=1?0:1},cost:{Helium_3(){return+ye(55e3).toFixed(0)}},effect:t("interstellar_nebula_mission_effect"),action(){return _($(this)[0])?(I(t("interstellar_nebula_mission_result"),"info",!1,["progress"]),!0):!1}},nexus:{id:"interstellar-nexus",title:t("interstellar_nexus_title"),desc(){return`
${t("interstellar_nexus_title")}
${t("requires_power_combo",[e.resource.Money.name])}
`},reqs:{nebula:1},cost:{Money(r){return f("nexus",r,9e5,1.24,"interstellar")},Adamantite(r){return f("nexus",r,7500,1.24,"interstellar")},Infernite(r){return f("nexus",r,250,1.24,"interstellar")},Sheet_Metal(r){return f("nexus",r,14e3,1.24,"interstellar")},Nano_Tube(r){return f("nexus",r,17500,1.24,"interstellar")}},effect(){let r=G(3500),a=G(4e3),i=G(3e3),s=G(25);return`
${t("interstellar_nexus_effect1",[$(this)[0].support()])}
${t("plus_max_resource",[r,t("resource_Oil_name")])}
${t("plus_max_resource",[a,t("resource_Helium_3_name")])}
${t("plus_max_resource",[i,t("resource_Deuterium_name")])}
${t("plus_max_resource",[s,t("resource_Elerium_name")])}
${t("interstellar_nexus_effect2",[$(this)[0].powered(),350])}
`},support(){return 2},powered(){return V(8)},powerBalancer(){return[{s:e.interstellar.nexus.s_max-e.interstellar.nexus.support}]},refresh:!0,action(){return _($(this)[0])?(S("nexus","interstellar"),e.resource.Deuterium.display=!0,e.tech.nebula===1&&(y(Ue.int_nebula.harvester),e.tech.nebula=2),L($(this)[0])&&(e.resource.Oil.max+=G(2500),e.resource.Helium_3.max+=G(4e3),e.resource.Deuterium.max+=G(3e3),e.resource.Elerium.max+=G(25)),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["nexus","interstellar"]}}},harvester:{id:"interstellar-harvester",title:t("interstellar_harvester_title"),desc:`
${t("interstellar_harvester_title")}
${t("space_support",[t("interstellar_nebula_name")])}
`,reqs:{nebula:2},cost:{Money(r){return f("harvester",r,65e4,1.28,"interstellar")},Copper(r){return f("harvester",r,8e4,1.28,"interstellar")},Alloy(r){return f("harvester",r,45e3,1.28,"interstellar")},Iridium(r){return f("harvester",r,8e3,1.28,"interstellar")}},effect(){let r=+ie("harvester","helium").toFixed(3),a=+ie("harvester","deuterium").toFixed(3),i=e.tech.ram_scoop?`
${t("interstellar_harvester_effect",[a])}
`:"";return`
${t("space_used_support",[t("interstellar_nebula_name")])}
${t("space_gas_mining_effect1",[r])}
${i}`},s_type:"nebula",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("harvester","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["harvester","interstellar"]}}},elerium_prospector:{id:"interstellar-elerium_prospector",title:t("interstellar_elerium_prospector_title"),desc:`
${t("interstellar_elerium_prospector_title")}
${t("space_support",[t("interstellar_nebula_name")])}
`,reqs:{nebula:3},cost:{Money(r){return f("elerium_prospector",r,825e3,1.28,"interstellar")},Steel(r){return f("elerium_prospector",r,18e3,1.28,"interstellar")},Polymer(r){return f("elerium_prospector",r,22e3,1.28,"interstellar")},Graphene(r){return f("elerium_prospector",r,82e3,1.28,"interstellar")},Stanene(r){return f("elerium_prospector",r,57e3,1.28,"interstellar")}},effect(){let r=+ie("elerium_prospector").toFixed(3);return`
${t("space_used_support",[t("interstellar_nebula_name")])}
${t("space_belt_elerium_ship_effect2",[r])}
`},s_type:"nebula",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("elerium_prospector","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["elerium_prospector","interstellar"]}}}},int_neutron:{info:{name:t("interstellar_neutron_name"),desc(){return e.tech.neutron?t("interstellar_neutron_desc2",[x[e.race.species].home]):t("interstellar_neutron_desc1")}},neutron_mission:{id:"interstellar-neutron_mission",title:t("space_mission_title",[t("interstellar_neutron_name")]),desc:t("space_mission_desc",[t("interstellar_neutron_name")]),reqs:{nebula:1,high_tech:14},grant:["neutron",1],queue_complete(){return e.tech.neutron>=1?0:1},cost:{Helium_3(){return+ye(6e4).toFixed(0)},Deuterium(){return+ye(1e4).toFixed(0)}},effect:t("interstellar_neutron_mission_effect"),action(){return _($(this)[0])?(y(Ue.int_neutron.neutron_miner),I(t("interstellar_neutron_mission_result"),"info",!1,["progress"]),!0):!1}},neutron_miner:{id:"interstellar-neutron_miner",title:t("interstellar_neutron_miner_title"),desc(){return`
${t("interstellar_neutron_miner_desc")}
${t("requires_power_combo",[e.resource.Helium_3.name])}
`},reqs:{neutron:1},cost:{Money(r){return f("neutron_miner",r,1e6,1.32,"interstellar")},Titanium(r){return f("neutron_miner",r,45e3,1.32,"interstellar")},Stanene(r){return f("neutron_miner",r,88e3,1.32,"interstellar")},Elerium(r){return f("neutron_miner",r,20,1.32,"interstellar")},Aerogel(r){return f("neutron_miner",r,50,1.32,"interstellar")}},effect(){let r=+ie("neutron_miner").toFixed(3),a=G(500),i=+ye(3).toFixed(2);return`
${t("space_gas_moon_outpost_effect1",[r])}
${t("plus_max_resource",[a,t("resource_Neutronium_name")])}
${t("interstellar_alpha_starport_effect2",[i,$(this)[0].powered()])}
`},powered(){return V(6)},powerBalancer(){return[{r:"Neutronium",k:"lpmod"}]},action(){return _($(this)[0])?(S("neutron_miner","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["neutron_miner","interstellar"]}}},citadel:{id:"interstellar-citadel",title:t("interstellar_citadel_title"),desc:`
${t("interstellar_citadel_desc")}
${t("requires_power")}
`,reqs:{neutron:1,high_tech:15},cost:{Money(r){return f("citadel",r,5e6,1.25,"interstellar")},Knowledge(r){return f("citadel",r,15e5,1.15,"interstellar")},Graphene(r){return f("citadel",r,5e4,1.25,"interstellar")},Stanene(r){return f("citadel",r,1e5,1.25,"interstellar")},Elerium(r){return f("citadel",r,250,1.25,"interstellar")},Soul_Gem(r){return f("citadel",r,1,1.25,"interstellar")}},wide:!0,effect(r){let a=Cr(r),i=`
${t("interstellar_citadel_stat",[+a.toFixed(1)])}
${t("interstellar_citadel_effect",[5])}
`;if(e.tech.ai_core){let s=+(a/1.75).toFixed(1);if(e.race.flier||(i=i+`
${t("interstellar_citadel_effect2",[s])}
`),e.tech.ai_core>=2&&(i=i+`
${t("interstellar_citadel_effect3",[2])}
`),e.tech.ai_core>=3){let n=+(a/5).toFixed(1);i=i+`
${t("interstellar_citadel_effect4",[n])}
`}e.tech.ai_core>=4&&(i=i+`
${t("interstellar_citadel_effect5",[1])}
`)}return`${i}
${t("interstellar_citadel_power",[$(this)[0].powered(r),V(2.5)])}
`},powered(r){let a=r?0:H.citadel;return a>1?V(30+(a-1)*2.5):V(30)},action(){return _($(this)[0])?(S("citadel","interstellar"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["citadel","interstellar"]}},flair(){return t("interstellar_citadel_flair")}},stellar_forge:{id:"interstellar-stellar_forge",title:t("interstellar_stellar_forge_title"),desc:`
${t("interstellar_stellar_forge_title")}
${t("requires_power")}
`,reqs:{star_forge:1},cost:{Money(r){return f("stellar_forge",r,12e5,1.25,"interstellar")},Iridium(r){return f("stellar_forge",r,25e4,1.25,"interstellar")},Bolognium(r){return f("stellar_forge",r,35e3,1.25,"interstellar")},Aerogel(r){return f("stellar_forge",r,75e3,1.25,"interstellar")}},effect(){let r=`
${t("city_foundry_effect1",[E(2)])}
${t("interstellar_stellar_forge_effect",[10])}
${t("interstellar_stellar_forge_effect2",[5])}
`;return e.tech.star_forge&&e.tech.star_forge>=2&&(r+=`
${t("interstellar_stellar_forge_effect3",[2])}
`),`${r}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(3)},special:!0,action(){return _($(this)[0])?(S("stellar_forge","interstellar"),L($(this)[0])&&(e.civic.craftsman.max+=E(2),e.tech.star_forge>=2&&(e.city.smelter.cap+=2,e.city.smelter.Star+=2,e.city.smelter.StarCap+=2,e.city.smelter.Iron+=2)),!0):!1},struct(){return{d:{count:0,on:0},p:["stellar_forge","interstellar"]}},flair(){return t("interstellar_stellar_forge_flair")}}},int_blackhole:{info:{name:t("interstellar_blackhole_name"),desc(){let r=x[e.race.species].home;if(e.tech.blackhole>=5){let a=+e.interstellar.stellar_engine.mass.toFixed(10),i=+e.interstellar.stellar_engine.exotic.toFixed(10);if(e.tech.roid_eject&&(a+=.225*e.tech.roid_eject*(1+e.tech.roid_eject/12)),e.tech.whitehole){let s=$e("bigbang"),n=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${t("interstellar_blackhole_desc4",[r,a,i])}
${t("interstellar_blackhole_desc5",[s.plasmid,s.phage,s.dark,n])}
`}else return e.interstellar.stellar_engine.exotic>0?t("interstellar_blackhole_desc4",[r,a,i]):t("interstellar_blackhole_desc3",[r,a])}else return e.tech.blackhole?t("interstellar_blackhole_desc2",[r]):t("interstellar_blackhole_desc1",[r])}},blackhole_mission:{id:"interstellar-blackhole_mission",title:t("space_mission_title",[t("interstellar_blackhole_name")]),desc:t("space_mission_desc",[t("interstellar_blackhole_name")]),reqs:{nebula:1},grant:["blackhole",1],queue_complete(){return e.tech.blackhole>=1?0:1},cost:{Helium_3(){return+ye(75e3).toFixed(0)},Deuterium(){return+ye(25e3).toFixed(0)}},effect:t("interstellar_blackhole_mission_effect"),action(){return _($(this)[0])?(y(Ue.int_blackhole.far_reach),I(t("interstellar_blackhole_mission_result"),"info",!1,["progress"]),!0):!1}},far_reach:{id:"interstellar-far_reach",title:t("interstellar_far_reach"),desc:`
${t("interstellar_far_reach_desc")}
${t("requires_power")}
`,reqs:{blackhole:1},cost:{Money(r){return f("far_reach",r,1e6,1.32,"interstellar")},Knowledge(r){return f("far_reach",r,1e5,1.32,"interstellar")},Neutronium(r){return f("far_reach",r,2500,1.32,"interstellar")},Elerium(r){return f("far_reach",r,100,1.32,"interstellar")},Aerogel(r){return f("far_reach",r,1e3,1.32,"interstellar")}},effect(){return`
${t("interstellar_far_reach_effect",[1])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(5)},action(){return _($(this)[0])?(S("far_reach","interstellar"),L($(this)[0]),e.tech.blackhole===1&&(e.tech.blackhole=2,ae()),!0):!1},struct(){return{d:{count:0,on:0},p:["far_reach","interstellar"]}},flair:t("interstellar_far_reach_flair")},stellar_engine:{id:"interstellar-stellar_engine",title:t("interstellar_stellar_engine"),desc(r){return!e.interstellar.hasOwnProperty("stellar_engine")||e.interstellar.stellar_engine.count<100||r?`
${t("interstellar_stellar_engine")}
${t("requires_segments",[100])}
`:`
${t("interstellar_stellar_engine")}
`},reqs:{blackhole:3},queue_size:10,queue_complete(){return 100-e.interstellar.stellar_engine.count},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?5e5:0},Neutronium(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?450:0},Adamantite(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?17500:0},Infernite(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?225:0},Graphene(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?45e3:0},Mythril(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?250:0},Aerogel(r){return(r||0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0)<100?75:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("stellar_engine")?e.interstellar.stellar_engine.count:0);if(a<100){let i=100-a;return`
${t("interstellar_stellar_engine_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else{let i=e.tech.gravity&&e.tech.gravity>=2?13.5:7.5,s=e.interstellar.stellar_engine?e.interstellar.stellar_engine.mass:8;e.tech.roid_eject&&(s+=.225*e.tech.roid_eject*(1+e.tech.roid_eject/12));let n=1+(e.stats.achieve.escape_velocity&&e.stats.achieve.escape_velocity.h?e.stats.achieve.escape_velocity.h*.02:0),c=nt((20+(s-8)*i+(e.interstellar.stellar_engine?e.interstellar.stellar_engine.exotic:0)*i*10).toFixed(2))*n;if(c>1e4&&(c=1e4+(c-1e4)**.975,c>2e4&&(c=2e4+(c-2e4)**.95),c>3e4&&(c=3e4+(c-3e4)**.925)),e.tech.blackhole>=5){let o=+e.interstellar.stellar_engine.exotic.toFixed(10),l=e.interstellar.stellar_engine.exotic>0?t("interstellar_stellar_engine_effect3",[s,o]):t("interstellar_stellar_engine_effect2",[s]);return`
${t("interstellar_stellar_engine_complete",[+c.toFixed(2)])}
${l}
`}else return t("interstellar_stellar_engine_complete",[+c.toFixed(2)])}},action(){return _($(this)[0])&&e.interstellar.stellar_engine.count<100?(S("stellar_engine","interstellar"),e.interstellar.stellar_engine.count>=100&&e.tech.blackhole===3&&(e.tech.blackhole=4,ae()),!0):!1},struct(){return{d:{count:0,mass:8,exotic:0},p:["stellar_engine","interstellar"]}}},mass_ejector:{id:"interstellar-mass_ejector",title:t("interstellar_mass_ejector"),desc:`
${t("interstellar_mass_ejector")}
${t("requires_power")}
`,reqs:{blackhole:5},cost:{Money(r){return f("mass_ejector",r,75e4,1.25,"interstellar")},Adamantite(r){return f("mass_ejector",r,125e3,1.25,"interstellar")},Infernite(r){return f("mass_ejector",r,275,1.25,"interstellar")},Elerium(r){return f("mass_ejector",r,100,1.25,"interstellar")},Mythril(r){return f("mass_ejector",r,1e4,1.25,"interstellar")}},effect(r){let a=`
${t("interstellar_mass_ejector_effect")}
`;if(e.race.universe!=="magic"&&(r||e.stats.blackhole)){let s=(.025-(e.interstellar?.stellar_engine?.exotic??0))*1e10,n=(e.interstellar?.mass_ejector?.Elerium??0)*Ve.Elerium;if(n+=(e.interstellar?.mass_ejector?.Infernite??0)*Ve.Infernite,s<=0)a+=`
${t("interstellar_mass_ejector_reached")}
`;else if(n<=0)a+=`
${t("interstellar_mass_ejector_timer",[t("time_never")])}
`;else{let c=ut(Math.round(s/n));a+=`
${t("interstellar_mass_ejector_timer",[c])}
`}}return a+=`
${t("minus_power",[$(this)[0].powered()])}
`,a},powered(){return V(3)},special:!0,sAction(){e.settings.civTabs=4,e.settings.marketTabs=2,e.settings.tabLoad||(Ma("mTabResource"),ue("interstellar-mass_ejector"))},action(){return _($(this)[0])?(S("mass_ejector","interstellar"),L($(this)[0]),e.interstellar.mass_ejector.count===1&&(I(t("interstellar_mass_ejector_msg"),"info",!1,["progress"]),e.settings.showEjector=!0,Ne()),Dr("ejector"),!0):!1},struct(){return{d:{count:0,on:0,total:0,mass:0,Food:0,Lumber:0,Chrysotile:0,Stone:0,Crystal:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Deuterium:0,Neutronium:0,Adamantite:0,Infernite:0,Elerium:0,Nano_Tube:0,Graphene:0,Stanene:0,Bolognium:0,Vitreloy:0,Orichalcum:0,Plywood:0,Brick:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0},p:["mass_ejector","interstellar"]}},flair(){return t("interstellar_mass_ejector_flair")}},jump_ship:{id:"interstellar-jump_ship",title:t("interstellar_jump_ship"),desc:t("interstellar_jump_ship_desc"),reqs:{stargate:1},grant:["stargate",2],queue_complete(){return e.tech.stargate>=2?0:1},cost:{Money(){return 2e7},Copper(){return 24e5},Aluminium(){return 4e6},Titanium(){return 125e4},Adamantite(){return 75e4},Stanene(){return 9e5},Aerogel(){return 1e5}},effect:t("interstellar_jump_ship_effect"),action(){return!!_($(this)[0])}},wormhole_mission:{id:"interstellar-wormhole_mission",title:t("space_mission_title",[t("interstellar_wormhole_name")]),desc:t("space_mission_desc",[t("interstellar_wormhole_name")]),reqs:{stargate:2},grant:["stargate",3],queue_complete(){return e.tech.stargate>=3?0:1},cost:{Helium_3(){return+ye(15e4).toFixed(0)},Deuterium(){return+ye(75e3).toFixed(0)}},effect:t("interstellar_wormhole_mission_effect"),action(){return _($(this)[0])?(y(Ue.int_blackhole.stargate),y(ce.gxy_stargate.gateway_station),I(t("interstellar_wormhole_mission_result"),"info",!1,["progress"]),!0):!1}},stargate:{id:"interstellar-stargate",title:t("interstellar_stargate"),desc(r){return!e.interstellar.hasOwnProperty("stargate")||e.interstellar.stargate.count<200||r?`
${t("interstellar_stargate")}
${t("requires_segments",[200])}
`+(e.interstellar.hasOwnProperty("stargate")&&e.interstellar.stargate.count>=200?`
${t("requires_power")}
`:""):`
${t("interstellar_stargate")}
`},reqs:{stargate:3},condition(){return!(e.interstellar.stargate.count>=200)},queue_size:10,queue_complete(){return 200-e.interstellar.stargate.count},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?1e6:0},Neutronium(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?4800:0},Infernite(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?666:0},Elerium(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?75:0},Nano_Tube(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?12e3:0},Stanene(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?6e4:0},Mythril(r){return(r||0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0)<200?3200:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("stargate")?e.interstellar.stargate.count:0);if(a<200){let i=200-a;return`
${t("interstellar_stargate_effect")}
${t("space_dwarf_collider_effect2",[i])}
`}else return Ue.int_blackhole.s_gate.effect()},action(){return _($(this)[0])&&e.interstellar.stargate.count<200?(S("stargate","interstellar"),e.interstellar.stargate.count>=200&&(e.tech.stargate=4,e.interstellar.s_gate={count:1,on:0},L($(Ue.int_blackhole.s_gate)[0]),Oa(),ue()),!0):!1},struct(){return{d:{count:0},p:["stargate","interstellar"]}}},s_gate:{id:"interstellar-s_gate",title:t("interstellar_stargate"),desc(){return`
${t("interstellar_stargate")}
${t("requires_power")}
`},reqs:{stargate:4},condition(){return e.interstellar.stargate.count>=200},wiki:!1,queue_complete(){return 0},cost:{},powered(){return V(250)},effect(){return`
${t("interstellar_s_gate_effect")}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return!1}}},int_sirius:{info:{name(){return e.tech.ascension>=3?t("interstellar_sirius_b_name"):t("interstellar_sirius_name")},desc(){return e.tech.ascension>=3?t("interstellar_sirius_b_desc"):t("interstellar_sirius_desc",[x[e.race.species].home])}},sirius_mission:{id:"interstellar-sirius_mission",title:t("space_mission_title",[t("interstellar_sirius_name")]),desc:t("space_mission_desc",[t("interstellar_sirius_name")]),reqs:{ascension:2},grant:["ascension",3],queue_complete(){return e.tech.ascension>=3?0:1},cost:{Helium_3(){return+ye(48e4).toFixed(0)},Deuterium(){return+ye(225e3).toFixed(0)}},effect(){return t("interstellar_sirius_mission_effect",[lt("name"),x[e.race.species].home])},action(){return!!_($(this)[0])}},sirius_b:{id:"interstellar-sirius_b",title:t("interstellar_sirius_b"),desc:t("interstellar_sirius_b"),reqs:{ascension:3},grant:["ascension",4],queue_complete(){return e.tech.ascension>=4?0:1},cost:{Knowledge(){return 2e7}},effect(){return t("interstellar_sirius_b_effect")},action(){return _($(this)[0])?(y(Ue.int_sirius.space_elevator),!0):!1}},space_elevator:{id:"interstellar-space_elevator",title:t("interstellar_space_elevator"),desc(r){return!e.interstellar.hasOwnProperty("space_elevator")||e.interstellar.space_elevator.count<100||r?`
${t("interstellar_space_elevator")}
${t("requires_segments",[100])}
`:`
${t("interstellar_space_elevator")}
`},reqs:{ascension:4},condition(){return!(e.interstellar.space_elevator.count>=100)},queue_size:5,queue_complete(){return 100-e.interstellar.space_elevator.count},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("space_elevator")?e.interstellar.space_elevator.count:0)<100?2e7:0},Nano_Tube(r){return(r||0)+(e.interstellar.hasOwnProperty("space_elevator")?e.interstellar.space_elevator.count:0)<100?5e5:0},Bolognium(r){return(r||0)+(e.interstellar.hasOwnProperty("space_elevator")?e.interstellar.space_elevator.count:0)<100?1e5:0},Mythril(r){return(r||0)+(e.interstellar.hasOwnProperty("space_elevator")?e.interstellar.space_elevator.count:0)<100?125e3:0}},effect(r){let a=`
${t("interstellar_space_elevator_effect")}
`,i=(r?.count??0)+(e.interstellar.hasOwnProperty("space_elevator")?e.interstellar.space_elevator.count:0);if(i<100){let s=100-i;a+=`
${t("space_dwarf_collider_effect2",[s])}
`}return a},action(){return _($(this)[0])&&e.interstellar.space_elevator.count<100?(S("space_elevator","interstellar"),e.interstellar.space_elevator.count>=100&&(e.tech.ascension=5,y(Ue.int_sirius.gravity_dome),Oa(),ue()),!0):!1},struct(){return{d:{count:0},p:["space_elevator","interstellar"]}}},gravity_dome:{id:"interstellar-gravity_dome",title:t("interstellar_gravity_dome"),desc(r){return!e.interstellar.hasOwnProperty("gravity_dome")||e.interstellar.gravity_dome.count<100||r?`
${t("interstellar_gravity_dome")}
${t("requires_segments",[100])}
`:`
${t("interstellar_gravity_dome")}
`},reqs:{ascension:5},condition(){return!(e.interstellar.gravity_dome.count>=100)},queue_size:5,queue_complete(){return 100-e.interstellar.gravity_dome.count},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("gravity_dome")?e.interstellar.gravity_dome.count:0)<100?35e6:0},Cement(r){return(r||0)+(e.interstellar.hasOwnProperty("gravity_dome")?e.interstellar.gravity_dome.count:0)<100?125e4:0},Adamantite(r){return(r||0)+(e.interstellar.hasOwnProperty("gravity_dome")?e.interstellar.gravity_dome.count:0)<100?65e4:0},Aerogel(r){return(r||0)+(e.interstellar.hasOwnProperty("gravity_dome")?e.interstellar.gravity_dome.count:0)<100?18e4:0}},effect(r){let a=`
${t("interstellar_gravity_dome_effect",[x[e.race.species].home])}
`,i=(r?.count??0)+(e.interstellar.hasOwnProperty("gravity_dome")?e.interstellar.gravity_dome.count:0);if(i<100){let s=100-i;a+=`
${t("space_dwarf_collider_effect2",[s])}
`}return a},action(){return _($(this)[0])&&e.interstellar.gravity_dome.count<100?(S("gravity_dome","interstellar"),e.interstellar.gravity_dome.count>=100&&(e.tech.ascension=6,y(Ue.int_sirius.ascension_machine),y(Ue.int_sirius.thermal_collector),Oa(),ue()),!0):!1},struct(){return{d:{count:0},p:["gravity_dome","interstellar"]}}},ascension_machine:{id:"interstellar-ascension_machine",title:t("interstellar_ascension_machine"),desc(r){return!e.interstellar.hasOwnProperty("ascension_machine")||e.interstellar.ascension_machine.count<100||r?`
${t("interstellar_ascension_machine")}
${t("requires_segments",[100])}
`+(e.interstellar.hasOwnProperty("ascension_machine")&&e.interstellar.ascension_machine.count>=100?`
${t("requires_power")}
`:""):`
${t("interstellar_ascension_machine")}
`},reqs:{ascension:6},condition(){return!(e.interstellar.ascension_machine.count>=100)},queue_size:5,queue_complete(){return 100-e.interstellar.ascension_machine.count},cost:{Money(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?75e6:0},Alloy(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?75e4:0},Neutronium(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?125e3:0},Elerium(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?1e3:0},Orichalcum(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?25e4:0},Nanoweave(r){return(r||0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0)<100?75e3:0}},effect(r){let a=(r?.count??0)+(e.interstellar.hasOwnProperty("ascension_machine")?e.interstellar.ascension_machine.count:0);if(a<100){let i=100-a;return`
${t("interstellar_ascension_machine_effect",[lt("name")])}
${t("space_dwarf_collider_effect2",[i])}
`}else return Ue.int_sirius.ascension_trigger.effect()},action(){return _($(this)[0])&&e.interstellar.ascension_machine.count<100?(S("ascension_machine","interstellar"),e.interstellar.ascension_machine.count>=100&&(e.tech.ascension=7,e.interstellar.ascension_trigger={count:1,on:0},Oa(),ue()),!0):!1},struct(){return{d:{count:0},p:["ascension_machine","interstellar"]}}},ascension_trigger:{id:"interstellar-ascension_trigger",title:t("interstellar_ascension_machine"),desc(){return`
${t("interstellar_ascension_machine")}
${t("requires_power")}
`},wiki:!1,reqs:{ascension:7},condition(){return e.interstellar.ascension_machine.count>=100},queue_complete(){return 0},cost:{},powered(){let r=$(this)[0].heatSink();return r<0&&(r=0),r},heatSink(){let r=100;if(e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=2){r+=e.stats.achieve.technophobe.l>=4?25:10;for(let i=1;i=5&&(r+=5)}return Math.round(V(1e4)-r*(e.interstellar.hasOwnProperty("thermal_collector")?e.interstellar.thermal_collector.count:0))},special(){return!!(e.tech.science&&e.tech.science>=24)},sAction(){e.eden.encampment.asc=!e.eden.encampment.asc,Oa()},postPower(r){r?setTimeout(function(){e.tech.ascension=H.ascension_trigger?8:7,Oa()},250):(e.tech.ascension=7,Oa())},effect(){if(e.eden.hasOwnProperty("encampment")&&e.eden.encampment.asc){let r=$(this)[0].heatSink();r=r<0?Math.abs(r):0;let a=150+r**.95/10,i=`
${t("eden_ascension_machine_effect1",[t("eden_encampment_title"),+a.toFixed(0),e.resource.Omniscience.name])}
`;if(r>0){let s=r/175;i+=`
${t("eden_ascension_machine_effect2",[t("eden_stabilizer_title"),+s.toFixed(2)])}
`;let n=r/125;i+=`
${t("eden_ascension_machine_effect2",[t("job_ghost_trapper"),+n.toFixed(2)])}
`}return i}else{let r=Is(),a=$(this)[0].powered(),i=a>0?`
${t("minus_power",[a])}
`:"";return`
${t("interstellar_ascension_trigger_effect")}
${r}${i}`}},action(){return!1}},ascend:{id:"interstellar-ascend",title:t("interstellar_ascend"),desc:t("interstellar_ascend"),reqs:{ascension:8},condition(){return!e.eden.hasOwnProperty("encampment")||!e.eden.encampment.asc},queue_complete(){return 0},no_multi:!0,cost:{},effect(){let r=Is();return`
${t("interstellar_ascend_effect")}
${r}`},action(){return _($(this)[0])?(Qr(!1),!0):!1}},thermal_collector:{id:"interstellar-thermal_collector",title:t("interstellar_thermal_collector"),desc:t("interstellar_thermal_collector"),reqs:{ascension:6},cost:{Money(r){return f("thermal_collector",r,5e6,1.08,"interstellar")},Infernite(r){return f("thermal_collector",r,25e3,1.08,"interstellar")},Stanene(r){return f("thermal_collector",r,1e6,1.08,"interstellar")},Vitreloy(r){return f("thermal_collector",r,1e5,1.08,"interstellar")}},effect(){let r=100;if(e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=2){r+=e.stats.achieve.technophobe.l>=4?25:10;for(let a=1;a=5&&(r+=5)}return t("interstellar_thermal_collector_effect",[r])},action(){return _($(this)[0])?(S("thermal_collector","interstellar"),!0):!1},struct(){return{d:{count:0},p:["thermal_collector","interstellar"]}}}}};function Is(){let r=$e("ascend"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("interstellar_ascension_trigger_effect2",[r.harmony,t("resource_Harmony_name")])}
${t("interstellar_ascension_trigger_effect3")}
`}function ho(){let r=$e("terraform"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${t("interstellar_ascension_trigger_effect2",[r.plasmid,a])}
${t("interstellar_ascension_trigger_effect2",[r.phage,t("resource_Phage_name")])}
${t("interstellar_ascension_trigger_effect2",[r.harmony,t("resource_Harmony_name")])}
${t("space_terraformer_effect3")}
`}var ce={gxy_gateway:{info:{name:t("galaxy_gateway"),desc(){return t("galaxy_gateway_desc")},control(){return{name:lt("name"),color:"success"}},support:"starbase"},gateway_mission:{id:"galaxy-gateway_mission",title:t("galaxy_gateway_mission"),desc:t("galaxy_gateway_mission"),reqs:{gateway:1},grant:["gateway",2],queue_complete(){return e.tech.gateway>=2?0:1},cost:{Helium_3(){return+ye(212e3).toFixed(0)},Deuterium(){return+ye(11e4).toFixed(0)}},effect:t("galaxy_gateway_mission_effect"),action(){return _($(this)[0])?(mo(),e.galaxy.defense={gxy_stargate:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0},gxy_gateway:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0},gxy_gorddon:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0},gxy_alien1:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0},gxy_alien2:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0},gxy_chthonian:{scout_ship:0,corvette_ship:0,frigate_ship:0,cruiser_ship:0,dreadnought:0}},!0):!1}},starbase:{id:"galaxy-starbase",title:t("galaxy_starbase"),desc(){return`
${t("galaxy_starbase")}
${t("requires_power_space",[e.resource.Food.name])}
`},reqs:{gateway:2},cost:{Money(r){return f("starbase",r,42e5,1.25,"galaxy")},Elerium(r){return f("starbase",r,1e3,1.25,"galaxy")},Mythril(r){return f("starbase",r,9e4,1.25,"galaxy")},Graphene(r){return f("starbase",r,32e4,1.25,"galaxy")},Horseshoe(){return e.race.hooved?5:0}},effect(r){let a=+ye(25).toFixed(2),i=250,s=$(this)[0].soldiers();return`
${t("galaxy_defense_platform_effect",[25])}
${t("galaxy_gateway_support",[$(this)[0].support()])}
${t("plus_max_soldiers",[s])}
${t("interstellar_alpha_starport_effect2",[a,$(this)[0].powered(r)])}
${t("interstellar_alpha_starport_effect3",[i,e.resource.Food.name])}
`},support(){return 2},powered(r){return V(ur(r)?12:0)},powerBalancer(){return[{s:e.galaxy.starbase.s_max-e.galaxy.starbase.support}]},refresh:!0,action(){return _($(this)[0])?(S("starbase","galaxy"),L($(this)[0]),e.tech.gateway===2&&(y(ce.gxy_gateway.bolognium_ship),e.tech.gateway=3),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["starbase","galaxy"]}},soldiers(){let r=e.tech.marines>=2?e.race.grenadier?5:8:e.race.grenadier?3:5;return E(r)}},ship_dock:{id:"galaxy-ship_dock",title:t("galaxy_ship_dock"),desc:`
${t("galaxy_ship_dock")}
${t("requires_power")}
`,reqs:{gateway:4},cost:{Money(r){return f("ship_dock",r,36e5,1.25,"galaxy")},Steel(r){return f("ship_dock",r,88e4,1.25,"galaxy")},Aluminium(r){return f("ship_dock",r,12e5,1.25,"galaxy")},Bolognium(r){return f("ship_dock",r,75e3,1.25,"galaxy")}},effect(r){return e.race.fasting?`
${t("galaxy_ship_dock_effect_fasting",[.1])}
${t("minus_power",[$(this)[0].powered(r)])}
`:`
${t("galaxy_ship_dock_effect",[.25])}
${t("minus_power",[$(this)[0].powered(r)])}
`},support(r){if(e.race.fasting){let a=r?e.galaxy.gateway_station.on:H.gateway_station;return a?.1*a:0}else{let a=r?e.galaxy.starbase.on:H.starbase;return a?.25*a:0}},powered(r){return V(ur(r)?4:0)},powerBalancer(){return e.race.fasting?[{s:e.galaxy.gateway_station.s_max-e.galaxy.gateway_station.support}]:[{s:e.galaxy.starbase.s_max-e.galaxy.starbase.support}]},action(){return _($(this)[0])?(S("ship_dock","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["ship_dock","galaxy"]}}},bolognium_ship:{id:"galaxy-bolognium_ship",title:t("galaxy_bolognium_ship"),desc(){return`
${t("galaxy_bolognium_ship_desc")}
${t("galaxy_starbase_support",[t("resource_Helium_3_name")])}
`},reqs:{gateway:3},cost:{Money(r){return f("bolognium_ship",r,14e5,1.22,"galaxy")},Iron(r){return f("bolognium_ship",r,56e4,1.22,"galaxy")},Infernite(r){return f("bolognium_ship",r,1800,1.22,"galaxy")},Nano_Tube(r){return f("bolognium_ship",r,475e3,1.22,"galaxy")}},effect(){let r=+ie("bolognium_ship").toFixed(3),a=+ye($(this)[0].ship.helium).toFixed(2);return`
${t("gain",[r,t("resource_Bolognium_name")])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[a,e.resource.Helium_3.name])}
`},s_type:"gateway",support(){return-1},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*2:2},mil(){return 0},helium:5},powered(){return 0},action(){return _($(this)[0])?(S("bolognium_ship","galaxy"),e.resource.Bolognium.display=!0,e.civic.crew.display=!0,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0},p:["bolognium_ship","galaxy"]}}},scout_ship:{id:"galaxy-scout_ship",title:t("galaxy_scout_ship"),desc(){return`
${t("galaxy_scout_ship")}
${t("galaxy_starbase_support",[t("resource_Helium_3_name")])}
`},reqs:{andromeda:1},cost:{Money(r){return f("scout_ship",r,16e5,1.25,"galaxy")},Titanium(r){return f("scout_ship",r,325e3,1.25,"galaxy")},Graphene(r){return f("scout_ship",r,118e3,1.25,"galaxy")},Soul_Gem(r){return f("scout_ship",r,1,1.02,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2),a=e.tech.science>=17?`
${t("galaxy_scout_ship_effect2",[25])}
`:"";return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("galaxy_scout_ship_effect")}
${a}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},s_type:"gateway",support(){return-1},ship:{civ(){return e.race.grenadier?0:e.race.high_pop?v.high_pop.vars()[0]*1:1},mil(){let r=e.race.high_pop?v.high_pop.vars()[0]*1:1;return e.race.grenadier?Math.ceil(r/2):r},helium:6,rating(){let r=e.race.banana?7:10;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?1:5),r}},powered(){return 0},action(){return _($(this)[0])?(S("scout_ship","galaxy"),e.galaxy.defense.gxy_gateway.scout_ship++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["scout_ship","galaxy"]}}},corvette_ship:{id:"galaxy-corvette_ship",title:t("galaxy_corvette_ship"),desc(){return`
${t("galaxy_corvette_ship")}
${t("galaxy_starbase_support",[t("resource_Helium_3_name")])}
`},reqs:{andromeda:2},cost:{Money(r){return f("corvette_ship",r,45e5,1.25,"galaxy")},Steel(r){return f("corvette_ship",r,175e4,1.25,"galaxy")},Infernite(r){return f("corvette_ship",r,16e3,1.25,"galaxy")},Bolognium(r){return f("corvette_ship",r,35e3,1.25,"galaxy")},Soul_Gem(r){return f("corvette_ship",r,1,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2);return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},s_type:"gateway",support(){return-1},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*2:2},mil(){let r=e.race.grenadier?2:3;return e.race.high_pop?v.high_pop.vars()[0]*r:r},helium:10,rating(){let r=e.race.banana?21:30;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?4:10),r}},powered(){return 0},action(){return _($(this)[0])?(S("corvette_ship","galaxy"),e.galaxy.defense.gxy_gateway.corvette_ship++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["corvette_ship","galaxy"]}}},frigate_ship:{id:"galaxy-frigate_ship",title:t("galaxy_frigate_ship"),desc(){return`
${t("galaxy_frigate_ship")}
${t("galaxy_starbase_support",[t("resource_Helium_3_name")])}
`},reqs:{andromeda:3},cost:{Money(r){return f("frigate_ship",r,18e6,1.25,"galaxy")},Elerium(r){return f("frigate_ship",r,1250,1.25,"galaxy")},Mythril(r){return f("frigate_ship",r,35e4,1.25,"galaxy")},Sheet_Metal(r){return f("frigate_ship",r,8e5,1.25,"galaxy")},Soul_Gem(r){return f("frigate_ship",r,2,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2);return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},s_type:"gateway",support(){return-2},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*3:3},mil(){let r=e.race.grenadier?3:5;return e.race.high_pop?v.high_pop.vars()[0]*r:r},helium:25,rating(){let r=e.race.banana?56:80;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?14:20),r}},powered(){return 0},action(){return _($(this)[0])?(S("frigate_ship","galaxy"),e.galaxy.defense.gxy_gateway.frigate_ship++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["frigate_ship","galaxy"]}},flair:t("tech_frigate_ship_flair")},cruiser_ship:{id:"galaxy-cruiser_ship",title:t("galaxy_cruiser_ship"),desc(){return`
${t("galaxy_cruiser_ship")}
${t("galaxy_starbase_support",[t("resource_Deuterium_name")])}
`},reqs:{andromeda:4},cost:{Money(r){return f("cruiser_ship",r,75e6,1.25,"galaxy")},Copper(r){return f("cruiser_ship",r,6e6,1.25,"galaxy")},Adamantite(r){return f("cruiser_ship",r,1e6,1.25,"galaxy")},Vitreloy(r){return f("cruiser_ship",r,75e4,1.25,"galaxy")},Elerium(r){return f("cruiser_ship",r,1800,1.25,"galaxy")},Soul_Gem(r){return f("cruiser_ship",r,5,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.deuterium).toFixed(2);return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[r,e.resource.Deuterium.name])}
`},s_type:"gateway",support(){return-3},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*6:6},mil(){let r=e.race.grenadier?6:10;return e.race.high_pop?v.high_pop.vars()[0]*r:r},deuterium:25,rating(){let r=e.race.banana?175:250;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?25:50),r}},powered(){return 0},action(){return _($(this)[0])?(S("cruiser_ship","galaxy"),e.galaxy.defense.gxy_gateway.cruiser_ship++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["cruiser_ship","galaxy"]}}},dreadnought:{id:"galaxy-dreadnought",title:t("galaxy_dreadnought"),desc(){return`
${t("galaxy_dreadnought")}
${t("galaxy_starbase_support",[t("resource_Deuterium_name")])}
`},reqs:{andromeda:5},cost:{Money(r){return f("dreadnought",r,225e6,1.25,"galaxy")},Neutronium(r){return f("dreadnought",r,25e4,1.25,"galaxy")},Bolognium(r){return f("dreadnought",r,15e5,1.25,"galaxy")},Vitreloy(r){return f("dreadnought",r,1e6,1.25,"galaxy")},Infernite(r){return f("dreadnought",r,4e5,1.25,"galaxy")},Aerogel(r){return f("dreadnought",r,8e5,1.25,"galaxy")},Soul_Gem(r){return f("dreadnought",r,25,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.deuterium).toFixed(2);return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("galaxy_gateway_used_support",[-$(this)[0].support()])}
${t("spend",[r,e.resource.Deuterium.name])}
`},s_type:"gateway",support(){return-5},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*10:10},mil(){let r=e.race.grenadier?12:20;return e.race.high_pop?v.high_pop.vars()[0]*r:r},deuterium:80,rating(){let r=e.race.banana?1260:1800;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?140:200),r}},powered(){return 0},action(){return _($(this)[0])?(S("dreadnought","galaxy"),e.galaxy.defense.gxy_gateway.dreadnought++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["dreadnought","galaxy"]}}}},gxy_stargate:{info:{name:t("galaxy_stargate"),desc(){return e.tech.piracy?t("galaxy_stargate_desc_alt"):t("galaxy_stargate_desc")},control(){return{name:lt("name"),color:"success"}}},gateway_station:{id:"galaxy-gateway_station",title:t("galaxy_gateway_station"),desc(){return`
${t("galaxy_gateway_station_desc")}
${t("requires_power")}
`},reqs:{stargate:4},cost:{Money(r){return f("gateway_station",r,5e6,1.25,"galaxy")},Aluminium(r){return f("gateway_station",r,52e4,1.25,"galaxy")},Polymer(r){return f("gateway_station",r,35e4,1.25,"galaxy")},Neutronium(r){return f("gateway_station",r,17500,1.25,"galaxy")}},effect(r){let a=G(2e3),i=G(4500),s=G(50),n="";return e.tech.gateway&&e.tech.gateway>=2&&(n=`
${t("galaxy_gateway_support",[$(this)[0].support()])}
`),`${n}
${t("plus_max_resource",[a,t("resource_Helium_3_name")])}
${t("plus_max_resource",[i,t("resource_Deuterium_name")])}
${t("plus_max_resource",[s,t("resource_Elerium_name")])}
${t("minus_power",[$(this)[0].powered(r)])}
`},support(){return .5},powered(r){return V(ur(r)?4:0)},powerBalancer(){return e.galaxy.hasOwnProperty("starbase")?[{s:e.galaxy.starbase.s_max-e.galaxy.starbase.support}]:!1},refresh:!0,action(){return _($(this)[0])?(S("gateway_station","galaxy"),e.resource.Helium_3.max+=G(2e3),e.resource.Deuterium.max+=G(4500),e.tech.stargate===4&&(y(ce.gxy_stargate.telemetry_beacon),e.tech.stargate=5),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["gateway_station","galaxy"]}}},telemetry_beacon:{id:"galaxy-telemetry_beacon",title:t("galaxy_telemetry_beacon"),desc(){return`
${t("galaxy_telemetry_beacon")}
${t("requires_power")}
`},reqs:{stargate:5},cost:{Money(r){return f("telemetry_beacon",r,225e4,1.25,"galaxy")},Copper(r){return f("telemetry_beacon",r,685e3,1.25,"galaxy")},Alloy(r){return f("telemetry_beacon",r,425e3,1.25,"galaxy")},Iridium(r){return f("telemetry_beacon",r,177e3,1.25,"galaxy")}},effect(r){let a=e.tech.telemetry?1200:800;if(e.tech.science>=17){let c=r?e.galaxy.scout_ship.on:Mr.scout_ship;a+=c*25}let i=r?e.galaxy?.telemetry_beacon?.on??0:H.telemetry_beacon,s=i?a*i:0,n="";return e.tech.gateway&&e.tech.gateway>=2&&(n=`
${t("galaxy_gateway_support",[$(this)[0].support()])}
`),`${n}
${t("galaxy_telemetry_beacon_effect1",[a])}
${t("galaxy_telemetry_beacon_effect2",[s])}
${t("minus_power",[$(this)[0].powered(r)])}
`},support(){return e.tech.telemetry?.75:.5},powered(r){return V(ur(r)?4:0)},powerBalancer(){return e.galaxy.hasOwnProperty("starbase")?[{s:e.galaxy.starbase.s_max-e.galaxy.starbase.support}]:!1},postPower(r){let a=r?H.telemetry_beacon+W():H.telemetry_beacon-W();a>e.galaxy.telemetry_beacon.count?a=e.galaxy.telemetry_beacon.count:a<0&&(a=0),H.telemetry_beacon=a,es($(this)[0],"galaxy","telemetry_beacon")},action(){return _($(this)[0])?(S("telemetry_beacon","galaxy"),L($(this)[0])&&(e.resource.Knowledge.max+=1750),e.tech.gateway||(y(ce.gxy_gateway.starbase),e.settings.space.gateway=!0,e.tech.gateway=1,Vn()),!0):!1},struct(){return{d:{count:0,on:0},p:["telemetry_beacon","galaxy"]}}},gateway_depot:{id:"galaxy-gateway_depot",title:t("galaxy_gateway_depot"),desc:`
${t("galaxy_gateway_depot")}
`,reqs:{gateway:5},cost:{Money(r){return f("gateway_depot",r,4e6,1.25,"galaxy")},Neutronium(r){return f("gateway_depot",r,8e4,1.25,"galaxy")},Stanene(r){return f("gateway_depot",r,5e5,1.25,"galaxy")},Vitreloy(r){return f("gateway_depot",r,2500,1.25,"galaxy")}},wide:!0,effect(r){let a=e.tech.world_control?150:100,i=G(200),s=fo(),n=X(+G(3e3*s).toFixed(0),1),c=X(+G(25e4*s).toFixed(0),1),o=X(+G(9001*s).toFixed(0),1),l=X(+G(6660*s).toFixed(0),1),u='
';return u=u+`${t("plus_max_crates",[a])}${t("plus_max_containers",[a])}`,u=u+`${t("plus_max_resource",[n,e.resource.Uranium.name])}`,u=u+`${t("plus_max_resource",[c,e.resource.Nano_Tube.name])}`,u=u+`${t("plus_max_resource",[o,e.resource.Neutronium.name])}`,u=u+`${t("plus_max_resource",[l,e.resource.Infernite.name])}`,u=u+"
",`${u}
${t("galaxy_gateway_depot_effect",[i,t("resource_Elerium_name")])}
${t("minus_power",[$(this)[0].powered(r)])}
`},powered(r){return V(ur(r)?10:0)},action(){if(_($(this)[0])){S("gateway_depot","galaxy");let r=e.tech.world_control?150:100;e.resource.Crates.max+=r,e.resource.Containers.max+=r,e.resource.Containers.display||wr();let a=fo();return e.resource.Uranium.max+=G(3e3*a),e.resource.Nano_Tube.max+=G(25e4*a),e.resource.Neutronium.max+=G(9001*a),e.resource.Infernite.max+=G(6660*a),L($(this)[0]),!0}return!1},struct(){return{d:{count:0,on:0},p:["gateway_depot","galaxy"]}}},defense_platform:{id:"galaxy-defense_platform",title:t("galaxy_defense_platform"),desc(){return`
${t("galaxy_defense_platform")}
${t("requires_power")}
`},reqs:{stargate:6},cost:{Money(r){return f("defense_platform",r,75e4,1.25,"galaxy")},Adamantite(r){return f("defense_platform",r,425e3,1.25,"galaxy")},Elerium(r){return f("defense_platform",r,800,1.25,"galaxy")},Vitreloy(r){return f("defense_platform",r,1250,1.25,"galaxy")},Wrought_Iron(r){return f("defense_platform",r,75e3,1.25,"galaxy")}},effect(r){return`
${t("galaxy_defense_platform_effect",[20])}
${t("minus_power",[$(this)[0].powered(r)])}
`},powered(r){return V(ur(r)?5:0)},postPower(r){C({el:"#gxy_stargate"},"update")},action(){return _($(this)[0])?(S("defense_platform","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["defense_platform","galaxy"]}},post(){C({el:"#gxy_stargate"},"update")}}},gxy_gorddon:{info:{name:t("galaxy_gorddon"),desc(){return t("galaxy_gorddon_desc")},control(){return{name:x[e.galaxy.alien1.id].name,color:"advanced"}}},gorddon_mission:{id:"galaxy-gorddon_mission",title:t("galaxy_gorddon_mission"),desc:t("galaxy_gorddon_mission_desc"),reqs:{xeno:2},grant:["xeno",3],queue_complete(){return e.tech.xeno>=3?0:1},cost:{Structs(){return{galaxy:{scout_ship:{s:"gxy_gateway",count:2,on:2},corvette_ship:{s:"gxy_gateway",count:1,on:1}}}},Helium_3(){return+ye(23e4).toFixed(0)},Deuterium(){return+ye(125e3).toFixed(0)}},effect:t("galaxy_gorddon_mission_effect"),action(){if(_($(this)[0])){mo(),e.galaxy.defense.gxy_gateway.scout_ship-=2,e.galaxy.defense.gxy_gorddon.scout_ship+=2,e.galaxy.defense.gxy_gateway.corvette_ship--,e.galaxy.defense.gxy_gorddon.corvette_ship++;let r=x[e.galaxy.alien1.id].name,a=x[e.galaxy.alien1.id].entity,i=x[e.galaxy.alien2.id].name,s=x[e.galaxy.alien2.id].entity;return I(t("galaxy_gorddon_mission_result",[a,r,s,i]),"info",!1,["progress"]),!0}return!1}},embassy:{id:"galaxy-embassy",title:t("galaxy_embassy"),desc(){return`
${t("galaxy_embassy")}
${t("requires_power_combo",[e.resource.Food.name])}
`},reqs:{xeno:4},queue_complete(){return 1-e.galaxy.embassy.count},cost:{Money(r){return(r||0)+(e.galaxy.hasOwnProperty("embassy")?e.galaxy.embassy.count:0)<1?3e7:0},Lumber(r){return(r||0)+(e.galaxy.hasOwnProperty("embassy")?e.galaxy.embassy.count:0)<1?38e6:0},Stone(r){return(r||0)+(e.galaxy.hasOwnProperty("embassy")?e.galaxy.embassy.count:0)<1?32e6:0},Furs(r){return(r||0)+(e.galaxy.hasOwnProperty("embassy")?e.galaxy.embassy.count:0)<1?18e6:0},Wrought_Iron(r){return(r||0)+(e.galaxy.hasOwnProperty("embassy")?e.galaxy.embassy.count:0)<1?6e6:0}},effect(r){let a=7500,i="";e.tech.xeno>=11&&(i=`
${t("plus_max_citizens",[$(this)[0].citizens()])}
`);let s="";return e.race.fasting||(s=`
${t("interstellar_alpha_starport_effect3",[a,e.resource.Food.name])}
`),`
${t("galaxy_embassy_effect",[x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].name])}
${i}${s}
${t("minus_power",[$(this)[0].powered(r)])}
`},powered(r){return V(ur(r)?25:0)},refresh:!0,action(){if(e.galaxy.embassy.count<1&&_($(this)[0])){if(S("embassy","galaxy"),L($(this)[0]),e.tech.xeno===4&&(e.tech.xeno=5,y(ce.gxy_gorddon.freighter),e.galaxy.trade={max:0,cur:0,f0:0,f1:0,f2:0,f3:0,f4:0,f5:0,f6:0,f7:0,f8:0},I(t("galaxy_embassy_complete",[x[e.galaxy.alien1.id].name,x[e.galaxy.alien2.id].name]),"info",!1,["progress"])),e.race.fasting){let r=fe();e.stats.endless_hunger.b1[r]=!0,r!=="m"&&r!=="l"&&(e.stats.endless_hunger.b1.l=!0)}return!0}return!1},struct(){return{d:{count:0,on:0},p:["embassy","galaxy"]}},citizens(){let r=20;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},dormitory:{id:"galaxy-dormitory",title(){return Ce("dormitory")},desc(){return`
${Ce("dormitory")}
${t("requires_power")}
`},reqs:{xeno:6},cost:{Money(r){return f("dormitory",r,1e7,1.25,"galaxy")},Furs(r){return f("dormitory",r,7e5,1.25,"galaxy")},Cement(r){return f("dormitory",r,12e5,1.25,"galaxy")},Plywood(r){return f("dormitory",r,85e3,1.25,"galaxy")},Horseshoe(){return e.race.hooved?3:0}},effect(){return`
${t("requires_res",[t("galaxy_embassy")])}
${t("plus_max_citizens",[$(this)[0].citizens()])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(3)},action(){return _($(this)[0])?(S("dormitory","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["dormitory","galaxy"]}},citizens(){let r=3;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},symposium:{id:"galaxy-symposium",title:t("galaxy_symposium"),desc(){return`
${t("galaxy_symposium")}
${t("requires_power")}
`},reqs:{xeno:6},cost:{Money(r){return f("symposium",r,8e6,1.25,"galaxy")},Food(r){return e.race.ravenous?0:f("symposium",r,e.race.artifical?45e3:125e3,1.25,"galaxy")},Lumber(r){return f("symposium",r,46e4,1.25,"galaxy")},Brick(r){return f("symposium",r,261600,1.25,"galaxy")}},effect(r){let a=Gt("gxy_gorddon",!1,!1,r),i="";return e.tech.xeno>=7&&(i=`
${t("galaxy_symposium_effect3",[+he(300*a).toFixed(2)])}
`),`
${t("requires_res",[t("galaxy_embassy")])}
${t("galaxy_symposium_effect",[(1750*a).toFixed(0)])}
${t("galaxy_symposium_effect2",[(650*a).toFixed(0)])}
${i}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(4)},action(){return _($(this)[0])?(S("symposium","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["symposium","galaxy"]}}},freighter:{id:"galaxy-freighter",title:t("galaxy_freighter"),desc(){return`
${t("galaxy_freighter")}
${t("galaxy_crew_fuel",[t("resource_Helium_3_name")])}
`},reqs:{xeno:5},cost:{Money(r){return f("freighter",r,6e6,1.2,"galaxy")},Uranium(r){return f("freighter",r,1e4,1.2,"galaxy")},Adamantite(r){return f("freighter",r,46e4,1.2,"galaxy")},Stanene(r){return f("freighter",r,261600,1.2,"galaxy")},Bolognium(r){return f("freighter",r,66e3,1.2,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2),a="";return e.tech.banking>=13&&(a=`
${t("interstellar_exchange_boost",[3])}
`),`
${t("requires_res",[t("galaxy_embassy")])}
${t("galaxy_freighter_effect",[2,x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].name])}
${a}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*3:3},mil(){return 0},helium:12},special:!0,powered(){return 0},action(){return _($(this)[0])?(S("freighter","galaxy"),e.galaxy.freighter.on++,e.resource.Vitreloy.display=!0,!0):!1},struct(){return{d:{count:0,on:0,crew:0},p:["freighter","galaxy"]}}}},gxy_alien1:{info:{name(){return t("galaxy_alien",[x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].home])},desc(){return t("galaxy_alien1_desc",[x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].home,x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].name])},control(){return{name:x[e.galaxy.alien1.id].name,color:"advanced"}}},consulate:{id:"galaxy-consulate",title:t("galaxy_consulate"),desc(){return t("galaxy_consulate_desc",[x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].home])},reqs:{xeno:8},queue_complete(){return 1-e.galaxy.consulate.count},cost:{Money(r){return(r||0)+(e.galaxy.hasOwnProperty("consulate")?e.galaxy.consulate.count:0)<1?9e7:0},Stone(r){return(r||0)+(e.galaxy.hasOwnProperty("consulate")?e.galaxy.consulate.count:0)<1?75e6:0},Furs(r){return(r||0)+(e.galaxy.hasOwnProperty("consulate")?e.galaxy.consulate.count:0)<1?3e7:0},Iron(r){return(r||0)+(e.galaxy.hasOwnProperty("consulate")?e.galaxy.consulate.count:0)<1?45e6:0},Horseshoe(r){return e.race.hooved&&(r||0)+(e.galaxy.hasOwnProperty("consulate")?e.galaxy.consulate.count:0)<1?10:0}},effect(){return t("plus_max_citizens",[$(this)[0].citizens()])},refresh:!0,action(){return _($(this)[0])&&e.galaxy.consulate.count<1?(S("consulate","galaxy"),y(ce.gxy_alien1.resort),y(ce.gxy_alien1.super_freighter),e.tech.xeno=9,!0):!1},struct(){return{d:{count:0},p:["consulate","galaxy"]}},citizens(){let r=10;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},resort:{id:"galaxy-resort",title:t("galaxy_resort"),desc(){return`
${t("galaxy_resort")}
${t("requires_power")}
`},reqs:{xeno:9},cost:{Money(r){return f("resort",r,ee("untrustworthy",33e6),1.25,"galaxy")},Stone(r){return f("resort",r,ee("untrustworthy",25e6),1.25,"galaxy")},Furs(r){return f("resort",r,ee("untrustworthy",1e7),1.25,"galaxy")},Oil(r){return f("resort",r,ee("untrustworthy",ye(125e3)),1.25,"galaxy")}},effect(){let r=G(e.tech.world_control?1875e3:15e5),a=e.race.joyless?"":`
${t("plus_max_resource",[E(2),t("job_entertainer")])}
`;return`
${t("plus_max_resource",[`$${r.toLocaleString()}`,t("resource_Money_name")])}
${a}
${t("space_red_vr_center_effect2",[2])}
`+`
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(5)},action(){return _($(this)[0])?(S("resort","galaxy"),L($(this)[0])&&(e.race.joyless||(e.civic.entertainer.max+=E(2),e.civic.entertainer.display=!0)),!0):!1},struct(){return{d:{count:0,on:0},p:["resort","galaxy"]}}},vitreloy_plant:{id:"galaxy-vitreloy_plant",title:t("galaxy_vitreloy_plant"),desc(){return`
${t("galaxy_vitreloy_plant")}
${t("galaxy_vitreloy_plant_desc")}
`},reqs:{xeno:10},cost:{Money(r){return f("vitreloy_plant",r,35e6,1.25,"galaxy")},Cement(r){return f("vitreloy_plant",r,18e5,1.25,"galaxy")},Neutronium(r){return f("vitreloy_plant",r,25e4,1.25,"galaxy")},Iridium(r){return f("vitreloy_plant",r,85e4,1.25,"galaxy")},Aerogel(r){return f("vitreloy_plant",r,4e5,1.25,"galaxy")}},effect(){let r=+ie("vitreloy_plant").toFixed(2),a=2.5,i=100,s=5e4;return`
${t("galaxy_vitreloy_plant_effect",[r])}
${t("galaxy_vitreloy_plant_effect2",[a,i])}
${t("galaxy_vitreloy_plant_effect3",[s,$(this)[0].powered()])}
`},powered(){return V(10)},action(){return _($(this)[0])?(S("vitreloy_plant","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["vitreloy_plant","galaxy"]}}},super_freighter:{id:"galaxy-super_freighter",title:t("galaxy_super_freighter"),desc(){return`
${t("galaxy_super_freighter")}
${t("galaxy_crew_fuel",[t("resource_Helium_3_name")])}
`},reqs:{xeno:9},cost:{Money(r){return f("super_freighter",r,28e6,1.2,"galaxy")},Aluminium(r){return f("super_freighter",r,35e5,1.2,"galaxy")},Alloy(r){return f("super_freighter",r,1e6,1.2,"galaxy")},Graphene(r){return f("super_freighter",r,75e4,1.2,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2),a="";return e.tech.banking>=13&&(a=`
${t("interstellar_exchange_boost",[8])}
`),`
${t("requires_res",[t("galaxy_embassy")])}
${t("galaxy_freighter_effect",[5,x[e.galaxy.hasOwnProperty("alien1")?e.galaxy.alien1.id:e.race.species].name])}
${a}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*5:5},mil(){return 0},helium:25},special:!0,powered(){return 0},action(){return _($(this)[0])?(S("super_freighter","galaxy"),e.galaxy.super_freighter.on++,!0):!1},struct(){return{d:{count:0,on:0,crew:0},p:["super_freighter","galaxy"]}}}},gxy_alien2:{info:{name(){return t("galaxy_alien",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])},desc(){return t("galaxy_alien2_desc",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red,x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].name])},control(){return{name:x[e.galaxy.alien2.id].name,color:"danger"}},support:"foothold"},alien2_mission:{id:"galaxy-alien2_mission",title(){return t("galaxy_alien2_mission",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])},desc(){return t("galaxy_alien2_mission_desc",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])},reqs:{andromeda:4},grant:["conflict",1],queue_complete(){return e.tech.conflict>=1?0:1},cost:{Custom(){if(e.galaxy.hasOwnProperty("defense")&&e.galaxy.defense.hasOwnProperty("gxy_alien2")){let r=0;return Object.keys(e.galaxy.defense.gxy_alien2).forEach(function(a){r+=ce.gxy_gateway[a].ship.rating()*e.galaxy.defense.gxy_alien2[a]}),{label:t("galaxy_fleet_rating",[`400`]),met:!(r<400)}}return{label:t("galaxy_fleet_rating",['400']),met:!1}}},effect(){let r=0;e.galaxy.hasOwnProperty("defense")&&e.galaxy.defense.hasOwnProperty("gxy_alien2")&&Object.keys(e.galaxy.defense.gxy_alien2).forEach(function(i){r+=ce.gxy_gateway[i].ship.rating()*e.galaxy.defense.gxy_alien2[i]});let a=r>=650?`${t("galaxy_piracy_low")}`:`${t("galaxy_piracy_avg")}`;return`
${t("galaxy_alien2_mission_effect2",[r])}
${t("galaxy_alien2_mission_effect3",[a])}
${t("galaxy_alien2_mission_effect",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].name])}
`},action(){if(_($(this)[0])){let r=0;if(Object.keys(e.galaxy.defense.gxy_alien2).forEach(function(a){r+=ce.gxy_gateway[a].ship.rating()*e.galaxy.defense.gxy_alien2[a]}),r>=400){if(I(t("galaxy_alien2_mission_result2",[x[e.galaxy.alien2.id].solar.red]),"info",!1,["progress"]),r<650){let a=80;e.race.instinct&&(a/=2);let i=[];Object.keys(e.galaxy.defense.gxy_alien2).forEach(function(s){for(let n=0;n0&&(a-=ce.gxy_gateway[s].ship.rating(),i.push(s))}),I(t("galaxy_chthonian_mission_result_losses",[i.map(s=>t(`galaxy_${s}`)).join(", ")]),"danger",!1,["progress"]);for(let s=0;s${t("galaxy_foothold")}
${t("requires_power_combo",[e.resource.Elerium.name])}
`},reqs:{conflict:1},cost:{Money(r){return f("foothold",r,25e6,1.25,"galaxy")},Titanium(r){return f("foothold",r,3e6,1.25,"galaxy")},Polymer(r){return f("foothold",r,175e4,1.25,"galaxy")},Iridium(r){return f("foothold",r,9e5,1.25,"galaxy")},Bolognium(r){return f("foothold",r,5e4,1.25,"galaxy")}},effect(r){let a=2.5;return`
${t("galaxy_defense_platform_effect",[50])}
${t("galaxy_foothold_effect",[$(this)[0].support(),x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])}
${t("galaxy_foothold_effect2",[a,$(this)[0].powered(r)])}
`},support(){return 4},powered(r){return V(ur(r)?20:0)},powerBalancer(){return[{s:e.galaxy.foothold.s_max-e.galaxy.foothold.support}]},action(){return _($(this)[0])?(S("foothold","galaxy"),L($(this)[0]),e.tech.conflict===1&&(y(ce.gxy_alien2.armed_miner),e.tech.conflict=2,Vn(),ae()),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["foothold","galaxy"]}}},armed_miner:{id:"galaxy-armed_miner",title:t("galaxy_armed_miner"),desc(){return`
${t("galaxy_armed_miner")}
`},reqs:{conflict:2},cost:{Money(r){return f("armed_miner",r,5e6,1.25,"galaxy")},Steel(r){return f("armed_miner",r,18e5,1.25,"galaxy")},Stanene(r){return f("armed_miner",r,1975e3,1.25,"galaxy")},Vitreloy(r){return f("armed_miner",r,2e4,1.25,"galaxy")},Soul_Gem(r){return f("armed_miner",r,1,1.25,"galaxy")}},effect(){let r=.032,a=.23,i=.65,s=+ye($(this)[0].ship.helium).toFixed(2);return`
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("gain",[r,t("resource_Bolognium_name")])}
${t("gain",[a,t("resource_Adamantite_name")])}
${t("gain",[i,t("resource_Iridium_name")])}
${t("galaxy_alien2_support",[$(this)[0].support(),x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("spend",[s,e.resource.Helium_3.name])}
`},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*2:2},mil(){return e.race.high_pop?v.high_pop.vars()[0]*1:1},helium:10,rating(){let r=e.race.banana?4:5;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?2:5),r}},s_type:"alien2",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("armed_miner","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["armed_miner","galaxy"]}}},ore_processor:{id:"galaxy-ore_processor",title:t("galaxy_ore_processor"),desc(){return`
${t("galaxy_ore_processor")}
`},reqs:{conflict:3},cost:{Money(r){return f("ore_processor",r,3e6,1.25,"galaxy")},Iron(r){return f("ore_processor",r,5e6,1.25,"galaxy")},Coal(r){return f("ore_processor",r,375e4,1.25,"galaxy")},Graphene(r){return f("ore_processor",r,225e4,1.25,"galaxy")}},effect(){return`
${t("galaxy_ore_processor_effect",[10])}
${t("galaxy_alien2_support",[$(this)[0].support(),x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])}
`},s_type:"alien2",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("ore_processor","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["ore_processor","galaxy"]}}},scavenger:{id:"galaxy-scavenger",title:t("galaxy_scavenger"),desc:t("galaxy_scavenger_desc"),reqs:{conflict:4},cost:{Money(r){return f("scavenger",r,75e5,1.25,"galaxy")},Alloy(r){return f("scavenger",r,125e4,1.25,"galaxy")},Aluminium(r){return f("scavenger",r,68e5,1.25,"galaxy")},Neutronium(r){return f("scavenger",r,75e3,1.25,"galaxy")},Elerium(r){return f("scavenger",r,750,1.25,"galaxy")}},effect(r){let a=Gt("gxy_alien2",!1,!1,r),i=Math.round(a*25e3),s=+ye($(this)[0].ship.helium).toFixed(2),n=e.race.cataclysm?`
${t("galaxy_scavenger_effect2_cata",[+(a*100*.75).toFixed(1)])}
`:`
${t("galaxy_scavenger_effect2",[+(a*100/4).toFixed(1)])}
`;return`
${t("galaxy_scavenger_effect",[i])}
${n}
${t("galaxy_alien2_support",[$(this)[0].support(),x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].solar.red])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
${t("spend",[s,e.resource.Helium_3.name])}
`},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*1:1},mil(){return 0},helium:12},s_type:"alien2",support(){return-1},powered(){return 0},action(){return _($(this)[0])?(S("scavenger","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0},p:["scavenger","galaxy"]}}}},gxy_chthonian:{info:{name(){return t("galaxy_chthonian")},desc(){return t("galaxy_chthonian_desc",[x[e.galaxy.hasOwnProperty("alien2")?e.galaxy.alien2.id:e.race.species].name])},control(){return{name:x[e.galaxy.alien2.id].name,color:"danger"}}},chthonian_mission:{id:"galaxy-chthonian_mission",title(){return t("galaxy_alien2_mission",[t("galaxy_chthonian")])},desc(){return t("galaxy_alien2_mission_desc",[t("galaxy_chthonian")])},reqs:{chthonian:1},grant:["chthonian",2],queue_complete(){return e.tech.chthonian>=2?0:1},cost:{Custom(){if(e.galaxy.hasOwnProperty("defense")&&e.galaxy.defense.hasOwnProperty("gxy_chthonian")){let r=0;return Object.keys(e.galaxy.defense.gxy_chthonian).forEach(function(a){r+=ce.gxy_gateway[a].ship.rating()*e.galaxy.defense.gxy_chthonian[a]}),{label:t("galaxy_fleet_rating",[`1250`]),met:!(r<1250)}}return{label:t("galaxy_fleet_rating",['1250']),met:!1}}},effect(){let r=0;e.galaxy.hasOwnProperty("defense")&&e.galaxy.defense.hasOwnProperty("gxy_chthonian")&&Object.keys(e.galaxy.defense.gxy_chthonian).forEach(function(i){r+=ce.gxy_gateway[i].ship.rating()*e.galaxy.defense.gxy_chthonian[i]});let a=r>=4500?`${t("galaxy_piracy_low")}`:r>=2500?`${t("galaxy_piracy_avg")}`:`${t("galaxy_piracy_high")}`;return`
${t("galaxy_alien2_mission_effect2",[r])}
${t("galaxy_alien2_mission_effect3",[a])}
${t("galaxy_alien2_mission_effect",[t("galaxy_chthonian")])}
`},action(){if(_($(this)[0])){let r=0;if(Object.keys(e.galaxy.defense.gxy_chthonian).forEach(function(a){r+=ce.gxy_gateway[a].ship.rating()*e.galaxy.defense.gxy_chthonian[a]}),r>=1250){let a=500,i=[];I(t("galaxy_chthonian_mission_result"),"info",!1,["progress"]),r>=2500&&(a=r>=4500?80:160),e.race.instinct&&(a/=2),Object.keys(e.galaxy.defense.gxy_chthonian).forEach(function(s){for(let n=0;n0&&(a-=ce.gxy_gateway[s].ship.rating(),i.push(s))}),I(t("galaxy_chthonian_mission_result_losses",[i.map(s=>t(`galaxy_${s}`)).join(", ")]),"danger",!1,["progress"]);for(let s=0;s${t("galaxy_minelayer")}`},reqs:{chthonian:2},cost:{Money(r){return f("minelayer",r,9e6,1.25,"galaxy")},Iron(r){return f("minelayer",r,48e5,1.25,"galaxy")},Nano_Tube(r){return f("minelayer",r,125e4,1.25,"galaxy")},Nanoweave(r){return f("minelayer",r,1e5,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2);return`
${t("requires_res",[t("galaxy_starbase")])}
${t("galaxy_defense_platform_effect",[$(this)[0].ship.rating()])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},ship:{civ(){return 0},mil(){let r=e.race.high_pop?v.high_pop.vars()[0]*1:1;return e.race.grenadier?Math.ceil(r/2):r},helium:8,rating(){let r=e.race.banana?35:50;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?15:25),r}},powered(){return 0},action(){return _($(this)[0])?(S("minelayer","galaxy"),e.galaxy.minelayer.on++,!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["minelayer","galaxy"]}},postPower(){C({el:"#gxy_chthonian"},"update")},post(){C({el:"#gxy_chthonian"},"update")}},excavator:{id:"galaxy-excavator",title:t("galaxy_excavator"),desc(){return`
${t("galaxy_excavator")}
`},reqs:{chthonian:3},cost:{Money(r){return f("excavator",r,12e6,1.25,"galaxy")},Polymer(r){return f("excavator",r,44e5,1.25,"galaxy")},Iridium(r){return f("excavator",r,36e5,1.25,"galaxy")},Mythril(r){return f("excavator",r,18e4,1.25,"galaxy")}},effect(){let r=+ie("excavator").toFixed(3);return`
${t("gain",[r,t("resource_Orichalcum_name")])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(8)},powerBalancer(){return[{r:"Orichalcum",p:ie("excavator")}]},action(){return _($(this)[0])?(S("excavator","galaxy"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["excavator","galaxy"]}}},raider:{id:"galaxy-raider",title:t("galaxy_raider"),desc(){return`
${t("galaxy_raider")}
`},reqs:{chthonian:3},cost:{Money(r){return f("raider",r,12e6,1.25,"galaxy")},Titanium(r){return f("raider",r,125e4,1.25,"galaxy")},Bolognium(r){return f("raider",r,6e5,1.25,"galaxy")},Vitreloy(r){return f("raider",r,125e3,1.25,"galaxy")},Stanene(r){return f("raider",r,825e3,1.25,"galaxy")}},effect(){let r=+ye($(this)[0].ship.helium).toFixed(2),a=.65,i=.05,s=2.3,n=.8;return`
${t("requires_res",[t("galaxy_starbase")])}
${t("galaxy_ship_rating",[$(this)[0].ship.rating()])}
${t("gain",[a,t("resource_Deuterium_name")])}
${t("gain",[i,t("resource_Vitreloy_name")])}
${t("gain",[s,t("resource_Polymer_name")])}
${t("gain",[n,t("resource_Neutronium_name")])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
${t("spend",[r,e.resource.Helium_3.name])}
`},ship:{civ(){return 0},mil(){let r=e.race.grenadier?1:2;return e.race.high_pop?v.high_pop.vars()[0]*r:r},helium:18,rating(){let r=e.race.banana?9:12;return e.race.wish&&e.race.wishStats&&e.race.wishStats.ship&&(r+=e.race.banana?3:6),r}},powered(){return 0},action(){return _($(this)[0])?(S("raider","galaxy"),e.galaxy.raider.on++,!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["raider","galaxy"]}},postPower(){C({el:"#gxy_chthonian"},"update")},post(){C({el:"#gxy_chthonian"},"update")}}}};function vo(r){let a="space";return r.substr(0,4)==="int_"?a="interstellar":r.substr(0,5)==="prtl_"?a="portal":r.substr(0,4)==="gxy_"?a="galaxy":r.substr(0,4)==="tau_"?a="tauceti":r.substr(0,5)==="eden_"&&(a="eden"),a}function Gt(r,a,i,s){if(e.tech.piracy&&!e.race.truepath){let n=0,c=["dreadnought","cruiser_ship","frigate_ship","corvette_ship","scout_ship"];for(let d=0;do?o:n;return((1-(o-d)/o)*l+(1-l))*(a?1:Gt("gxy_stargate",!1,!1,s))}else{let d=n>o?o:n;return(1-(o-d)/o)*l+(1-l)}}else return 1}function mo(){let r=["protoplasm",e.race.species];e.city.hasOwnProperty("surfaceDwellers")&&r.push(...e.city.surfaceDwellers),e.custom.hasOwnProperty("race0")||r.push("custom"),e.custom.hasOwnProperty("race1")||r.push("hybrid");let a=Object.keys(x).filter(function(n){return!["demonic","eldritch"].includes(x[n].type)&&!r.includes(n)}),i=Yi(a);e.galaxy.alien1={id:a[i]},r.push(a[i]),a=Object.keys(x).filter(function(n){return!["angelic"].includes(x[n].type)&&!r.includes(n)});let s=Yi(a);e.galaxy.alien2={id:a[s]}}function fo(){let r=1;return e.race.pack_rat&&(r*=1.05),e.stats.achieve.blackhole&&(r*=1+e.stats.achieve.blackhole.l*.05),r*=e.tech.world_control?2:1,r}var yu={satellite:{count:0},propellant_depot:{count:0},gps:{count:0},nav_beacon:{count:0,on:0},moon_base:{count:0,on:0,support:0,s_max:0},iridium_mine:{count:0,on:0},helium_mine:{count:0,on:0},observatory:{count:0,on:0},spaceport:{count:0,on:0,support:0,s_max:0},red_tower:{count:0,on:0},living_quarters:{count:0,on:0},vr_center:{count:0,on:0},garage:{count:0},red_mine:{count:0,on:0},fabrication:{count:0,on:0},red_factory:{count:0,on:0},exotic_lab:{count:0,on:0},ziggurat:{count:0},space_barracks:{count:0,on:0},biodome:{count:0,on:0},laboratory:{count:0,on:0},geothermal:{count:0,on:0},swarm_plant:{count:0},swarm_control:{count:0,support:0,s_max:0},swarm_satellite:{count:0},gas_mining:{count:0,on:0},gas_storage:{count:0},star_dock:{count:0,ship:0,probe:0,template:"human"},outpost:{count:0,on:0},drone:{count:0},oil_extractor:{count:0,on:0},space_station:{count:0,on:0,support:0,s_max:0},iridium_ship:{count:0,on:0},elerium_ship:{count:0,on:0},elerium_prospector:{count:0,on:0},iron_ship:{count:0,on:0},elerium_contain:{count:0,on:0},e_reactor:{count:0,on:0},world_collider:{count:0},world_controller:{count:0,on:0},starport:{count:0,on:0,support:0,s_max:0},mining_droid:{count:0,on:0,adam:0,uran:0,coal:0,alum:0},processing:{count:0,on:0},habitat:{count:0,on:0},fusion:{count:0,on:0},exchange:{count:0,on:0},warehouse:{count:0},xfer_station:{count:0,on:0},cargo_yard:{count:0},cruiser:{count:0,on:0},dyson:{count:0},nexus:{count:0,on:0,support:0,s_max:0},harvester:{count:0,on:0},far_reach:{count:0,on:0},stellar_engine:{count:0,mass:8,exotic:0},mass_ejector:{count:0,on:0,total:0,mass:0,Food:0,Lumber:0,Chrysotile:0,Stone:0,Crystal:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Deuterium:0,Neutronium:0,Adamantite:0,Infernite:0,Elerium:0,Nano_Tube:0,Graphene:0,Stanene:0,Bolognium:0,Vitreloy:0,Orichalcum:0,Plywood:0,Brick:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0},stargate:{count:0},gateway_station:{count:0,on:0},s_gate:{count:0,on:0},starbase:{count:0,on:0,support:0,s_max:0},bolognium_ship:{count:0,on:0,crew:0},scout_ship:{count:0,on:0,crew:0,mil:0},corvette_ship:{count:0,on:0,crew:0,mil:0},frigate_ship:{count:0,on:0,crew:0,mil:0},cruiser_ship:{count:0,on:0,crew:0,mil:0},dreadnought:{count:0,on:0,crew:0,mil:0},foothold:{count:0,on:0,support:0,s_max:0},turret:{count:0,on:0},carport:{count:0,damaged:0,repair:0},war_droid:{count:0,on:0},repair_droid:{count:0,on:0},war_drones:{count:0,on:0},sensor_drone:{count:0,on:0},attractor:{count:0,on:0}};function S(r,a){let i=r;typeof r=="object"&&(i=r.struct().p[0],a=r.struct().p[1]),a||(a="space"),e[a][i]||(e[a][i]=typeof r=="object"?r.struct().d:yu[i]),(e.race.living_materials||e[a][i].l_m)&&(e[a][i].l_m=0),e[a][i].count++}function Ps(r,a){return r&&a?Le[r][a]:Le}function yo(){return Ue}function bo(){return ce}function Un(r,a,i){switch(r){case"space":return Vt(Le,a,i);case"interstellar":return Vt(Ue,a,i);case"galaxy":return Vt(ce,a,i)}}function Vt(r,a,i){let s=e.race.truepath?"truepath":"standard";if(r[a][i].hasOwnProperty("path")&&!r[a][i].path.includes(s))return!1;var n=!0;return Object.keys(r[a][i].reqs).forEach(function(c){(!e.tech[c]||e.tech[c]=r[a][i].grant[1]&&(n=!1),n}function St(){!e.settings.tabLoad&&e.settings.civTabs!==1||(go("inner"),e.race.truepath&&go("outer"),Oa(),Vn())}function go(r){if(r||(r=e.settings.spaceTabs===5?"outer":"inner"),!e.settings.tabLoad&&(e.settings.civTabs!==1||![1,5].includes(e.settings.spaceTabs)||e.settings.civTabs===1&&e.settings.spaceTabs===1&&r!=="inner"||e.settings.spaceTabs===5&&r!=="outer"))return;let a=r==="inner"?$("#space"):$("#outerSol");if(K(a),a.append($(`

${t(r==="inner"?"tab_space":"tab_outer_space")}

`)),!e.settings.showSpace)return!1;let i=[];Object.keys(Le).forEach(function(s){e.race.orbit_decayed||e.race.cataclysm?s!=="spc_home"&&(i.push(s),(e.race.orbit_decayed&&s==="spc_red"||e.race.cataclysm&&s==="spc_moon")&&i.push("spc_home")):i.push(s)}),i.forEach(function(s){let n=s.replace("spc_","");if(e.settings.space[`${n}`]){if(e.race.truepath&&Le[s].info.zone!==r)return;let c=typeof Le[s].info.name=="string"?Le[s].info.name:Le[s].info.name(),o=!!(e.race.orbit_decayed||e.race.cataclysm);if(o&&s!=="spc_home"||!o){if(Le[s].info.support){let l=Le[s].info.support;e.space[l].hasOwnProperty("support")||(e.space[l].support=0,e.space[l].s_max=0),a.append(`

${c}

{{ support }}/{{ s_max }}
`),C({el:`#sr${s}`,data:e.space[l]})}else a.append(`

${c}

`);e.race.truepath&&Le[s].info.hasOwnProperty("syndicate")&&Le[s].info.syndicate()&&e.tech.syndicate&&($(`#${s}`).append(`
`),$(`#${s}synd`).append(`${t("space_syndicate")} `),$(`#${s}synd`).append(`${t("space_scan_effectiveness")} `),$(`#${s}synd`).append(`${t("space_overkill")} `),C({el:`#${s}synd`,data:e.space.syndicate,methods:{threat(l){if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")){let u=Wr(l,!0);if(u.s>=10)return u.s>=50?u.r:Math.round(u.r*u.s*.02)}return"???"},scan(l){return e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")?+((Wr(l,!0).s+25)/1.25).toFixed(1)+"%":t("galaxy_piracy_none")},overkill(l){if(e.space.hasOwnProperty("shipyard")&&e.space.shipyard.hasOwnProperty("ships")){let u=Wr(l,!0);return u.s>=100?u.o:0}return 0}}}),Le[s].info.hasOwnProperty("extra")&&Le[s].info.extra(s))}N(s,function(){return typeof Le[s].info.desc=="string"?Le[s].info.desc:Le[s].info.desc()},{elm:`#${s} h3.name`,classes:"has-background-light has-text-dark"}),Object.keys(Le[s]).forEach(function(l){if(l!=="info"&&Vt(Le,s,l)){let u=Le[s][l];er(u,r==="inner"?"space":"outerSol",l)}})}})}function Oa(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==2))return;let r=$("#interstellar");if(K(r),r.append($(`

${t("tab_interstellar")}

`)),!e.settings.showDeep)return!1;Object.keys(Ue).forEach(function(a){let i=a.replace("int_","");if(e.settings.space[`${i}`]){let s=typeof Ue[a].info.name=="string"?Ue[a].info.name:Ue[a].info.name();if(Ue[a].info.support){let n=Ue[a].info.support;e.interstellar[n].hasOwnProperty("support")||(e.interstellar[n].support=0,e.interstellar[n].s_max=0),r.append(`

${s}

{{ support }}/{{ s_max }}
`),C({el:`#sr${a}`,data:e.interstellar[n]})}else r.append(`

${s}

`);N(a,function(){return typeof Ue[a].info.desc=="string"?Ue[a].info.desc:Ue[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),Object.keys(Ue[a]).forEach(function(n){if(n!=="info"&&Vt(Ue,a,n)){let c=Ue[a][n];er(c,"interstellar",n)}})}})}function Vn(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==3))return;let r=$("#galaxy");if(K(r),r.append($(`

${t("tab_galactic")}

`)),!e.settings.showGalactic)return!1;bu(r,"fleet"),Object.keys(ce).forEach(function(a){let i=a.replace("gxy_","");if(e.galaxy.defense&&!e.galaxy.defense.hasOwnProperty(a)&&(e.galaxy.defense[a]={}),e.settings.space[`${i}`]){let s=typeof ce[a].info.name=="string"?ce[a].info.name:ce[a].info.name(),n=$(`
`);r.append(n);let c=$(`

${s}

`);n.append(c),e.tech.xeno&&e.tech.xeno>=3&&n.append(`{{ r.control().name }}`);let o={el:`#${a}`,data:{r:ce[a].info},methods:{threat(l){let u=e.race.infiltrator?1:2;if(e.galaxy.defense[l].scout_ship>=u){let p=(1-Gt(l,!0))*100;return p=p<1?Math.ceil(p):Math.round(p),p===0?"has-text-success":p<=20?"has-text-advanced":p<=40?"has-text-info":p<=60?"has-text-warning":p<=80?"has-text-caution":"has-text-danger"}return"has-text-danger"}},filters:{pirate(l){let u=e.race.infiltrator?1:2;if(e.galaxy.defense[l].scout_ship>=u){let p=(1-Gt(l,!0))*100;p=p<1?Math.ceil(p):Math.round(p);let h=e.race.infiltrator?3:4;return e.galaxy.defense[l].scout_ship>=h?`${p}%`:p===0?t("galaxy_piracy_none"):p<=20?t("galaxy_piracy_vlow"):p<=40?t("galaxy_piracy_low"):p<=60?t("galaxy_piracy_avg"):p<=80?t("galaxy_piracy_high"):t("galaxy_piracy_vhigh")}return"???"},defense(l){return Gt(l,!0,!0)}}};if(ce[a].info.support){let l=ce[a].info.support;e.galaxy[l]&&(e.galaxy[l].hasOwnProperty("support")||(e.galaxy[l].support=0,e.galaxy[l].s_max=0),n.append('{{ s.support }}/{{ s.s_max%1 ? s.s_max.toFixed(2) : s.s_max }}'),o.data.s=e.galaxy[l])}e.tech.piracy&&n.append(`
${t("galaxy_piracy_threat",[x[e.galaxy.alien2.id].name])}{{ '${a}' | pirate }}|${t("galaxy_armada")}: {{ '${a}' | defense }}
`),C(o),N(a,function(){return typeof ce[a].info.desc=="string"?ce[a].info.desc:ce[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),N(a,function(){return t("galaxy_control",[ce[a].info.control().name,s])},{elm:`#${a} .regionControl`,classes:"has-background-light has-text-dark"}),Object.keys(ce[a]).forEach(function(l){if(l!=="info"&&Vt(ce,a,l)){let u=ce[a][l];er(u,"galaxy",l)}})}})}function bu(r,a){if(e.tech.piracy&&!e.race.truepath){let i=$(`

${t("galaxy_armada")}

`);r.append(i);let s=e.tech.world_control?t("civics_garrison_peacekeepers"):t("civics_garrison_soldiers");i.append($("|")),i.append($(`${s} {{ g.workers | stationed }} / {{ g.max | s_max }}`)),i.append($("|")),i.append($(`${t("job_crew_mil")} {{ g.crew }}`)),i.append($("|")),i.append($(`${t("job_crew_civ")} {{ c.workers }} / {{ c.max }}`)),C({el:`#h${a}`,data:{g:e.civic.garrison,c:e.civic.crew},filters:{stationed(l){return we()},s_max(l){return we(!0)}}}),["soldier","crew1","crew2"].forEach(function(l){N(`h${a}${l}`,function(){switch(l){case"soldier":return Wn();case"crew1":return t("civics_garrison_crew_desc");case"crew2":return t("job_crew_desc")}},{elm:`#h${a} span.${l}`})});let n=$(`
`);r.append(n);let c=["scout_ship","corvette_ship","frigate_ship","cruiser_ship","dreadnought"],o=[];for(let l=0;l<6;l++){let u=$('
');o.push(u),n.append(u)}for(let l=0;l${ce.gxy_gateway[c[l]].title}`);o[l+1].append(u)}o[0].append($("")),o[0].append($(`${ce.gxy_gateway.info.name}`));for(let l=0;l{{ gateway.${c[l]} }}`);o[l+1].append(u)}Object.keys(e.galaxy.defense).forEach(function(l){let u=l.substring(4);if(e.settings.space[u]&&u!=="gateway"){let p=$(`${typeof ce[l].info.name=="string"?ce[l].info.name:ce[l].info.name()}`);o[0].append(p);for(let h=0;h'),g=$(`«`),w=$(`{{ ${u}.${c[h]} }}`),k=$(`»`);o[h+1].append(d),d.append(g),d.append(w),d.append(k)}}}),C({el:`#${a}`,data:{stargate:e.galaxy.defense.gxy_stargate,gateway:e.galaxy.defense.gxy_gateway,gorddon:e.galaxy.defense.gxy_gorddon,alien1:e.galaxy.defense.gxy_alien1,alien2:e.galaxy.defense.gxy_alien2,chthonian:e.galaxy.defense.gxy_chthonian,t:e.tech},methods:{sub(l,u){if(e.galaxy.defense[l][u]>0){let p=W();p>e.galaxy.defense[l][u]&&(p=e.galaxy.defense[l][u]),e.galaxy.defense.gxy_gateway[u]+=p,e.galaxy.defense[l][u]-=p}},add(l,u){if(e.galaxy.defense.gxy_gateway[u]>0){let p=W();p>e.galaxy.defense.gxy_gateway[u]&&(p=e.galaxy.defense.gxy_gateway[u]),e.galaxy.defense.gxy_gateway[u]-=p,e.galaxy.defense[l][u]+=p}}}}),Object.keys(e.galaxy.defense).forEach(function(l){let u=l.substring(4);e.settings.space[u]&&N(`armada${u}`,function(){return`
${typeof ce[l].info.desc=="string"?ce[l].info.desc:ce[l].info.desc()}
`})});for(let l=0;l=5&&i&&(r*=.95**i),r}function Ts(r,a){if(e.space.swarm_plant){let i=e.tech.swarm?.88:.94;e.tech.swarm>=3&&(i-=Cr(a)/100),i<.05&&(i=.05),r*=i**e.space.swarm_plant.count}return r}function ve(r,a,i){e.race.universe==="heavy"&&(r*=1.25+.5*Me("heavy")),e.race.truepath&&(r*=a?2.5:1.25);let s=i?e.city?.mass_driver?.on??0:H.mass_driver;if(s){let n=(i?i.truepath:e.race.truepath)?.94:.95;r*=n**s}return e.stats.achieve.heavyweight&&(r*=.96**e.stats.achieve.heavyweight.l),e.city.ptrait.includes("dense")&&(r*=Ie.dense.vars()[2]),e.race.cataclysm&&(r*=.2),e.race.heavy&&(r*=1+v.heavy.vars()[0]/100),e.race.gravity_well&&(r*=1.35+9.65*Me("heavy")),ke("launch_day")&&(r*=.95),r}function ye(r){return e.race.universe==="heavy"&&(r*=1.2+.3*Me("heavy")),e.stats.achieve.heavyweight&&(r*=.96**e.stats.achieve.heavyweight.l),e.race.heavy&&(r*=1+v.heavy.vars()[0]/100),ke("launch_day")&&(r*=.95),r}function A(){let r=x[e.race.species].type==="hybrid"?e.race.maintype:x[e.race.species].type,a={red:x[e.race.species].solar.red,hell:x[e.race.species].solar.hell,gas:x[e.race.species].solar.gas,gas_moon:x[e.race.species].solar.gas_moon,dwarf:x[e.race.species].solar.dwarf,titan:Na[r].solar.titan,enceladus:Na[r].solar.enceladus,triton:Na[r].solar.triton,eris:Na[r].solar.eris};if(e.race.species==="custom")for(let i of["titan","enceladus","triton","eris"])e.custom.race0.hasOwnProperty(i)&&(a[i]=e.custom.race0[i]);if(e.race.species==="hybrid")for(let i of["titan","enceladus","triton","eris"])e.custom.race1.hasOwnProperty(i)&&(a[i]=e.custom.race1[i]);return a}var vt=["l","h","a","e","m","mg"],zr={standard:{name:t("universe_standard"),desc:t("universe_standard_desc"),effect:t("universe_standard_effect")},heavy:{name:t("universe_heavy"),desc:t("universe_heavy_desc"),effect:t("universe_heavy_effect",[5])},antimatter:{name:t("universe_antimatter"),desc:t("universe_antimatter_desc"),effect:t("universe_antimatter_effect")},evil:{name:t("universe_evil"),desc:t("universe_evil_desc"),effect:t("universe_evil_effect")},micro:{name:t("universe_micro"),desc:t("universe_micro_desc"),effect:t("universe_micro_effect",[75])},magic:{name:t("universe_magic"),desc:t("universe_magic_desc"),effect:t("universe_magic_effect")}};function Qr(r,a){if(!a&&!e.race.noexport){ge.w&&ge.w.terminate(),e.sim||pe.setItem("evolveBak",LZString.compressToUTF16(JSON.stringify(e)));let z=x[e.race.species].type==="hybrid"?e.race.maintype:x[e.race.species].type;if(B(`biome_${e.city.biome}`),B(`genus_${z}`),r)if(B("godslayer"),["unicorn","seraph"].includes(e.race.species)&&B("traitor"),e.stats.achieve.what_is_best&&e.stats.achieve.what_is_best.e)e.race.noexport="Hybrid";else{Yc();return}else e.race.witch_hunter&&e.race.universe==="magic"?B("soul_sponge"):(B("ascended"),e.interstellar.thermal_collector.count===0&&oe("energetic")),e.race.species==="junker"&&oe("the_misery"),!e.race.modified&&e.race.junker&&e.race.species==="junker"&&oe("garbage_pie"),e.race.emfield&&B("technophobe"),e.race.cataclysm&&oe("finish_line"),e.race.noexport="Race";K($("#city")),e.settings.showCity=!0,e.settings.showCivic=!1,e.settings.showResearch=!1,e.settings.showResources=!1,e.settings.showGenetics=!1,e.settings.showSpace=!1,e.settings.showDeep=!1,e.settings.showGalactic=!1,e.settings.showPortal=!1,e.settings.showEden=!1,e.settings.spaceTabs=0}let i=$('
'),s={ascended:{},technophobe:e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l?e.stats.achieve.technophobe.l:0};a?a.append(i):$("#city").append(i);let n=`

${t("genelab_title")}

- ${t("genelab_genes")} {{ g.genes }} - ${t("trait_untapped_name")}: {{ g.genes | untapped }} - ${t("genelab_neg")} {{ td.neg }}/10
`;if(i.append(n),a){i.append(`
${t("achieve_ascended_name")}
`);let z=$("
");i.append(z),Object.keys(zr).forEach(function(Y){s.ascended[Y]=e.stats.achieve.ascended&&e.stats.achieve.ascended.hasOwnProperty(fe(Y))?e.stats.achieve.ascended[fe(Y)]:0,z.append(`
${t("universe_"+Y)}
@@ -211,7 +211,7 @@
- `),d+="",a.append(d),C({el:"#celestialLab",data:{p:h,w:i},methods:{pEdit(){h.pts=Es(h,r?i:!1)},setPlanet(){if(Es(h)>=0){Object.keys(h.geology).forEach(function(k){h.geology[k]===0?delete h.geology[k]:h.geology[k]/=100}),e.custom.hasOwnProperty("planet")||(e.custom.planet={});let g=fe();e.custom.planet.hasOwnProperty(g)||(e.custom.planet[g]={s:!1});let w="s";e.custom.planet[g][w]=Re(h),delete e.custom.planet[g][w].pts,eo(h)}},reset(){h.traitlist=[],Object.keys(h.geology).forEach(function(g){h.geology[g]=0}),h.pts=Es(h,r?i:!1)},less(g){h.geology[g]-=W(),h.geology[g]<-20&&(h.geology[g]=-20)},more(g){h.geology[g]+=W();let w=30;e.stats.achieve.whitehole&&(w+=e.stats.achieve.whitehole.l*5),h.biome==="eden"&&(w+=5),h.geology[g]>w&&(h.geology[g]=w)}},filters:{res(g){return h.geology[g]}}})}function Es(r,a){let i=(r.biome==="eden"?0:10)+(e.stats.achieve.lamentis?e.stats.achieve.lamentis.l*10:0);e.race.truepath&&(i*=2),i-=r.traitlist.length**3;let s=0;return Object.keys(r.geology).forEach(function(n){r.geology[n]!==0&&(i-=r.geology[n],s++)}),s>3&&(i-=(s-3)**2),i}function ur(r){return r?e.interstellar?.s_gate?.count?!!e.interstellar.s_gate.on:!0:!!H.s_gate}var et={prtl_fortress:{info:{name:t("portal_fortress_name"),desc:t("portal_fortress_desc"),repair(){let r=200;return H.repair_droid&&(r*=.95**H.repair_droid),Math.round(r)}},turret:{id:"portal-turret",title(){let r=e.tech.turret?e.tech.turret>=2?"portal_turret_title3":"portal_turret_title2":"portal_turret_title1";return t(r)},desc(){let r=e.tech.turret?e.tech.turret>=2?"portal_turret_title3":"portal_turret_title2":"portal_turret_title1";return`
${t(r)}
${t("requires_power")}
`},reqs:{portal:2},cost:{Money(r){return f("turret",r,35e4,1.28,"portal")},Copper(r){return f("turret",r,5e4,1.28,"portal")},Adamantite(r){return f("turret",r,8e3,1.28,"portal")},Elerium(r){return f("turret",r,15,1.28,"portal")},Nano_Tube(r){return f("turret",r,28e3,1.28,"portal")}},powered(){return V(e.tech.turret?4+e.tech.turret:4)},postPower(r){H.turret=e.portal.turret.on,C({el:"#fort"},"update")},effect(){let r=e.tech.turret?e.tech.turret>=2?70:50:35,a=$(this)[0].powered();return`
${t("portal_turret_effect",[r])}
${t("minus_power",[a])}
`},action(){return _($(this)[0])?(S("turret","portal"),L($(this)[0])&&(H.turret++,C({el:"#fort"},"update")),!0):!1},struct(){return{d:{count:0,on:0},p:["turret","portal"]}}},carport:{id:"portal-carport",title:t("portal_carport_title"),desc(){return t("portal_carport_desc",[E(1)])},reqs:{portal:2},cost:{Money(r){return f("carport",r,25e4,1.3,"portal")},Cement(r){return f("carport",r,18e3,1.3,"portal")},Oil(r){return f("carport",r,6500,1.3,"portal")},Plywood(r){return f("carport",r,8500,1.3,"portal")}},repair(){let r=180;return H.repair_droid&&(r*=.92**H.repair_droid),e.race.high_pop&&(r/=v.high_pop.vars()[2]),Math.round(r)},effect(){return`${t("portal_carport_effect",[E(1)])}`},action(){return _($(this)[0])?(S("carport","portal"),e.civic.hell_surveyor.display=!0,e.civic.hell_surveyor.max+=E(1),e.resource.Infernite.display=!0,e.tech.infernite||(e.tech.infernite=1,ae()),!0):!1},struct(){return{d:{count:0,damaged:0,repair:0},p:["carport","portal"]}}},war_droid:{id:"portal-war_droid",title:t("portal_war_droid_title"),desc(){return`
${t("portal_war_droid_title")}
${t("requires_power")}
`},reqs:{portal:5},cost:{Money(r){return f("war_droid",r,495e3,1.26,"portal")},Neutronium(r){return f("war_droid",r,1250,1.26,"portal")},Elerium(r){return f("war_droid",r,18,1.26,"portal")},Stanene(r){return f("war_droid",r,37500,1.26,"portal")},Soul_Gem(r){return f("war_droid",r,1,1.26,"portal")}},powered(){return V(2)},effect(){return`
${t("portal_war_droid_effect")}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("war_droid","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["war_droid","portal"]}},flair:t("portal_war_droid_flair")},repair_droid:{id:"portal-repair_droid",title:t("portal_repair_droid_title"),desc(){return`
${t("portal_repair_droid_title")}
${t("requires_power")}
`},reqs:{portal:6},cost:{Money(r){return f("repair_droid",r,444e3,1.26,"portal")},Iron(r){return f("repair_droid",r,88e3,1.26,"portal")},Iridium(r){return f("repair_droid",r,17616,1.26,"portal")},Infernite(r){return f("repair_droid",r,666,1.26,"portal")},Soul_Gem(r){return f("repair_droid",r,1,1.15,"portal")}},powered(){return V(3)},effect(){return`
${t("portal_repair_droid_effect",[5])}
${t("portal_repair_droid_effect2",[8])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("repair_droid","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["repair_droid","portal"]}},flair:t("portal_repair_droid_flair")}},prtl_badlands:{info:{name:t("portal_badlands_name"),desc:t("portal_badlands_desc")},war_drone:{id:"portal-war_drone",title:t("portal_war_drone_title"),desc(){return`
${t("portal_war_drone_title")}
${t("requires_power")}
`},reqs:{portal:3},powered(){return V(5)},cost:{Money(r){return f("war_drone",r,65e4,1.28,"portal")},Alloy(r){return f("war_drone",r,6e4,1.28,"portal")},Graphene(r){return f("war_drone",r,1e5,1.28,"portal")},Elerium(r){return f("war_drone",r,25,1.28,"portal")},Soul_Gem(r){return f("war_drone",r,1,1.28,"portal")}},effect(){return`
${t("portal_war_drone_effect")}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("war_drone","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["war_drone","portal"]}},flair:t("portal_war_drone_flair")},sensor_drone:{id:"portal-sensor_drone",title:t("portal_sensor_drone_title"),desc(){return`
${t("portal_sensor_drone_title")}
${t("requires_power")}
`},reqs:{infernite:2},powered(){return V(3)},cost:{Money(r){return f("sensor_drone",r,5e5,1.25,"portal")},Polymer(r){return f("sensor_drone",r,25e3,1.25,"portal")},Adamantite(r){return f("sensor_drone",r,12500,1.25,"portal")},Infernite(r){return f("sensor_drone",r,100,1.25,"portal")}},effect(){let r=e.tech.infernite>=4?e.tech.infernite>=6?50:20:10,a=e.tech.infernite>=6?2500:1e3,i=e.race.cataclysm?`
${t("space_moon_observatory_cata_effect",[2])}
`:`
${t("space_moon_observatory_effect",[2])}
${t("portal_sensor_drone_effect2",[2])}
`,s=e.tech.science>=14?`
${t("city_max_knowledge",[a])}
${i}`:"";return`
${t("portal_sensor_drone_effect",[r])}
${s}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("sensor_drone","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["sensor_drone","portal"]}}},attractor:{id:"portal-attractor",title:t("portal_attractor_title"),desc(){return`
${t("portal_attractor_title")}
${t("requires_power")}
`},reqs:{portal:4},powered(){return V(3)},cost:{Money(r){return f("attractor",r,35e4,1.25,"portal")},Aluminium(r){return f("attractor",r,175e3,1.25,"portal")},Stanene(r){return f("attractor",r,9e4,1.25,"portal")}},effect(){return`
${t("portal_attractor_effect1")}
${t("portal_attractor_effect2",[e.resource.Soul_Gem.name])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("attractor","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["attractor","portal"]}}}},prtl_pit:{info:{name:t("portal_pit_name"),desc:t("portal_pit_desc")},pit_mission:{id:"portal-pit_mission",title:t("portal_pit_mission_title"),desc:t("portal_pit_mission_title"),reqs:{hell_pit:1},grant:["hell_pit",2],queue_complete(){return e.tech.hell_pit>=2?0:1},cost:{Money(){return 5e6},Helium_3(){return 3e5},Deuterium(){return 2e5}},effect:t("portal_pit_mission_effect"),action(){return _($(this)[0])?(I(t("portal_pit_mission_result"),"info",!1,["progress","hell"]),!0):!1}},assault_forge:{id:"portal-assault_forge",title:t("portal_assault_forge_title"),desc:t("portal_assault_forge_title"),reqs:{hell_pit:2},grant:["hell_pit",3],queue_complete(){return e.tech.hell_pit>=3?0:1},cost:{Money(){return 1e7},HellArmy(){return Math.round(650/Qe(1,"hellArmy"))},Cement(){return 1e7},Adamantite(){return 125e4},Elerium(){return 2400},Stanene(){return 9e5}},effect:t("portal_assault_forge_effect"),action(){return _($(this)[0])?(I(t("portal_assault_forge_result"),"info",!1,["progress","hell"]),!0):!1}},soul_forge:{id:"portal-soul_forge",title:t("portal_soul_forge_title"),desc(){return`
${t("portal_soul_forge_desc")}
${t("requires_power")}
`},reqs:{hell_pit:4},queue_complete(){return 1-e.portal.soul_forge.count},powered(){return V(30)},postPower(r){C({el:"#fort"},"update")},cost:{Money(r){return(r||0)+(e.portal.hasOwnProperty("soul_forge")?e.portal.soul_forge.count:0)<1?25e6:0},Graphene(r){return(r||0)+(e.portal.hasOwnProperty("soul_forge")?e.portal.soul_forge.count:0)<1?15e5:0},Infernite(r){return(r||0)+(e.portal.hasOwnProperty("soul_forge")?e.portal.soul_forge.count:0)<1?25e3:0},Bolognium(r){return(r||0)+(e.portal.hasOwnProperty("soul_forge")?e.portal.soul_forge.count:0)<1?1e5:0}},effect(r){let a=`
${t("portal_soul_forge_effect",[e.resource.Soul_Gem.name])}
`;if((r?.count??0)+(e.portal.hasOwnProperty("soul_forge")?e.portal.soul_forge.count:0)>=1){let n=e.tech.hell_pit>=6?75e4:1e6,c=r?e.portal.soul_attractor.on:H.soul_attractor;e.tech.hell_pit>=7&&c>0&&(n*=.97**c),a=a+`
${t("portal_soul_forge_effect2",[e.portal.soul_forge?e.portal.soul_forge.kills.toLocaleString():0,Math.round(n).toLocaleString()])}
`}let s=Ls(r);return`${a}
${t("portal_soul_forge_soldiers",[s])}, ${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])&&e.portal.soul_forge.count<1?(S("soul_forge","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,kills:0},p:["soul_forge","portal"]}}},gun_emplacement:{id:"portal-gun_emplacement",title:t("portal_gun_emplacement_title"),desc(){return`
${t("portal_gun_emplacement_title")}
${t("requires_power")}
`},reqs:{hell_gun:1},powered(){return V(3)},cost:{Money(r){return f("gun_emplacement",r,4e6,1.25,"portal")},Coal(r){return f("gun_emplacement",r,25e4,1.25,"portal")},Steel(r){return f("gun_emplacement",r,12e5,1.25,"portal")},Wrought_Iron(r){return f("gun_emplacement",r,2e5,1.25,"portal")}},effect(){let r=e.tech.hell_gun>=2?E(2):E(1),a=e.tech.hell_gun>=2?35:20,i=e.tech.hell_gun>=2?75:40;return`
${t("portal_gun_emplacement_effect",[r])}
${t("portal_gun_emplacement_effect2",[a,i])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("gun_emplacement","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["gun_emplacement","portal"]}}},soul_attractor:{id:"portal-soul_attractor",title:t("portal_soul_attractor_title"),desc(){return`
${t("portal_soul_attractor_title")}
${t("requires_power")}
`},reqs:{hell_pit:5},powered(){return V(4)},cost:{Money(r){return f("soul_attractor",r,12e6,1.25,"portal")},Stone(r){return f("soul_attractor",r,23e6,1.25,"portal")},Nano_Tube(r){return f("soul_attractor",r,314159,1.25,"portal")},Vitreloy(r){return f("soul_attractor",r,1618,1.25,"portal")},Aerogel(r){return f("soul_attractor",r,18e4,1.25,"portal")}},effect(){let r=e.tech.hell_pit>=7?`
${t("portal_soul_attractor_effect2",[3])}
`:"",a=e.blood.attract?e.blood.attract*5:0;return e.tech.hell_pit&&e.tech.hell_pit>=8&&(a*=2),`
${t("portal_soul_attractor_effect",[40+a,120+a])}
${r}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("soul_attractor","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["soul_attractor","portal"]}}},soul_capacitor:{id:"portal-soul_capacitor",title:t("portal_soul_capacitor_title"),desc(){return`
${t("portal_soul_capacitor_desc")}
${t("requires_power")}
`},reqs:{forbidden:2},powered(){return V(125)},queue_complete(){return 40-e.portal.soul_capacitor.count},cost:{Money(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,75e7,1.01,"portal")},Crystal(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,125e4,1.01,"portal")},Adamantite(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,65e5,1.01,"portal")},Infernite(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,1e4,1.01,"portal")},Stanene(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,25e5,1.01,"portal")},Bolognium(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,1e6,1.01,"portal")},Soul_Gem(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,3,1.01,"portal")},Mythril(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,125e4,1.01,"portal")}},effect(){let r=25e5,a=e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.ecap:0,i=e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.energy:0,s=`
${t("portal_soul_capacitor_effect",[i.toLocaleString()])}
`;return s+=`
${t("portal_soul_capacitor_effect2",[a.toLocaleString()])}
`,s+=`
${t("portal_soul_capacitor_effect3",[r.toLocaleString()])}
`,s+=`
${t("minus_power",[$(this)[0].powered()])}
`,s},action(){return e.portal.soul_capacitor.count<40&&_($(this)[0])?(e.portal.soul_capacitor.count++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,energy:0,ecap:0},p:["soul_capacitor","portal"]}},postPower(){es($(this)[0],"portal","soul_capacitor")}},absorption_chamber:{id:"portal-absorption_chamber",title:t("portal_absorption_chamber_title"),desc(r){return!e.interstellar.hasOwnProperty("absorption_chamber")||e.portal.absorption_chamber.count<100||r?`
${t("portal_absorption_chamber_title")}
${t("requires_segments",[100])}
`:`
${t("portal_absorption_chamber_title")}
`},reqs:{forbidden:3},queue_size:5,queue_complete(){return 100-e.portal.absorption_chamber.count},cost:{Money(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?75e6:0},Alloy(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?75e4:0},Neutronium(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?125e3:0},Elerium(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?1e3:0},Orichalcum(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?25e4:0},Nanoweave(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?75e3:0}},effect(r){let a=(r?.count??0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0);if(a<100){let i=100-a;return`
${t("portal_absorption_chamber_incomplete")}
${t("space_dwarf_collider_effect2",[i])}
`}else{if(e.tech.forbidden===5)return`
${t("portal_absorption_chamber_effect_eld",[1e8.toLocaleString()])}
${t("tech_demonic_infusion_effect2",[$e("descend").artifact])}
`;{let i=Is();return`
${t("portal_absorption_chamber_effect",[1e8.toLocaleString()])}
${i}
`}}},action(){if(_($(this)[0])){if(e.portal.absorption_chamber.count<100)return S("absorption_chamber","portal"),e.portal.absorption_chamber.count>=100&&(e.tech.forbidden=4),!0;if(e.portal.soul_capacitor.energy>=1e8)return e.tech.forbidden===5?Ii():Qr(),!0}return!1},struct(){return{d:{count:0},p:["absorption_chamber","portal"]}}}},prtl_ruins:{info:{name:t("portal_ruins_name"),desc:t("portal_ruins_desc"),support:"guard_post",prop(){let r=` - ${t("portal_ruins_security")}: {{ on | filter('army') }}`;return r=r+` - ${t("portal_ruins_supressed")}: {{ on | filter('sup') }}`,r},filter(r,a){let i=Rr("ruins");switch(a){case"army":return Math.round(i.rating);case"sup":return`${+(i.supress*100).toFixed(2)}%`}}},ruins_mission:{id:"portal-ruins_mission",title:t("portal_ruins_mission_title"),desc:t("portal_ruins_mission_title"),reqs:{hell_ruins:1},grant:["hell_ruins",2],queue_complete(){return e.tech.hell_ruins>=2?0:1},cost:{Money(){return 1e8},Oil(){return 5e5},Helium_3(){return 5e5}},effect:t("portal_ruins_mission_effect"),action(){return _($(this)[0])?(I(t("portal_ruins_mission_result"),"info",!1,["progress","hell"]),e.portal.stonehedge={count:0},y(et.prtl_ruins.vault),y(et.prtl_ruins.archaeology),!0):!1}},guard_post:{id:"portal-guard_post",title:t("portal_guard_post_title"),desc(){return`
${t("portal_guard_post_title")}
${t("requires_soldiers")}
${t("requires_power")}
`},reqs:{hell_ruins:2},cost:{Money(r){return f("guard_post",r,8e6,1.06,"portal")},Lumber(r){return f("guard_post",r,65e5,1.06,"portal")},Sheet_Metal(r){return f("guard_post",r,3e5,1.06,"portal")}},powered(){return V(5)},support(){return 1},effect(){let r=e.race.holy?1+v.holy.vars()[1]/100:1,a=re("unicorn");a>0&&(r*=1+v.holy.vars(1)[1]/100*a);let i=Math.round(r*Qe(E(1),"hellArmy",0));return`
${t("portal_guard_post_effect1",[i])}
${t("portal_guard_post_effect2",[E(1),$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("guard_post","portal"),e.portal.guard_post.on++,!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["guard_post","portal"]}},postPower(){C({el:"#srprtl_ruins"},"update"),C({el:"#srprtl_gate"},"update")}},vault:{id:"portal-vault",title:t("portal_vault_title"),desc:t("portal_vault_title"),reqs:{hell_ruins:2,hell_vault:1},condition(){return!(e.portal.vault.count>=2)},queue_complete(){return 2-e.portal.vault.count},cost:{Soul_Gem(r){return(r||0)+(e.portal.hasOwnProperty("vault")?e.portal.vault.count:0)===0?100:0},Money(r){return(r||0)+(e.portal.hasOwnProperty("vault")?e.portal.vault.count:0)===1?25e7:0},Adamantite(r){return(r||0)+(e.portal.hasOwnProperty("vault")?e.portal.vault.count:0)===1?125e5:0},Orichalcum(r){return(r||0)+(e.portal.hasOwnProperty("vault")?e.portal.vault.count:0)===1?3e7:0}},effect(r){return(r?.count??0)+(e.portal.hasOwnProperty("vault")?e.portal.vault.count:0)<1?t("portal_vault_effect",[100]):t("portal_vault_effect2")},action(){return e.portal.vault.count<2&&_($(this)[0])?(S("vault","portal"),e.portal.vault.count===2&&(e.tech.hell_ruins=3,e.resource.Codex.display=!0,e.resource.Codex.amount=1,I(t("portal_vault_result"),"info",!1,["progress","hell"])),!0):!1},struct(){return{d:{count:0},p:["vault","portal"]}},post(){e.portal.vault.count===2&&(ae(),Ft(),le())}},archaeology:{id:"portal-archaeology",title:t("portal_archaeology_title"),desc(){return`
${t("portal_archaeology_title")}
${t("requires_security")}
${t("requires_power")}
`},reqs:{hell_ruins:2},cost:{Money(r){return f("archaeology",r,1e8,1.25,"portal")},Titanium(r){return f("archaeology",r,375e4,1.25,"portal")},Mythril(r){return f("archaeology",r,125e4,1.25,"portal")}},powered(){return V(8)},effect(){return`
${t("portal_archaeology_effect",[E(2)])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){if(_($(this)[0])){if(S("archaeology","portal"),e.civic.archaeologist.display=!0,L($(this)[0])){let r=E(2);e.civic.archaeologist.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.archaeologist.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["archaeology","portal"]}}},arcology:{id:"portal-arcology",title:t("portal_arcology_title"),desc(){return`
${t("portal_arcology_title")}
${t("requires_security")}
${t("requires_power")}
`},reqs:{housing:4},cost:{Money(r){return f("arcology",r,ee("untrustworthy",18e7),1.22,"portal")},Graphene(r){return f("arcology",r,ee("untrustworthy",75e5),1.22,"portal")},Bolognium(r){return f("arcology",r,ee("untrustworthy",28e5),1.22,"portal")},Orichalcum(r){return f("arcology",r,ee("untrustworthy",55e5),1.22,"portal")},Nanoweave(r){return f("arcology",r,ee("untrustworthy",65e4),1.22,"portal")},Horseshoe(){return e.race.hooved?13:0}},powered(){return V(25)},effect(r){let a=Rr("ruins",0,r),i=G(kr()*8*a.supress);i=+i.toFixed(0);let s=Math.round(Cr(r))*10,n=`
${t("plus_max_resource",[s,t("resource_Crates_name")])}
${t("plus_max_resource",[s,t("resource_Containers_name")])}
`;return`
${t("plus_max_resource",[`$${i.toLocaleString()}`,t("resource_Money_name")])}
${t("plus_max_citizens",[$(this)[0].citizens()])}
${t("plus_max_resource",[E(5),t("civics_garrison_soldiers")])}
${t("portal_guard_post_effect1",[75])}
${n}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("arcology","portal"),L($(this)[0])&&(e.resource[e.race.species].max+=8),e.resource.Containers.display||wr(),!0):!1},post(){C({el:"#srprtl_ruins"},"update"),ae()},postPower(){C({el:"#srprtl_ruins"},"update"),C({el:"#srprtl_gate"},"update")},struct(){return{d:{count:0,on:0},p:["arcology","portal"]}},soldiers(){let r=e.race.grenadier?3:5;return E(r)},citizens(){return E(8)}},hell_forge:{id:"portal-hell_forge",title:t("portal_hell_forge_title"),desc(){return`
${t("portal_hell_forge_title")}
${t("requires_security")}
${t("requires_power")}
`},reqs:{scarletite:1},cost:{Money(r){return f("hell_forge",r,25e7,1.15,"portal")},Coal(r){return f("hell_forge",r,165e4,1.22,"portal")},Steel(r){return f("hell_forge",r,38e5,1.22,"portal")},Iridium(r){return f("hell_forge",r,12e5,1.22,"portal")},Neutronium(r){return f("hell_forge",r,28e4,1.22,"portal")},Soul_Gem(r){return f("hell_forge",r,5,1.22,"portal")}},powered(){return V(12)},special:!0,effect(r){let i=+(75*Rr("ruins",0,r).supress).toFixed(1),s=e.tech.inferno_power?`
${t("portal_hell_forge_effect2",[10,t("portal_inferno_power_title")])}
`:"";return`
${t("portal_hell_forge_effect",[E(1)])}
${s}
${t("interstellar_stellar_forge_effect3",[3])}
${t("interstellar_stellar_forge_effect",[i])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("hell_forge","portal"),L($(this)[0])&&(e.city.smelter.cap+=3,e.city.smelter.Oil+=3,e.city.smelter.Iron+=3),!0):!1},struct(){return{d:{count:0,on:0},p:["hell_forge","portal"]}},post(){gt()},postPower(r){Bi("Scarletite")}},inferno_power:{id:"portal-inferno_power",title:t("portal_inferno_power_title"),desc(){return`
${t("portal_inferno_power_title")}
`},reqs:{inferno_power:1},cost:{Money(r){return f("inferno_power",r,275e6,1.16,"portal")},Neutronium(r){return f("inferno_power",r,375e4,1.18,"portal")},Stanene(r){return f("inferno_power",r,12e6,1.18,"portal")},Bolognium(r){return f("inferno_power",r,8e6,1.18,"portal")}},powered(r){let a=20,i=r?e.portal?.hell_forge?.on??0:H.hell_forge;return i&&(a+=i*10),nt(-a)},fuel:{Infernite:5,Coal:100,Oil:80},effect(r){let a=$(this)[0].fuel;return`
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered(r)])}
${t("portal_inferno_power_effect",[a.Infernite,e.resource.Infernite.name,a.Coal,e.resource.Coal.name,a.Oil,e.resource.Oil.name])}
`},action(){return _($(this)[0])?(S("inferno_power","portal"),e.portal.inferno_power.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["inferno_power","portal"]}},post(){C({el:"#foundry"},"update")}},ancient_pillars:{id:"portal-ancient_pillars",title:t("portal_ancient_pillars_title"),desc:t("portal_ancient_pillars_desc"),reqs:{hell_ruins:2},queue_complete(){return e.tech.pillars&&e.tech.pillars===1&&e.race.universe!=="micro"?1:0},cost:{Harmony(r,a){return r!==void 0?r+Object.keys(e.pillars).length=1?`
${t("portal_ancient_pillars_effect2",[Object.keys(x).length-1,a])}
`:`
${t("portal_ancient_pillars_effect",[Object.keys(x).length-1])}
`},action(){return e.tech.pillars&&e.tech.pillars===1&&e.race.universe!=="micro"&&_($(this)[0])?(e.pillars[e.race.species]=ft(),e.tech.pillars=2,G(0,!1,!0),xr(!0),rt(!0),B("resonance"),C({el:"#portal-ancient_pillars"},"update"),!0):!1}}},prtl_gate:{info:{name:t("portal_gate_name"),desc(){return`${t("portal_gate_desc")} ${t(e.tech.wtower&&e.tech.etower?"portal_gate_open":"portal_gate_closed")}`},support:"guard_post",hide_support:!0,prop(){let r=` - ${t("portal_ruins_security")}: {{ on | filter('army') }}`;return r=r+` - ${t("portal_ruins_supressed")}: {{ on | filter('sup') }}`,r},filter(r,a){let i=Rr("gate");switch(a){case"army":return Math.round(i.rating);case"sup":return`${+(i.supress*100).toFixed(2)}%`}}},gate_mission:{id:"portal-gate_mission",title:t("portal_gate_mission_title"),desc:t("portal_gate_mission_title"),reqs:{high_tech:18},grant:["hell_gate",1],queue_complete(){return e.tech.hell_gate>=1?0:1},cost:{Money(){return 25e7},Knowledge(){return 275e5}},effect:t("portal_gate_mission_effect"),action(){return _($(this)[0])?(I(t("portal_gate_mission_result"),"info",!1,["progress","hell"]),!0):!1}},west_tower:{id:"portal-west_tower",title:t("portal_west_tower"),desc(r){let a=rt();return!e.portal.hasOwnProperty("west_tower")||e.portal.west_tower.count${t("portal_west_tower")}
${t("requires_segments",[a])}
`:`
${t("portal_west_tower")}
`},reqs:{hell_gate:2},queue_size:25,queue_complete(){return rt()-e.portal.west_tower.count},cost:{Money(r,a){return(r||0)+(e.portal.hasOwnProperty("west_tower")?e.portal.west_tower.count:0)${t("portal_tower_effect")}
${t("space_dwarf_collider_effect2",[s])}
${t("portal_tower_effect2")}
`}else return t("portal_tower_effect")},action(){return e.portal.west_tower.count=rt()&&(e.tech.wtower=1,e.tech.wtower&&e.tech.etower&&!e.tech.hell_lake&&(e.tech.hell_lake=1,e.settings.portal.lake=!0,y(et.prtl_lake.harbor),I(t("portal_gate_open"),"info",!1,["progress","hell"]),Ft()))}},east_tower:{id:"portal-east_tower",title:t("portal_east_tower"),desc(r){let a=rt();return!e.portal.hasOwnProperty("east_tower")||e.portal.east_tower.count${t("portal_east_tower")}
${t("requires_segments",[a])}
`:`
${t("portal_east_tower")}
`},reqs:{hell_gate:2},queue_size:25,queue_complete(){return rt()-e.portal.east_tower.count},cost:{Money(r,a){return(r||0)+(e.portal.hasOwnProperty("east_tower")?e.portal.east_tower.count:0)${t("portal_tower_effect")}
${t("space_dwarf_collider_effect2",[s])}
${t("portal_tower_effect2")}
`}else return t("portal_tower_effect")},action(){return e.portal.east_tower.count=rt()&&(e.tech.etower=1,e.tech.wtower&&e.tech.etower&&!e.tech.hell_lake&&(e.tech.hell_lake=1,e.settings.portal.lake=!0,e.portal.harbor={count:0,on:0,support:0,s_max:0},I(t("portal_gate_open"),"info",!1,["progress","hell"]),Ft()))}},gate_turret:{id:"portal-gate_turret",title:t("portal_gate_turret_title"),desc(){return`
${t("portal_gate_turret_title")}
${t("requires_power")}
`},reqs:{hell_gate:3},powered(){return V(6)},cost:{Money(r){return f("gate_turret",r,375e4,1.22,"portal")},Iron(r){return f("gate_turret",r,425e4,1.22,"portal")},Elerium(r){return f("gate_turret",r,275,1.22,"portal")},Stanene(r){return f("gate_turret",r,85e4,1.22,"portal")}},effect(){let r=100;e.race.holy&&(r*=1+v.holy.vars()[1]/100);let a=re("unicorn");a>0&&(r*=1+v.holy.vars(1)[1]/100*a);let i=e.tech.hell_gun>=2?65:40,s=e.tech.hell_gun>=2?100:60;return`
${t("portal_gate_turret_effect",[Math.round(r)])}
${t("portal_gate_turret_effect2",[i,s])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("gate_turret","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["gate_turret","portal"]}},post(){C({el:"#srprtl_gate"},"update")},postPower(){C({el:"#srprtl_gate"},"update")}},infernite_mine:{id:"portal-infernite_mine",title:t("portal_infernite_mine_title"),desc(){return`
${t("portal_infernite_mine_title")}
${t("requires_security")}
${t("requires_power")}
`},reqs:{hell_gate:4},powered(){return V(5)},powerBalancer(){return[{r:"Infernite",k:"lpmod"}]},cost:{Money(r){return f("infernite_mine",r,75e6,1.26,"portal")},Alloy(r){return f("infernite_mine",r,245e4,1.26,"portal")},Orichalcum(r){return f("infernite_mine",r,165e4,1.26,"portal")},Wrought_Iron(r){return f("infernite_mine",r,68e4,1.26,"portal")}},effect(r){let a=ie("infernite_mine","",r);return`
${t("portal_infernite_mine_effect",[+a.toFixed(3)])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("infernite_mine","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["infernite_mine","portal"]}}}},prtl_lake:{info:{name:t("portal_lake_name"),desc:t("portal_lake_desc"),support:"harbor"},lake_mission:{id:"portal-lake_mission",title:t("portal_lake_mission_title"),desc:t("portal_lake_mission_title"),reqs:{hell_lake:1},grant:["hell_lake",2],queue_complete(){return e.tech.hell_lake>=2?0:1},cost:{Money(){return 5e8},Oil(){return 75e4},Helium_3(){return 6e5}},effect:t("portal_lake_mission_effect"),action(){return _($(this)[0])?(I(t("portal_lake_mission_result"),"info",!1,["progress","hell"]),!0):!1}},harbor:{id:"portal-harbor",title:t("portal_harbor_title"),desc(){return`
${t("portal_harbor_title")}
${t("requires_power")}
`},reqs:{hell_lake:3},powered(r){let i=(r?e.portal?.cooling_tower?.on??0:H.cooling_tower)||0;return+V(500*.92**i).toFixed(2)},support(){return 1},cost:{Money(r){return f("harbor",r,225e6,Ut(1.18),"portal")},Cement(r){return f("harbor",r,5e7,Ut(1.18),"portal")},Iridium(r){return f("harbor",r,75e5,Ut(1.18),"portal")},Infernite(r){return f("harbor",r,8e5,Ut(1.18),"portal")},Stanene(r){return f("harbor",r,175e5,Ut(1.18),"portal")}},wide:!0,res(){return["Oil","Alloy","Polymer","Iridium","Helium_3","Deuterium","Neutronium","Adamantite","Infernite","Nano_Tube","Graphene","Stanene","Bolognium","Orichalcum"]},val(r){switch(r){case"Oil":return 3e4;case"Alloy":return 25e4;case"Polymer":return 25e4;case"Iridium":return 2e5;case"Helium_3":return 18e3;case"Deuterium":return 12e3;case"Neutronium":return 18e4;case"Adamantite":return 15e4;case"Infernite":return 75e3;case"Nano_Tube":return 75e4;case"Graphene":return 12e5;case"Stanene":return 12e5;case"Bolognium":return 13e4;case"Orichalcum":return 13e4;default:return 0}},effect(r){let a='
';for(let i of $(this)[0].res())if(e.resource[i].display){let s=X(+G($(this)[0].val(i)).toFixed(0),1);a=a+`${t("plus_max_resource",[s,e.resource[i].name])}`}return a=a+"
",`
${t("portal_harbor_effect",[1])}
${a}
${t("minus_power",[$(this)[0].powered(r)])}
`},action(){if(_($(this)[0])){if(S("harbor","portal"),L($(this)[0]))for(let r of $(this)[0].res())e.resource[r].display&&(e.resource[r].max+=G($(this)[0].val(r)));return!0}return!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["harbor","portal"]}}},cooling_tower:{id:"portal-cooling_tower",title:t("portal_cooling_tower_title"),desc(){return`
${t("portal_cooling_tower_title")}
${t("requires_power")}
`},reqs:{hell_lake:6},powered(){return V(10)},cost:{Money(r){return f("cooling_tower",r,25e7,1.2,"portal")},Polymer(r){return f("cooling_tower",r,12e6,1.2,"portal")},Orichalcum(r){return f("cooling_tower",r,85e5,1.2,"portal")},Brick(r){return f("cooling_tower",r,25e4,1.2,"portal")}},effect(){return`
${t("portal_cooling_tower_effect",[8])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("cooling_tower","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["cooling_tower","portal"]}}},bireme:{id:"portal-bireme",title:t("portal_bireme_title"),desc(){return`
${t("portal_bireme_title")}
${t("space_support",[t("lake")])}
`},reqs:{hell_lake:4},powered(){return 0},s_type:"lake",support(){return-1},cost:{Money(r){return f("bireme",r,19e7,1.24,"portal")},Helium_3(r){return f("bireme",r,225e3,1.24,"portal")},Adamantite(r){return f("bireme",r,15e6,1.24,"portal")},Nano_Tube(r){return f("bireme",r,18e6,1.24,"portal")},Soul_Gem(r){return f("bireme",r,10,1.24,"portal")},Scarletite(r){return f("bireme",r,125e3,1.24,"portal")}},effect(){let r=e.blood.spire&&e.blood.spire>=2?20:15;return`
${t("space_used_support",[t("lake")])}
${t("portal_bireme_effect",[r])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
`},ship:{civ(){return 0},mil(){return e.race.high_pop?v.high_pop.vars()[0]*2:2}},action(){return _($(this)[0])?(S("bireme","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["bireme","portal"]}}},transport:{id:"portal-transport",title:t("portal_transport_title"),desc(){return`
${t("portal_transport_title")}
${t("space_support",[t("lake")])}
`},reqs:{hell_lake:5},powered(){return 0},s_type:"lake",support(){return-1},cost:{Money(r){return f("transport",r,3e8,1.22,"portal")},Oil(r){return f("transport",r,18e4,1.22,"portal")},Alloy(r){return f("transport",r,18e6,1.22,"portal")},Graphene(r){return f("transport",r,125e5,1.22,"portal")},Soul_Gem(r){return f("transport",r,5,1.22,"portal")},Scarletite(r){return f("transport",r,25e4,1.22,"portal")}},effect(r){let a=e.blood.spire&&e.blood.spire>=2?.8:.85,i=r?e.portal?.bireme?.on??0:Mr.bireme,s=+(a**i*100).toFixed(1);return`
${t("space_used_support",[t("lake")])}
${t("portal_transport_effect",[5])}
${t("portal_transport_effect2",[s])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
`},special:!0,sAction(){e.settings.civTabs=4,e.settings.marketTabs=3,e.settings.tabLoad||(Ma("mTabResource"),le("portal-transport"))},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*3:3},mil(){return 0}},action(){return _($(this)[0])?(S("transport","portal"),L($(this)[0]),e.settings.portal.spire||(e.settings.portal.spire=!0,e.settings.showCargo=!0,e.tech.hell_spire=1,y(et.prtl_spire.purifier),y(et.prtl_spire.port),I(t("portal_transport_unlocked"),"info",!1,["progress","hell"]),Ft()),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0,cargo:{used:0,max:0,Crystal:0,Lumber:0,Stone:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Deuterium:0,Neutronium:0,Adamantite:0,Infernite:0,Elerium:0,Nano_Tube:0,Graphene:0,Stanene:0,Bolognium:0,Vitreloy:0,Orichalcum:0,Plywood:0,Brick:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0}},p:["transport","portal"]}}},oven:{id:"portal-oven",title:t("portal_oven_title"),desc(r){if(!e.portal.hasOwnProperty("oven")||e.portal.oven.count<100||r)return`
${t("portal_oven_title")}
${t("requires_segments",[100])}
`+(e.portal.hasOwnProperty("oven")&&e.portal.oven.count>=100?`
${t("requires_power")}
`:"")},reqs:{dish:2},condition(){return e.portal.oven.count<100},queue_size:10,queue_complete(){return 100-e.portal.oven.count},cost:{Money(r){return(r||0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0)<100?19e7:0},Steel(r){return(r||0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0)<100?2e6:0},Infernite(r){return(r||0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0)<100?6e5:0},Bolognium(r){return(r||0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0)<100?1e6:0},Scarletite(r){return(r||0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0)<100?15e3:0}},effect(r){let a=(r?.count??0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0);if(a<100){let i=100-a;return`
${t("portal_oven_effect1")}
${t("requires_segments",[i])}
`}else return et.prtl_lake.oven_complete.effect()},action(){return e.portal.oven.count<100&&_($(this)[0])?(e.portal.oven.count++,e.portal.oven.count>=100&&(e.tech.dish=3,e.portal.oven_complete={count:1,on:0},e.portal.devilish_dish={count:0,done:0,time:0},Ft(),le()),!0):!1},struct(){return{d:{count:0},p:["oven","portal"]}}},oven_complete:{id:"portal-oven_complete",title:t("portal_oven_title"),desc(){return`
${t("portal_oven_title")}
${t("requires_power")}
`},wiki:!1,reqs:{dish:3},condition(){return e.portal.oven.count>=100},queue_complete(){return 0},cost:{},effect(r){let a=$(this)[0].p_fuel();return`
${t("portal_oven_desc")}
${e.tech.dish===4?`
${t("portal_oven_desc2")}
`:""}
${t("minus_power",[$(this)[0].powered()])}, ${t("spend",[a.a,a.r])}
`},powered(){return V(3500)},p_fuel(){return{r:"Infernite",a:225}},action(){return!1}},devilish_dish:{id:"portal-devilish_dish",title:t("portal_devilish_dish_title"),desc:t("portal_devilish_dish_title"),reqs:{dish:3},queue_complete(){return 0},cost:{},effect(){let r=e.portal.devilish_dish?e.portal.devilish_dish.done:0;return`
${t("portal_devilish_dish_desc",[r.toFixed(1)])}
${t(`portal_devilish_dish_flavor${r>=100?6:Math.ceil(r/20)}`)}
`},action(){return!1}},dish_soul_steeper:{id:"portal-dish_soul_steeper",title:t("portal_dish_soul_steeper_title"),desc:t("portal_dish_soul_steeper_desc"),reqs:{dish:5},cost:{Money(r){return f("dish_soul_steeper",r,75e7,Ut(1.3),"portal")},Bolognium(r){return f("dish_soul_steeper",r,12e6,Ut(1.3),"portal")},Scarletite(r){return f("dish_soul_steeper",r,3e5,Ut(1.3),"portal")}},powered(){return 0},effect(){return`
${t("portal_dish_soul_steeper_effect1")}
${t("portal_dish_soul_steeper_effect2",[3+(e.race.malnutrition?1:0)+(e.race.angry?-1:0)])}
`},action(){return _($(this)[0])?(e.portal.dish_soul_steeper.count++,e.portal.dish_soul_steeper.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["dish_soul_steeper","portal"]}},flair:t("portal_dish_soul_steeper_flair")},dish_life_infuser:{id:"portal-dish_life_infuser",title:t("portal_dish_life_infuser_title"),desc:t("portal_dish_life_infuser_desc"),reqs:{dish:5},cost:{Money(r){return f("dish_life_infuser",r,28e7,Ut(1.2),"portal")},Bolognium(r){return f("dish_life_infuser",r,8e6,Ut(1.2),"portal")},Orichalcum(r){return f("dish_life_infuser",r,8e6,Ut(1.2),"portal")},Species(r){return Sa(10)}},powered(){return 0},effect(){return`
${t("portal_dish_life_infuser_effect1",[15])}
${t("portal_dish_life_infuser_effect2",[5])}
`},action(){return _($(this)[0])?(e.portal.dish_life_infuser.count++,e.portal.dish_life_infuser.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["dish_soul_steeper","portal"]}},flair:t("portal_dish_life_infuser_flair")}},prtl_spire:{info:{name:t("portal_spire_name"),desc:t("portal_spire_desc"),support:"purifier",prop(){return` - ${t("portal_spire_supply")}: {{ supply | filter }} / {{ sup_max | filter }}`+' (+{{ diff | filter(2) }}/s)'},filter(r,a){return(a?+r.toFixed(a):Math.floor(r)).toLocaleString()}},spire_mission:{id:"portal-spire_mission",title:t("portal_spire_mission_title"),desc:t("portal_spire_mission_title"),reqs:{hell_spire:1},grant:["hell_spire",2],queue_complete(){return e.tech.hell_spire>=2?0:1},cost:{Species(){return Sa(50)},Oil(){return 9e5},Helium_3(){return 75e4},Structs(){return{portal:{bireme:{s:"prtl_lake",count:1,on:1},transport:{s:"prtl_lake",count:1,on:1}}}}},effect:t("portal_spire_mission_effect"),action(){return _($(this)[0])?(I(t("portal_spire_mission_result"),"info",!1,["progress","hell"]),!0):!1},flair:t("portal_spire_mission_flair")},purifier:{id:"portal-purifier",title:t("portal_purifier_title"),desc(){return`
${t("portal_purifier_desc")}
${t("requires_power")}
`},reqs:{hell_spire:3},cost:{Money(r){return f("purifier",r,85e6,Ut(1.15),"portal")},Supply(r){return e.portal.purifier&&e.portal.purifier.count===0?100:f("purifier",r,4200,Ut(1.2),"portal")}},powered(){return V(125)},support(){let r=e.tech.b_stone&&e.tech.b_stone>=3?1.25:1;return e.tech.hell_spire&&e.tech.hell_spire>=11&&e.eden.asphodel_harvester&&be.asphodel_harvester&&(r*=1+be.asphodel_harvester/50),+r.toFixed(2)},effect(){return`
${t("portal_purifier_effect",[$(this)[0].support()])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("purifier","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0,supply:0,sup_max:100,diff:0},p:["purifier","portal"]}}},port:{id:"portal-port",title:t("portal_port_title"),desc(){return`
${t("portal_port_title")}
${t("portal_spire_support")}
`},reqs:{hell_spire:3},cost:{Money(r){return f("port",r,135e6,Ut(1.2),"portal")},Supply(r){return e.portal.hasOwnProperty("port")&&e.portal.port.count===0?100:f("port",r,6250,Ut(1.2),"portal")}},powered(){return 0},s_type:"spire",support(){return-1},effect(r){let a=1e4,i=r?e.portal?.base_camp?.on??0:ps.base_camp;return i>0&&(a*=1+i*.4),`
${t("portal_port_effect1",[$(this)[0].support()])}
${t("portal_port_effect2",[Math.round(a)])}
`},action(){return _($(this)[0])?(S("port","portal"),L($(this)[0]),e.tech.hell_spire===3&&(e.tech.hell_spire=4,y(et.prtl_spire.base_camp),Ft()),!0):!1},struct(){return{d:{count:0,on:0},p:["port","portal"]}}},base_camp:{id:"portal-base_camp",title:t("portal_base_camp_title"),desc(){return`
${t("portal_base_camp_title")}
${t("portal_spire_support")}
`},reqs:{hell_spire:4},cost:{Money(r){return f("base_camp",r,425e6,Ut(1.2),"portal")},Supply(r){return f("base_camp",r,5e4,Ut(1.2),"portal")}},powered(){return 0},s_type:"spire",support(){return-1},effect(){return`
${t("portal_port_effect1",[$(this)[0].support()])}
${t("portal_base_camp_effect",[40])}
`},action(){return _($(this)[0])?(S("base_camp","portal"),L($(this)[0]),e.tech.hell_spire===4&&(e.tech.hell_spire=5,y(et.prtl_spire.bridge),I(t("portal_spire_bridge_collapse"),"info",!1,["progress","hell"]),Ft()),!0):!1},struct(){return{d:{count:0,on:0},p:["base_camp","portal"]}}},bridge:{id:"portal-bridge",title:t("portal_bridge_title"),desc(r){return!e.portal.hasOwnProperty("bridge")||e.portal.bridge.count<10||r?`
${t("portal_bridge_title")}
${t("requires_segments",[10])}
`:`
${t("portal_bridge_title")}
`},reqs:{hell_spire:5},queue_size:1,queue_complete(){return 10-e.portal.bridge.count},cost:{Species(r){return(r||0)+(e.portal.hasOwnProperty("bridge")?e.portal.bridge.count:0)<10?Sa(10):0},Money(r){return(r||0)+(e.portal.hasOwnProperty("bridge")?e.portal.bridge.count:0)<10?5e8:0},Supply(r){return(r||0)+(e.portal.hasOwnProperty("bridge")?e.portal.bridge.count:0)<10?1e5:0}},effect(r){let a=10,i=(r?.count??0)+(e.portal.hasOwnProperty("bridge")?e.portal.bridge.count:0);if(i${t("portal_bridge_effect")}
${t("space_dwarf_collider_effect2",[s])}
${t("portal_bridge_effect2")}
`}else return t("portal_bridge_complete")},action(){return e.portal.bridge.count<10&&_($(this)[0])?(S("bridge","portal"),e.portal.bridge.count>=10&&(y(et.prtl_spire.sphinx),e.tech.hell_spire=6,Ft()),!0):!1},struct(){return{d:{count:0},p:["bridge","portal"]}}},sphinx:{id:"portal-sphinx",title(){return e.tech.hell_spire===7?t("portal_sphinx_solve"):t("portal_sphinx_title")},desc:t("portal_sphinx_desc"),reqs:{hell_spire:6},queue_complete(){return 8-e.tech.hell_spire},cost:{Knowledge(r){let a=(r||0)+(!e.tech.hell_spire||e.tech.hell_spire<7?0:e.tech.hell_spire===7?1:2);return a===1?5e7:a===0?4e7:0}},effect(r){let a=(r?.count??0)+(!e.tech.hell_spire||e.tech.hell_spire<7?0:e.tech.hell_spire===7?1:2);return a===1?t("portal_sphinx_effect2"):a===2?t("portal_sphinx_effect3"):t("portal_sphinx_effect")},action(){if(_($(this)[0])){if(e.tech.hell_spire===6)return e.tech.hell_spire=7,I(t("portal_sphinx_msg"),"info",!1,["progress","hell"]),Ft(),!0;if(e.tech.hell_spire===7)return e.tech.hell_spire=8,Ft(),I(t("portal_sphinx_answer_msg"),"info",!1,["progress","hell"]),!0}return!1},struct(){return{d:{count:0},p:["sphinx","portal"]}}},bribe_sphinx:{id:"portal-bribe_sphinx",title:t("portal_sphinx_bribe"),desc:t("portal_sphinx_desc"),reqs:{hell_spire:7},condition(){return!!(e.tech.hell_spire&&e.tech.hell_spire===7&&!e.tech.sphinx_bribe)},cost:{Soul_Gem(){return 250},Supply(){return 5e5}},effect(){return t("portal_sphinx_bribe_effect")},action(){return _($(this)[0])&&e.tech.hell_spire===7&&!e.tech.sphinx_bribe?(e.tech.sphinx_bribe=1,e.resource.Codex.display=!0,e.resource.Codex.amount=1,I(t("portal_sphinx_bribe_msg"),"info",!1,["progress","hell"]),!0):!1},post(){e.tech.sphinx_bribe&&(ae(),Ft(),le("portal-bribe_sphinx"))}},spire_survey:{id:"portal-spire_survey",title:t("portal_spire_survey_title"),desc:t("portal_spire_survey_title"),reqs:{hell_spire:8},grant:["hell_spire",9],queue_complete(){return e.tech.hell_spire>=9?0:1},cost:{Oil(){return 12e5},Helium_3(){return 9e5}},effect:t("portal_spire_survey_effect"),action(){return _($(this)[0])?(y(et.prtl_spire.mechbay),y(et.prtl_spire.spire),qu(),I(t("portal_spire_survey_msg"),"info",!1,["progress","hell"]),!0):!1},post(){e.tech.hell_spire&&e.tech.hell_spire===9&&(Ft(),le("portal-spire_survey"))}},mechbay:{id:"portal-mechbay",title:t("portal_mechbay_title"),desc(){return`
${t("portal_mechbay_title")}
${t("portal_spire_support")}
`},reqs:{hell_spire:9},cost:{Money(r){return f("mechbay",r,1e8,1.2,"portal")},Supply(r){return f("mechbay",r,25e4,1.2,"portal")}},powered(){return 0},s_type:"spire",support(){return-1},special:!0,sAction(){e.settings.civTabs=2,e.settings.govTabs=4,e.settings.tabLoad||(Ma("mTabCivic"),le("portal-mechbay"))},effect(){let r=e.portal.hasOwnProperty("mechbay")?e.portal.mechbay.bay:0,a=e.portal.hasOwnProperty("mechbay")?e.portal.mechbay.max:0;return`
${t("portal_port_effect1",[$(this)[0].support()])}
${t("portal_mechbay_effect")}
${t("portal_mechbay_effect2",[r,a])}
`},action(){return _($(this)[0])?(S("mechbay","portal"),L($(this)[0])&&(e.portal.mechbay.max+=25),e.settings.showMechLab=!0,e.portal.mechbay.count===1&&(I(t("portal_mechbay_unlocked"),"info",!1,["progress","hell"]),Xa(),Ne()),!0):!1},struct(){return{d:{count:0,on:0,bay:0,max:0,active:0,scouts:0,mechs:[]},p:["mechbay","portal"]}},postPower(){xo()}},spire:{id:"portal-spire",title:t("portal_spire_title"),desc:t("portal_spire_title"),reqs:{hell_spire:9},queue_complete(){return 0},cost:{},effect(){let r=e.portal.hasOwnProperty("spire")?e.portal.spire.count:0,a=e.portal.hasOwnProperty("spire")?`${t(`portal_spire_type_${e.portal.spire.type}`)}`:"?",i="";e.portal.hasOwnProperty("spire")&&Object.keys(e.portal.spire.status).length>0&&(i=`
${t("portal_spire_hazard",[Object.keys(e.portal.spire.status).map(h=>`${t(`portal_spire_status_${h}`)}`).join(", ")])}
`);let s=e.portal.hasOwnProperty("spire")?`${+e.portal.spire.progress.toFixed(3)}%`:"0%",n=`
${t("portal_spire_effect",[r])}
${t("portal_spire_type",[a])}
${i}
${t("portal_spire_progress",[s])}
`,c=e.portal.hasOwnProperty("spire")?e.portal.spire.boss:"crazed",o=`
${t("portal_spire_mob",[`${t(`portal_mech_boss_${c}`)}`])}
`,l="???",u="???";if(e.stats.spire){let h=ku(c),d=$(this)[0].mscan();d>0&&(l=t(`portal_mech_weapon_${h.w}`)),d>=5&&(u=t(`portal_mech_weapon_${h.r}`))}let p=`
${o}
${t("portal_spire_mob_weak",[`${l}`])}
${t("portal_spire_mob_resist",[`${u}`])}
`;return`
${n}
${p}
`},mscan(){let r=0;return Object.keys(e.stats.spire).forEach(function(a){let i=e.portal.hasOwnProperty("spire")?e.portal.spire.boss:"crazed";e.stats.spire.hasOwnProperty(a)&&e.stats.spire[a].hasOwnProperty(i)&&e.stats.spire[a][i]>r&&(r=e.stats.spire[a][i])}),r},wide:!0,action(){return!1},struct(){return{d:{count:1,progress:0,boss:"",type:"",status:{}},p:["spire","portal"]}}},waygate:{id:"portal-waygate",title:t("portal_waygate_title"),desc(r){return!e.portal.hasOwnProperty("waygate")||e.tech.waygate&&e.tech.waygate<2||r?`
${t("portal_waygate_title")}
${t("requires_segments",[10])}
`:`
${t("portal_waygate_title")}
`},reqs:{waygate:1},condition(){return!(e.tech.edenic&&e.tech.edenic>=2)},queue_size:1,queue_complete(){return e.tech.waygate>=2?0:10-e.portal.waygate.count},cost:{Species(r){return r?r+(e.portal.hasOwnProperty("waygate")?e.portal.waygate.count:0)<10?Sa(25):0:!e.portal.hasOwnProperty("waygate")||e.tech.waygate&&e.tech.waygate<2?Sa(25):0},Money(r){return r?r+(e.portal.hasOwnProperty("waygate")?e.portal.waygate.count:0)<10?1e9:0:!e.portal.hasOwnProperty("waygate")||e.tech.waygate&&e.tech.waygate<2?1e9:0},Supply(r){return r?r+(e.portal.hasOwnProperty("waygate")?e.portal.waygate.count:0)<10?5e5:0:!e.portal.hasOwnProperty("waygate")||e.tech.waygate&&e.tech.waygate<2?5e5:0},Blood_Stone(r){return r?r+(e.portal.hasOwnProperty("waygate")?e.portal.waygate.count:0)<10?5:0:!e.portal.hasOwnProperty("waygate")||e.tech.waygate&&e.tech.waygate<2?5:0}},powered(){return e.portal.hasOwnProperty("waygate")&&e.portal.waygate.count>=10?1:0},power_reqs:{waygate:2},effect(r){let a=(r?.count??0)+(e.tech.waygate&&e.tech.waygate>=2?10:e.portal.hasOwnProperty("waygate")?e.portal.waygate.count:0);if(a>=10){let i=e.portal.hasOwnProperty("waygate")?`${+e.portal.waygate.progress.toFixed(3)}%`:"0%";return`
${t("portal_waygate_open")}
${t("portal_waygate_progress",[i])}
`}else{let s=10-a;return`
${t("portal_waygate_effect")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.portal.waygate.count<10&&e.tech.waygate&&e.tech.waygate===1&&_($(this)[0])?(S("waygate","portal"),e.portal.waygate.count>=10&&(e.tech.waygate=2,e.portal.waygate.count=1,Ft(),ae()),!0):!1},struct(){return{d:{count:0,progress:0,on:0},p:["waygate","portal"]}}},edenic_gate:{id:"portal-edenic_gate",title(r){return t(e.tech.edenic&&e.tech.edenic>=3?"portal_edenic_gate_title":"portal_waygate_title")},desc(r){return $(this)[0].title()},reqs:{waygate:3,edenic:2},queue_size:1,queue_complete(){return e.tech.edenic>=3?0:1},cost:{Money(r){return e.tech.edenic&&e.tech.edenic<3?1e10:0},Supply(r){return e.tech.edenic&&e.tech.edenic<3?1e6:0},Blessed_Essence(r){return e.tech.edenic&&e.tech.edenic<3?1:0}},effect(r){return e.tech.edenic&&e.tech.edenic<=2?`
${t("portal_edenic_gate_effect")}
`:`
${t("portal_edenic_gate_effect_complete")}
`},action(){return e.tech.edenic&&e.tech.edenic===2&&_($(this)[0])?(e.tech.edenic=3,e.settings.showEden=!0,e.settings.eden.asphodel=!0,e.settings.spaceTabs=7,e.resource.Blessed_Essence.display=!1,y(m.eden.eden_asphodel.encampment),Ft(),Et(),!0):!1}}}};function Ut(r){let a=e.portal.hasOwnProperty("spire")&&e.blood.spire?r-(e.portal.spire.count-1)/2500:r;return a>=1.01?a:1.01}var rt=function(){var r;return function(a){return r&&!a||(r=1e3,e.hasOwnProperty("pillars")&&Object.keys(e.pillars).forEach(function(i){e.pillars[i]&&(r-=e.pillars[i]*2+2)}),r<250&&(r=250)),r}}();function Fr(r,a){let i=Rr("gate",0,a);return Math.round(r/(i.supress>.01?i.supress:.01))}function Ls(r){let a=Math.round(650/Qe(1,"hellArmy")),i=r?e.portal?.gun_emplacement?.on??0:H.gun_emplacement;return i&&(a-=i*(e.tech.hell_gun>=2?E(2):E(1)),a<0&&(a=0)),a}function Ds(){return et}function Ft(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==4))return;let r=$("#portal");K(r),r.append($(`

${t("tab_portal")}

`)),!(!e.tech.portal||e.tech.portal<2)&&Object.keys(et).forEach(function(a){let i=a.replace("prtl_","");if(e.settings.portal[`${i}`]){let s=typeof et[a].info.name=="string"?et[a].info.name:et[a].info.name(),n="";if(et[a].info.hasOwnProperty("prop")&&(n=et[a].info.prop()),et[a].info.support){let c=et[a].info.support;et[a].info.hide_support?r.append(`

${s}

${n}
`):r.append(`

${s}

{{ support }}/{{ s_max }}${n}
`),C({el:`#sr${a}`,data:e.portal[c],filters:{filter(){return et[a].info.filter(...arguments)}}})}else r.append(`

${s}

${n}
`);N(a,function(){return typeof et[a].info.desc=="string"?et[a].info.desc:et[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),a==="prtl_fortress"&&Cs(r,!0),Object.keys(et[a]).forEach(function(c){if(c!=="info"&&Vt(et,a,c)){let o=et[a][c];er(o,"portal",c)}})}})}function $o(r,a){return Vt(et,r,a)}function hi(r){switch(r){case"hostiles":return e.portal.fortress.threat>=2e3?`${t("fortress_threat",[e.portal.fortress.threat])} ${t("fortress_threat_high")}`:e.portal.fortress.threat<1e3?`${t("fortress_threat",[e.portal.fortress.threat])} ${t("fortress_threat_low")}`:`${t("fortress_threat",[e.portal.fortress.threat])} ${t("fortress_threat_medium")}`;case"threatLevel":{let a=e.portal.fortress.threat;return a<1e3?`${t("fortress_threat_level")} ${t("fortress_threat_level1")}`:a<1500?`${t("fortress_threat_level")} ${t("fortress_threat_level2")}`:a>=5e3?`${t("fortress_threat_level")} ${t("fortress_threat_level6")}`:a>=3e3?`${t("fortress_threat_level")} ${t("fortress_threat_level5")}`:a>=2e3?`${t("fortress_threat_level")} ${t("fortress_threat_level4")}`:`${t("fortress_threat_level")} ${t("fortress_threat_level3")}`}case"hireLabel":{let a=Math.round(Jt("m_cost")).toLocaleString();return t("civics_garrison_hire_mercenary_cost",[a])}}}function Cs(r,a){if(!e.settings.tabLoad)switch(e.settings.civTabs){case 1:if(e.settings.spaceTabs!==4)return;break;case 2:if(e.settings.govTabs!==3)return;break;default:return}if(!e.tech.portal||e.tech.portal<2)return;let i=a?"fort":"gFort",s=a?$(`
`):$("#gFort");a?r.append(s):(s.length>0?K(s):(s=$(`
`),r.append(s)),s.append(`

${t("portal_fortress_name")}

`));let n=$("
");s.append(n);let c=$(`${t("fortress_defense")} {{ f.garrison | defensive }}`);n.append(c);let o=$(`${t("fortress_spotted")} {{ f.threat }}`);n.append(o);let l=$('{{ f.threat | threat }}');n.append(l);let u=$("
");s.append(u),u.append($(`${t("fortress_wall")} {{ f.walls }}%`));let p=$("
");s.append(p),p.append($(`${t("fortress_army")}`)),p.append($('«')),p.append($('{{ f.garrison | patrolling }}')),p.append($('»')),p.append($(`${t("fortress_patrol")}`)),p.append($('«')),p.append($('{{ f.patrols }}')),p.append($('»')),p.append($(`${t("fortress_patrol_size")}`)),p.append($('«')),p.append($('{{ f.patrol_size }}')),p.append($('»')),p.append($(``));var h=$('
');p.append(h),h.append($(`${t("civics_garrison")}: `));let d=e.tech.world_control&&!e.race.truepath?t("civics_garrison_peacekeepers"):t("civics_garrison_soldiers");h.append($(`${d} / {{ g.max | s_max }} | `)),h.append($(`${t("civics_garrison_crew")} {{ g.crew }} | `)),h.append($(`${t("civics_garrison_wounded")} {{ g.wounded }}`));let g=e.settings.theme==="light"?' type="is-light"':' type="is-dark"',w=$("
");p.append(w),w.append($(`${t("fortress_patrol_reports")}`)),w.append($(`${t("fortress_surv_reports")}`)),w.append($(`${t("fortress_nocrew")}`)),a&&s.append($(`
${t("civics_garrison_training")} - ${t("arpa_to_complete")} {{ g.rate, g.progress | trainTime }} {{ g.progress }}%
`)),C({el:`#${i}`,data:{f:e.portal.fortress,g:e.civic.garrison,s:e.settings},methods:{defense(){return t("fortress_defense")},hostiles(){return hi("hostiles")},threatLevel(){return hi("threatLevel")},aNext(){let k=W();e.portal.fortress.garrisone.civic.garrison.workers&&(e.portal.fortress.garrison=e.civic.garrison.workers),e.portal.fortress.assigned=e.portal.fortress.garrison,C({el:"#garrison"},"update"))},aLast(){let k=W(),M=e.portal.fortress.patrols*e.portal.fortress.patrol_size;H.soul_forge&&(M+=Ls()),e.portal.hasOwnProperty("guard_post")&&(M+=E(e.portal.guard_post.on)),e.portal.fortress.garrison>M&&(e.portal.fortress.garrison-=k,e.portal.fortress.garrison0&&(e.portal.fortress.patrols-=k,e.portal.fortress.patrols<0&&(e.portal.fortress.patrols=0))},patSizeInc(){let k=W();e.portal.fortress.patrol_size1&&(e.portal.fortress.patrol_size-=k,e.portal.fortress.patrol_size<1&&(e.portal.fortress.patrol_size=1))},wall(){let k=e.portal.fortress.walls;return k>=75?"has-text-success":k<=25?"has-text-danger":"has-text-warning"},threaten(){let k=e.portal.fortress.threat;return k<1e3?"has-text-success":k>=2e3?"has-text-danger":"has-text-warning"},hire(){let k=W(),M=!0;for(;M&&k>0;){let q=Ga();e.civic.garrison.workers=q?(e.resource.Money.amount-=q,e.civic.garrison.workers++,e.civic.garrison.m_use++,e.portal.fortress.garrison++,e.portal.fortress.assigned=e.portal.fortress.garrison,C({el:"#garrison"},"update")):M=!1,k--}},hireLabel(){return hi("hireLabel")},observation(){e.settings.civTabs=$("#mainTabs > nav ul li").length-1,e.settings.tabLoad||Ui()}},filters:{defensive(k){return wu(k)},patrolling(k){let M=k-e.portal.fortress.patrols*e.portal.fortress.patrol_size;if(H.soul_forge){let q=Ls();q<=M&&(M-=q)}return e.portal.hasOwnProperty("guard_post")&&(M-=E(e.portal.guard_post.on)),M},threat(k){return k<1e3?t("fortress_threat_level1"):k<1500?t("fortress_threat_level2"):k>=5e3?t("fortress_threat_level6"):k>=3e3?t("fortress_threat_level5"):k>=2e3?t("fortress_threat_level4"):t("fortress_threat_level3")},trainTime(k,M){return k===0?ut(-1):ut((100-M)/(k*4))},stationed(){return we()},s_max(k){return we(!0)}}}),["hostiles","threatLevel","armyLabel","patLabel","patSizeLabel","hireLabel"].forEach(function(k){N(`hf${i}${k}`,function(){switch(k){case"hostiles":return hi("hostiles");case"threatLevel":return hi("hostiles");case"armyLabel":return t("fortress_stationed");case"patLabel":return t("fortress_patrol_desc",[e.portal.fortress.patrols]);case"patSizeLabel":return t("fortress_patrol_size_desc",[e.portal.fortress.patrol_size]);case"hireLabel":return hi("hireLabel")}},{elm:`#${i} span.${k}`})}),N(`hf${i}observe`,function(){return t("hell_observation_tooltip")},{elm:`#${i} button.observe`})}function wu(r){let a=r-e.portal.fortress.patrols*e.portal.fortress.patrol_size;if(H.soul_forge){let n=Ls();n<=a&&(a-=n)}e.portal.hasOwnProperty("guard_post")&&(a-=E(e.portal.guard_post.on));let i=0;if(e.civic.garrison.wounded>e.civic.garrison.workers-e.portal.fortress.garrison&&(i=e.civic.garrison.wounded-(e.civic.garrison.workers-e.portal.fortress.garrison),i>a&&(i=a)),H.war_droid){let n=H.war_droid-e.portal.fortress.patrols>0?H.war_droid-e.portal.fortress.patrols:0;a+=e.tech.hdroid?E(n*2):E(n)}let s=e.tech.turret?e.tech.turret>=2?70:50:35;return Math.round(Qe(a,"hellArmy",i))+(H.turret?H.turret*s:0)}function Rr(r,a,i){switch(r){case"ruins":{let s=i?e.portal?.guard_post?.on??0:H.guard_post,n=a||E(s),c=(i?e.portal?.arcology?.on??0:H.arcology)*75,o=Qe(n,"hellArmy",0);e.race.holy&&(o*=1+v.holy.vars()[1]/100);let l=re("unicorn");l>0&&(o*=1+v.holy.vars(1)[1]/100*l);let u=(o+c)/5e3;return{supress:u>1?1:u,rating:o+c}}case"gate":{let s=Rr("ruins",a,i),n=(i?e.portal?.gate_turret?.on??0:H.gate_turret)*100;e.race.holy&&(n*=1+v.holy.vars()[1]/100);let c=re("unicorn");c>0&&(n*=1+v.holy.vars(1)[1]/100*c);let o=(s.rating+n)/7500;return{supress:o>1?1:o,rating:s.rating+n}}default:return 0}}var Wt={fire_elm:{weapon:{laser:1.05,flame:0,plasma:.25,kinetic:.5,missile:.5,sonic:1,shotgun:.75,tesla:.65},nozone:{freeze:!0,flooded:!0},amp:{hot:1.75,humid:.8,steam:.9}},water_elm:{weapon:{laser:.65,flame:.5,plasma:1,kinetic:.2,missile:.5,sonic:.5,shotgun:.25,tesla:.75},nozone:{hot:!0,freeze:!0},amp:{steam:1.5,river:1.1,flooded:2,rain:1.75,humid:1.25}},rock_golem:{weapon:{laser:1,flame:.5,plasma:1,kinetic:.65,missile:.95,sonic:.75,shotgun:.35,tesla:0},nozone:{},amp:{}},bone_golem:{weapon:{laser:.45,flame:.35,plasma:.55,kinetic:1,missile:1,sonic:.75,shotgun:.75,tesla:.15},nozone:{},amp:{}},mech_dino:{weapon:{laser:.85,flame:.05,plasma:.55,kinetic:.45,missile:.5,sonic:.35,shotgun:.5,tesla:1},nozone:{},amp:{}},plant:{weapon:{laser:.42,flame:1,plasma:.65,kinetic:.2,missile:.25,sonic:.75,shotgun:.35,tesla:.38},nozone:{},amp:{}},crazed:{weapon:{laser:.5,flame:.85,plasma:.65,kinetic:1,missile:.35,sonic:.15,shotgun:.95,tesla:.6},nozone:{},amp:{}},minotaur:{weapon:{laser:.32,flame:.5,plasma:.82,kinetic:.44,missile:1,sonic:.15,shotgun:.2,tesla:.35},nozone:{},amp:{}},ooze:{weapon:{laser:.2,flame:.65,plasma:1,kinetic:0,missile:0,sonic:.85,shotgun:0,tesla:.15},nozone:{},amp:{}},zombie:{weapon:{laser:.35,flame:1,plasma:.45,kinetic:.08,missile:.8,sonic:.18,shotgun:.95,tesla:.05},nozone:{},amp:{}},raptor:{weapon:{laser:.68,flame:.55,plasma:.85,kinetic:1,missile:.44,sonic:.22,shotgun:.33,tesla:.66},nozone:{},amp:{}},frost_giant:{weapon:{laser:.9,flame:.82,plasma:1,kinetic:.25,missile:.08,sonic:.45,shotgun:.28,tesla:.5},nozone:{hot:!0},amp:{freeze:2.5,hail:1.65}},swarm:{weapon:{laser:.02,flame:1,plasma:.04,kinetic:.01,missile:.08,sonic:.66,shotgun:.38,tesla:.45},nozone:{},amp:{}},dragon:{weapon:{laser:.18,flame:0,plasma:.12,kinetic:.35,missile:1,sonic:.22,shotgun:.65,tesla:.15},nozone:{},amp:{}},mech_dragon:{weapon:{laser:.84,flame:.1,plasma:.68,kinetic:.18,missile:.75,sonic:.22,shotgun:.28,tesla:1},nozone:{},amp:{}},construct:{weapon:{laser:.5,flame:.2,plasma:.6,kinetic:.34,missile:.9,sonic:.08,shotgun:.28,tesla:1},nozone:{},amp:{}},beholder:{weapon:{laser:.75,flame:.15,plasma:1,kinetic:.45,missile:.05,sonic:.01,shotgun:.12,tesla:.3},nozone:{},amp:{}},worm:{weapon:{laser:.55,flame:.38,plasma:.45,kinetic:.2,missile:.05,sonic:1,shotgun:.02,tesla:.01},nozone:{},amp:{}},hydra:{weapon:{laser:.85,flame:.75,plasma:.85,kinetic:.25,missile:.45,sonic:.5,shotgun:.6,tesla:.65},nozone:{},amp:{}},colossus:{weapon:{laser:1,flame:.05,plasma:.75,kinetic:.45,missile:1,sonic:.35,shotgun:.35,tesla:.5},nozone:{},amp:{}},lich:{weapon:{laser:.1,flame:.1,plasma:.1,kinetic:.45,missile:.75,sonic:.35,shotgun:.75,tesla:.5},nozone:{},amp:{}},ape:{weapon:{laser:1,flame:.95,plasma:.85,kinetic:.5,missile:.5,sonic:.05,shotgun:.35,tesla:.68},nozone:{},amp:{}},bandit:{weapon:{laser:.65,flame:.5,plasma:.85,kinetic:1,missile:.5,sonic:.25,shotgun:.75,tesla:.25},nozone:{},amp:{}},croc:{weapon:{laser:.65,flame:.05,plasma:.6,kinetic:.5,missile:.5,sonic:1,shotgun:.2,tesla:.75},nozone:{},amp:{}},djinni:{weapon:{laser:0,flame:.35,plasma:1,kinetic:.15,missile:0,sonic:.65,shotgun:.22,tesla:.4},nozone:{},amp:{}},snake:{weapon:{laser:.5,flame:.5,plasma:.5,kinetic:.5,missile:.5,sonic:.5,shotgun:.5,tesla:.5},nozone:{},amp:{}},centipede:{weapon:{laser:.5,flame:.85,plasma:.95,kinetic:.65,missile:.6,sonic:0,shotgun:.5,tesla:.01},nozone:{},amp:{}},spider:{weapon:{laser:.65,flame:1,plasma:.22,kinetic:.75,missile:.15,sonic:.38,shotgun:.9,tesla:.18},nozone:{},amp:{}},manticore:{weapon:{laser:.05,flame:.25,plasma:.95,kinetic:.5,missile:.15,sonic:.48,shotgun:.4,tesla:.6},nozone:{},amp:{}},fiend:{weapon:{laser:.75,flame:.25,plasma:.5,kinetic:.25,missile:.75,sonic:.25,shotgun:.5,tesla:.5},nozone:{},amp:{}},bat:{weapon:{laser:.16,flame:.18,plasma:.12,kinetic:.25,missile:.02,sonic:1,shotgun:.9,tesla:.58},nozone:{},amp:{}},medusa:{weapon:{laser:.35,flame:.1,plasma:.3,kinetic:.95,missile:1,sonic:.15,shotgun:.88,tesla:.26},nozone:{},amp:{}},ettin:{weapon:{laser:.5,flame:.35,plasma:.8,kinetic:.5,missile:.25,sonic:.3,shotgun:.6,tesla:.09},nozone:{},amp:{}},faceless:{weapon:{laser:.6,flame:.28,plasma:.6,kinetic:0,missile:.05,sonic:.8,shotgun:.15,tesla:1},nozone:{},amp:{}},enchanted:{weapon:{laser:1,flame:.02,plasma:.95,kinetic:.2,missile:.7,sonic:.05,shotgun:.65,tesla:.01},nozone:{},amp:{}},gargoyle:{weapon:{laser:.15,flame:.4,plasma:.3,kinetic:.5,missile:.5,sonic:.85,shotgun:1,tesla:.2},nozone:{},amp:{}},chimera:{weapon:{laser:.38,flame:.6,plasma:.42,kinetic:.85,missile:.35,sonic:.5,shotgun:.65,tesla:.8},nozone:{},amp:{}},gorgon:{weapon:{laser:.65,flame:.65,plasma:.65,kinetic:.65,missile:.65,sonic:.65,shotgun:.65,tesla:.65},nozone:{},amp:{}},kraken:{weapon:{laser:.75,flame:.35,plasma:.75,kinetic:.35,missile:.5,sonic:.18,shotgun:.05,tesla:.85},nozone:{},amp:{}},homunculus:{weapon:{laser:.05,flame:1,plasma:.1,kinetic:.85,missile:.65,sonic:.5,shotgun:.75,tesla:.2},nozone:{},amp:{}},giant_chicken:{weapon:{laser:.95,flame:.95,plasma:.95,kinetic:.95,missile:.95,sonic:.95,shotgun:.95,tesla:.95},nozone:{},amp:{}},skeleton_pack:{weapon:{laser:.5,flame:.1,plasma:.5,kinetic:1,missile:1.2,sonic:.5,shotgun:1.05,tesla:.2},nozone:{},amp:{}}};function Qt(r,a){let i=9999,s=1e7;switch(r){case"small":{let n=e.blood.prepared&&e.blood.prepared>=2?5e4:75e3;s=a?n*2.5:n,i=a?20:1}break;case"medium":s=a?45e4:18e4,i=a?100:4;break;case"large":s=a?925e3:375e3,i=a?500:20;break;case"titan":s=a?15e5:75e4,i=a?1500:75;break;case"collector":{let n=e.blood.prepared&&e.blood.prepared>=2?8e3:1e4;s=a?n*2.5:n,i=1}break}return{s:i,c:s}}function ku(r){let a="laser",i="laser";return Object.keys(Wt[r].weapon).forEach(function(s){Wt[r].weapon[s]>Wt[r].weapon[a]&&(a=s),Wt[r].weapon[s]');r.append(a);let i=$(`
${t("portal_mech_assembly")} - {{ b.size | slabel }} {{ b.chassis | clabel }}
`);a.append(i),i.append(` | ${t("portal_mech_bay_space")}: {{ m.bay }} / {{ m.max }}`),i.append(` | ${t("portal_mech_sup_avail")}: {{ p.supply | round }} / {{ p.sup_max }}`);let s=e.blood.prepared&&e.blood.prepared>=3?`${t("portal_mech_infernal")} (${t("portal_mech_infernal_effect",[25])})`:"";a.append(`
${t("portal_mech_space")} {{ b.size | bay }} | ${t("portal_mech_cost")} {{ b.size | price }} | ${t("portal_mech_soul",[e.resource.Soul_Gem.name])} {{ b.size | soul }}${s}
`),a.append("
{{ b.size | desc }}
");let n=$('
');a.append(n);let c="";["small","medium","large","titan","collector"].forEach(function(p,h){c+=`${t(`portal_mech_size_${p}`)}`}),n.append(` + `),d+="",a.append(d),C({el:"#celestialLab",data:{p:h,w:i},methods:{pEdit(){h.pts=Es(h,r?i:!1)},setPlanet(){if(Es(h)>=0){Object.keys(h.geology).forEach(function(k){h.geology[k]===0?delete h.geology[k]:h.geology[k]/=100}),e.custom.hasOwnProperty("planet")||(e.custom.planet={});let g=fe();e.custom.planet.hasOwnProperty(g)||(e.custom.planet[g]={s:!1});let w="s";e.custom.planet[g][w]=Re(h),delete e.custom.planet[g][w].pts,eo(h)}},reset(){h.traitlist=[],Object.keys(h.geology).forEach(function(g){h.geology[g]=0}),h.pts=Es(h,r?i:!1)},less(g){h.geology[g]-=W(),h.geology[g]<-20&&(h.geology[g]=-20)},more(g){h.geology[g]+=W();let w=30;e.stats.achieve.whitehole&&(w+=e.stats.achieve.whitehole.l*5),h.biome==="eden"&&(w+=5),h.geology[g]>w&&(h.geology[g]=w)}},filters:{res(g){return h.geology[g]}}})}function Es(r,a){let i=(r.biome==="eden"?0:10)+(e.stats.achieve.lamentis?e.stats.achieve.lamentis.l*10:0);e.race.truepath&&(i*=2),i-=r.traitlist.length**3;let s=0;return Object.keys(r.geology).forEach(function(n){r.geology[n]!==0&&(i-=r.geology[n],s++)}),s>3&&(i-=(s-3)**2),i}function ur(r){return r?e.interstellar?.s_gate?.count?!!e.interstellar.s_gate.on:!0:!!H.s_gate}var et={prtl_fortress:{info:{name:t("portal_fortress_name"),desc:t("portal_fortress_desc"),repair(){let r=200;return H.repair_droid&&(r*=.95**H.repair_droid),Math.round(r)}},turret:{id:"portal-turret",title(){let r=e.tech.turret?e.tech.turret>=2?"portal_turret_title3":"portal_turret_title2":"portal_turret_title1";return t(r)},desc(){let r=e.tech.turret?e.tech.turret>=2?"portal_turret_title3":"portal_turret_title2":"portal_turret_title1";return`
${t(r)}
${t("requires_power")}
`},reqs:{portal:2},cost:{Money(r){return f("turret",r,35e4,1.28,"portal")},Copper(r){return f("turret",r,5e4,1.28,"portal")},Adamantite(r){return f("turret",r,8e3,1.28,"portal")},Elerium(r){return f("turret",r,15,1.28,"portal")},Nano_Tube(r){return f("turret",r,28e3,1.28,"portal")}},powered(){return V(e.tech.turret?4+e.tech.turret:4)},postPower(r){H.turret=e.portal.turret.on,C({el:"#fort"},"update")},effect(){let r=e.tech.turret?e.tech.turret>=2?70:50:35,a=$(this)[0].powered();return`
${t("portal_turret_effect",[r])}
${t("minus_power",[a])}
`},action(){return _($(this)[0])?(S("turret","portal"),L($(this)[0])&&(H.turret++,C({el:"#fort"},"update")),!0):!1},struct(){return{d:{count:0,on:0},p:["turret","portal"]}}},carport:{id:"portal-carport",title:t("portal_carport_title"),desc(){return t("portal_carport_desc",[E(1)])},reqs:{portal:2},cost:{Money(r){return f("carport",r,25e4,1.3,"portal")},Cement(r){return f("carport",r,18e3,1.3,"portal")},Oil(r){return f("carport",r,6500,1.3,"portal")},Plywood(r){return f("carport",r,8500,1.3,"portal")}},repair(){let r=180;return H.repair_droid&&(r*=.92**H.repair_droid),e.race.high_pop&&(r/=v.high_pop.vars()[2]),Math.round(r)},effect(){return`${t("portal_carport_effect",[E(1)])}`},action(){return _($(this)[0])?(S("carport","portal"),e.civic.hell_surveyor.display=!0,e.civic.hell_surveyor.max+=E(1),e.resource.Infernite.display=!0,e.tech.infernite||(e.tech.infernite=1,ae()),!0):!1},struct(){return{d:{count:0,damaged:0,repair:0},p:["carport","portal"]}}},war_droid:{id:"portal-war_droid",title:t("portal_war_droid_title"),desc(){return`
${t("portal_war_droid_title")}
${t("requires_power")}
`},reqs:{portal:5},cost:{Money(r){return f("war_droid",r,495e3,1.26,"portal")},Neutronium(r){return f("war_droid",r,1250,1.26,"portal")},Elerium(r){return f("war_droid",r,18,1.26,"portal")},Stanene(r){return f("war_droid",r,37500,1.26,"portal")},Soul_Gem(r){return f("war_droid",r,1,1.26,"portal")}},powered(){return V(2)},effect(){return`
${t("portal_war_droid_effect")}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("war_droid","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["war_droid","portal"]}},flair:t("portal_war_droid_flair")},repair_droid:{id:"portal-repair_droid",title:t("portal_repair_droid_title"),desc(){return`
${t("portal_repair_droid_title")}
${t("requires_power")}
`},reqs:{portal:6},cost:{Money(r){return f("repair_droid",r,444e3,1.26,"portal")},Iron(r){return f("repair_droid",r,88e3,1.26,"portal")},Iridium(r){return f("repair_droid",r,17616,1.26,"portal")},Infernite(r){return f("repair_droid",r,666,1.26,"portal")},Soul_Gem(r){return f("repair_droid",r,1,1.15,"portal")}},powered(){return V(3)},effect(){return`
${t("portal_repair_droid_effect",[5])}
${t("portal_repair_droid_effect2",[8])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("repair_droid","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["repair_droid","portal"]}},flair:t("portal_repair_droid_flair")}},prtl_badlands:{info:{name:t("portal_badlands_name"),desc:t("portal_badlands_desc")},war_drone:{id:"portal-war_drone",title:t("portal_war_drone_title"),desc(){return`
${t("portal_war_drone_title")}
${t("requires_power")}
`},reqs:{portal:3},powered(){return V(5)},cost:{Money(r){return f("war_drone",r,65e4,1.28,"portal")},Alloy(r){return f("war_drone",r,6e4,1.28,"portal")},Graphene(r){return f("war_drone",r,1e5,1.28,"portal")},Elerium(r){return f("war_drone",r,25,1.28,"portal")},Soul_Gem(r){return f("war_drone",r,1,1.28,"portal")}},effect(){return`
${t("portal_war_drone_effect")}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("war_drone","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["war_drone","portal"]}},flair:t("portal_war_drone_flair")},sensor_drone:{id:"portal-sensor_drone",title:t("portal_sensor_drone_title"),desc(){return`
${t("portal_sensor_drone_title")}
${t("requires_power")}
`},reqs:{infernite:2},powered(){return V(3)},cost:{Money(r){return f("sensor_drone",r,5e5,1.25,"portal")},Polymer(r){return f("sensor_drone",r,25e3,1.25,"portal")},Adamantite(r){return f("sensor_drone",r,12500,1.25,"portal")},Infernite(r){return f("sensor_drone",r,100,1.25,"portal")}},effect(){let r=e.tech.infernite>=4?e.tech.infernite>=6?50:20:10,a=e.tech.infernite>=6?2500:1e3,i=e.race.cataclysm?`
${t("space_moon_observatory_cata_effect",[2])}
`:`
${t("space_moon_observatory_effect",[2])}
${t("portal_sensor_drone_effect2",[2])}
`,s=e.tech.science>=14?`
${t("city_max_knowledge",[a])}
${i}`:"";return`
${t("portal_sensor_drone_effect",[r])}
${s}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("sensor_drone","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["sensor_drone","portal"]}}},attractor:{id:"portal-attractor",title:t("portal_attractor_title"),desc(){return`
${t("portal_attractor_title")}
${t("requires_power")}
`},reqs:{portal:4},powered(){return V(3)},cost:{Money(r){return f("attractor",r,35e4,1.25,"portal")},Aluminium(r){return f("attractor",r,175e3,1.25,"portal")},Stanene(r){return f("attractor",r,9e4,1.25,"portal")}},effect(){return`
${t("portal_attractor_effect1")}
${t("portal_attractor_effect2",[e.resource.Soul_Gem.name])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("attractor","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["attractor","portal"]}}}},prtl_pit:{info:{name:t("portal_pit_name"),desc:t("portal_pit_desc")},pit_mission:{id:"portal-pit_mission",title:t("portal_pit_mission_title"),desc:t("portal_pit_mission_title"),reqs:{hell_pit:1},grant:["hell_pit",2],queue_complete(){return e.tech.hell_pit>=2?0:1},cost:{Money(){return 5e6},Helium_3(){return 3e5},Deuterium(){return 2e5}},effect:t("portal_pit_mission_effect"),action(){return _($(this)[0])?(I(t("portal_pit_mission_result"),"info",!1,["progress","hell"]),!0):!1}},assault_forge:{id:"portal-assault_forge",title:t("portal_assault_forge_title"),desc:t("portal_assault_forge_title"),reqs:{hell_pit:2},grant:["hell_pit",3],queue_complete(){return e.tech.hell_pit>=3?0:1},cost:{Money(){return 1e7},HellArmy(){return Math.round(650/Qe(1,"hellArmy"))},Cement(){return 1e7},Adamantite(){return 125e4},Elerium(){return 2400},Stanene(){return 9e5}},effect:t("portal_assault_forge_effect"),action(){return _($(this)[0])?(I(t("portal_assault_forge_result"),"info",!1,["progress","hell"]),!0):!1}},soul_forge:{id:"portal-soul_forge",title:t("portal_soul_forge_title"),desc(){return`
${t("portal_soul_forge_desc")}
${t("requires_power")}
`},reqs:{hell_pit:4},queue_complete(){return 1-e.portal.soul_forge.count},powered(){return V(30)},postPower(r){C({el:"#fort"},"update")},cost:{Money(r){return(r||0)+(e.portal.hasOwnProperty("soul_forge")?e.portal.soul_forge.count:0)<1?25e6:0},Graphene(r){return(r||0)+(e.portal.hasOwnProperty("soul_forge")?e.portal.soul_forge.count:0)<1?15e5:0},Infernite(r){return(r||0)+(e.portal.hasOwnProperty("soul_forge")?e.portal.soul_forge.count:0)<1?25e3:0},Bolognium(r){return(r||0)+(e.portal.hasOwnProperty("soul_forge")?e.portal.soul_forge.count:0)<1?1e5:0}},effect(r){let a=`
${t("portal_soul_forge_effect",[e.resource.Soul_Gem.name])}
`;if((r?.count??0)+(e.portal.hasOwnProperty("soul_forge")?e.portal.soul_forge.count:0)>=1){let n=e.tech.hell_pit>=6?75e4:1e6,c=r?e.portal.soul_attractor.on:H.soul_attractor;e.tech.hell_pit>=7&&c>0&&(n*=.97**c),a=a+`
${t("portal_soul_forge_effect2",[e.portal.soul_forge?e.portal.soul_forge.kills.toLocaleString():0,Math.round(n).toLocaleString()])}
`}let s=Ls(r);return`${a}
${t("portal_soul_forge_soldiers",[s])}, ${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])&&e.portal.soul_forge.count<1?(S("soul_forge","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,kills:0},p:["soul_forge","portal"]}}},gun_emplacement:{id:"portal-gun_emplacement",title:t("portal_gun_emplacement_title"),desc(){return`
${t("portal_gun_emplacement_title")}
${t("requires_power")}
`},reqs:{hell_gun:1},powered(){return V(3)},cost:{Money(r){return f("gun_emplacement",r,4e6,1.25,"portal")},Coal(r){return f("gun_emplacement",r,25e4,1.25,"portal")},Steel(r){return f("gun_emplacement",r,12e5,1.25,"portal")},Wrought_Iron(r){return f("gun_emplacement",r,2e5,1.25,"portal")}},effect(){let r=e.tech.hell_gun>=2?E(2):E(1),a=e.tech.hell_gun>=2?35:20,i=e.tech.hell_gun>=2?75:40;return`
${t("portal_gun_emplacement_effect",[r])}
${t("portal_gun_emplacement_effect2",[a,i])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("gun_emplacement","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["gun_emplacement","portal"]}}},soul_attractor:{id:"portal-soul_attractor",title:t("portal_soul_attractor_title"),desc(){return`
${t("portal_soul_attractor_title")}
${t("requires_power")}
`},reqs:{hell_pit:5},powered(){return V(4)},cost:{Money(r){return f("soul_attractor",r,12e6,1.25,"portal")},Stone(r){return f("soul_attractor",r,23e6,1.25,"portal")},Nano_Tube(r){return f("soul_attractor",r,314159,1.25,"portal")},Vitreloy(r){return f("soul_attractor",r,1618,1.25,"portal")},Aerogel(r){return f("soul_attractor",r,18e4,1.25,"portal")}},effect(){let r=e.tech.hell_pit>=7?`
${t("portal_soul_attractor_effect2",[3])}
`:"",a=e.blood.attract?e.blood.attract*5:0;return e.tech.hell_pit&&e.tech.hell_pit>=8&&(a*=2),`
${t("portal_soul_attractor_effect",[40+a,120+a])}
${r}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("soul_attractor","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["soul_attractor","portal"]}}},soul_capacitor:{id:"portal-soul_capacitor",title:t("portal_soul_capacitor_title"),desc(){return`
${t("portal_soul_capacitor_desc")}
${t("requires_power")}
`},reqs:{forbidden:2},powered(){return V(125)},queue_complete(){return 40-e.portal.soul_capacitor.count},cost:{Money(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,75e7,1.01,"portal")},Crystal(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,125e4,1.01,"portal")},Adamantite(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,65e5,1.01,"portal")},Infernite(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,1e4,1.01,"portal")},Stanene(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,25e5,1.01,"portal")},Bolognium(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,1e6,1.01,"portal")},Soul_Gem(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,3,1.01,"portal")},Mythril(r){return(r||0)+(e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.count:0)>=40?0:f("soul_capacitor",r,125e4,1.01,"portal")}},effect(){let r=25e5,a=e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.ecap:0,i=e.portal.hasOwnProperty("soul_capacitor")?e.portal.soul_capacitor.energy:0,s=`
${t("portal_soul_capacitor_effect",[i.toLocaleString()])}
`;return s+=`
${t("portal_soul_capacitor_effect2",[a.toLocaleString()])}
`,s+=`
${t("portal_soul_capacitor_effect3",[r.toLocaleString()])}
`,s+=`
${t("minus_power",[$(this)[0].powered()])}
`,s},action(){return e.portal.soul_capacitor.count<40&&_($(this)[0])?(e.portal.soul_capacitor.count++,L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,energy:0,ecap:0},p:["soul_capacitor","portal"]}},postPower(){es($(this)[0],"portal","soul_capacitor")}},absorption_chamber:{id:"portal-absorption_chamber",title:t("portal_absorption_chamber_title"),desc(r){return!e.interstellar.hasOwnProperty("absorption_chamber")||e.portal.absorption_chamber.count<100||r?`
${t("portal_absorption_chamber_title")}
${t("requires_segments",[100])}
`:`
${t("portal_absorption_chamber_title")}
`},reqs:{forbidden:3},queue_size:5,queue_complete(){return 100-e.portal.absorption_chamber.count},cost:{Money(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?75e6:0},Alloy(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?75e4:0},Neutronium(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?125e3:0},Elerium(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?1e3:0},Orichalcum(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?25e4:0},Nanoweave(r){return(r||0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0)<100?75e3:0}},effect(r){let a=(r?.count??0)+(e.portal.hasOwnProperty("absorption_chamber")?e.portal.absorption_chamber.count:0);if(a<100){let i=100-a;return`
${t("portal_absorption_chamber_incomplete")}
${t("space_dwarf_collider_effect2",[i])}
`}else{if(e.tech.forbidden===5)return`
${t("portal_absorption_chamber_effect_eld",[1e8.toLocaleString()])}
${t("tech_demonic_infusion_effect2",[$e("descend").artifact])}
`;{let i=Is();return`
${t("portal_absorption_chamber_effect",[1e8.toLocaleString()])}
${i}
`}}},action(){if(_($(this)[0])){if(e.portal.absorption_chamber.count<100)return S("absorption_chamber","portal"),e.portal.absorption_chamber.count>=100&&(e.tech.forbidden=4),!0;if(e.portal.soul_capacitor.energy>=1e8)return e.tech.forbidden===5?Ii():Qr(),!0}return!1},struct(){return{d:{count:0},p:["absorption_chamber","portal"]}}}},prtl_ruins:{info:{name:t("portal_ruins_name"),desc:t("portal_ruins_desc"),support:"guard_post",prop(){let r=` - ${t("portal_ruins_security")}: {{ on | filter('army') }}`;return r=r+` - ${t("portal_ruins_supressed")}: {{ on | filter('sup') }}`,r},filter(r,a){let i=Rr("ruins");switch(a){case"army":return Math.round(i.rating);case"sup":return`${+(i.supress*100).toFixed(2)}%`}}},ruins_mission:{id:"portal-ruins_mission",title:t("portal_ruins_mission_title"),desc:t("portal_ruins_mission_title"),reqs:{hell_ruins:1},grant:["hell_ruins",2],queue_complete(){return e.tech.hell_ruins>=2?0:1},cost:{Money(){return 1e8},Oil(){return 5e5},Helium_3(){return 5e5}},effect:t("portal_ruins_mission_effect"),action(){return _($(this)[0])?(I(t("portal_ruins_mission_result"),"info",!1,["progress","hell"]),e.portal.stonehedge={count:0},y(et.prtl_ruins.vault),y(et.prtl_ruins.archaeology),!0):!1}},guard_post:{id:"portal-guard_post",title:t("portal_guard_post_title"),desc(){return`
${t("portal_guard_post_title")}
${t("requires_soldiers")}
${t("requires_power")}
`},reqs:{hell_ruins:2},cost:{Money(r){return f("guard_post",r,8e6,1.06,"portal")},Lumber(r){return f("guard_post",r,65e5,1.06,"portal")},Sheet_Metal(r){return f("guard_post",r,3e5,1.06,"portal")}},powered(){return V(5)},support(){return 1},effect(){let r=e.race.holy?1+v.holy.vars()[1]/100:1,a=re("unicorn");a>0&&(r*=1+v.holy.vars(1)[1]/100*a);let i=Math.round(r*Qe(E(1),"hellArmy",0));return`
${t("portal_guard_post_effect1",[i])}
${t("portal_guard_post_effect2",[E(1),$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("guard_post","portal"),e.portal.guard_post.on++,!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["guard_post","portal"]}},postPower(){C({el:"#srprtl_ruins"},"update"),C({el:"#srprtl_gate"},"update")}},vault:{id:"portal-vault",title:t("portal_vault_title"),desc:t("portal_vault_title"),reqs:{hell_ruins:2,hell_vault:1},condition(){return!(e.portal.vault.count>=2)},queue_complete(){return 2-e.portal.vault.count},cost:{Soul_Gem(r){return(r||0)+(e.portal.hasOwnProperty("vault")?e.portal.vault.count:0)===0?100:0},Money(r){return(r||0)+(e.portal.hasOwnProperty("vault")?e.portal.vault.count:0)===1?25e7:0},Adamantite(r){return(r||0)+(e.portal.hasOwnProperty("vault")?e.portal.vault.count:0)===1?125e5:0},Orichalcum(r){return(r||0)+(e.portal.hasOwnProperty("vault")?e.portal.vault.count:0)===1?3e7:0}},effect(r){return(r?.count??0)+(e.portal.hasOwnProperty("vault")?e.portal.vault.count:0)<1?t("portal_vault_effect",[100]):t("portal_vault_effect2")},action(){return e.portal.vault.count<2&&_($(this)[0])?(S("vault","portal"),e.portal.vault.count===2&&(e.tech.hell_ruins=3,e.resource.Codex.display=!0,e.resource.Codex.amount=1,I(t("portal_vault_result"),"info",!1,["progress","hell"])),!0):!1},struct(){return{d:{count:0},p:["vault","portal"]}},post(){e.portal.vault.count===2&&(ae(),Ft(),ue())}},archaeology:{id:"portal-archaeology",title:t("portal_archaeology_title"),desc(){return`
${t("portal_archaeology_title")}
${t("requires_security")}
${t("requires_power")}
`},reqs:{hell_ruins:2},cost:{Money(r){return f("archaeology",r,1e8,1.25,"portal")},Titanium(r){return f("archaeology",r,375e4,1.25,"portal")},Mythril(r){return f("archaeology",r,125e4,1.25,"portal")}},powered(){return V(8)},effect(){return`
${t("portal_archaeology_effect",[E(2)])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){if(_($(this)[0])){if(S("archaeology","portal"),e.civic.archaeologist.display=!0,L($(this)[0])){let r=E(2);e.civic.archaeologist.max+=r;let a=Math.min(r,e.civic[e.civic.d_job].workers);e.civic[e.civic.d_job].workers-=a,e.civic.archaeologist.workers+=a}return!0}return!1},struct(){return{d:{count:0,on:0},p:["archaeology","portal"]}}},arcology:{id:"portal-arcology",title:t("portal_arcology_title"),desc(){return`
${t("portal_arcology_title")}
${t("requires_security")}
${t("requires_power")}
`},reqs:{housing:4},cost:{Money(r){return f("arcology",r,ee("untrustworthy",18e7),1.22,"portal")},Graphene(r){return f("arcology",r,ee("untrustworthy",75e5),1.22,"portal")},Bolognium(r){return f("arcology",r,ee("untrustworthy",28e5),1.22,"portal")},Orichalcum(r){return f("arcology",r,ee("untrustworthy",55e5),1.22,"portal")},Nanoweave(r){return f("arcology",r,ee("untrustworthy",65e4),1.22,"portal")},Horseshoe(){return e.race.hooved?13:0}},powered(){return V(25)},effect(r){let a=Rr("ruins",0,r),i=G(kr()*8*a.supress);i=+i.toFixed(0);let s=Math.round(Cr(r))*10,n=`
${t("plus_max_resource",[s,t("resource_Crates_name")])}
${t("plus_max_resource",[s,t("resource_Containers_name")])}
`;return`
${t("plus_max_resource",[`$${i.toLocaleString()}`,t("resource_Money_name")])}
${t("plus_max_citizens",[$(this)[0].citizens()])}
${t("plus_max_resource",[E(5),t("civics_garrison_soldiers")])}
${t("portal_guard_post_effect1",[75])}
${n}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("arcology","portal"),L($(this)[0])&&(e.resource[e.race.species].max+=8),e.resource.Containers.display||wr(),!0):!1},post(){C({el:"#srprtl_ruins"},"update"),ae()},postPower(){C({el:"#srprtl_ruins"},"update"),C({el:"#srprtl_gate"},"update")},struct(){return{d:{count:0,on:0},p:["arcology","portal"]}},soldiers(){let r=e.race.grenadier?3:5;return E(r)},citizens(){return E(8)}},hell_forge:{id:"portal-hell_forge",title:t("portal_hell_forge_title"),desc(){return`
${t("portal_hell_forge_title")}
${t("requires_security")}
${t("requires_power")}
`},reqs:{scarletite:1},cost:{Money(r){return f("hell_forge",r,25e7,1.15,"portal")},Coal(r){return f("hell_forge",r,165e4,1.22,"portal")},Steel(r){return f("hell_forge",r,38e5,1.22,"portal")},Iridium(r){return f("hell_forge",r,12e5,1.22,"portal")},Neutronium(r){return f("hell_forge",r,28e4,1.22,"portal")},Soul_Gem(r){return f("hell_forge",r,5,1.22,"portal")}},powered(){return V(12)},special:!0,effect(r){let i=+(75*Rr("ruins",0,r).supress).toFixed(1),s=e.tech.inferno_power?`
${t("portal_hell_forge_effect2",[10,t("portal_inferno_power_title")])}
`:"";return`
${t("portal_hell_forge_effect",[E(1)])}
${s}
${t("interstellar_stellar_forge_effect3",[3])}
${t("interstellar_stellar_forge_effect",[i])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("hell_forge","portal"),L($(this)[0])&&(e.city.smelter.cap+=3,e.city.smelter.Oil+=3,e.city.smelter.Iron+=3),!0):!1},struct(){return{d:{count:0,on:0},p:["hell_forge","portal"]}},post(){gt()},postPower(r){Bi("Scarletite")}},inferno_power:{id:"portal-inferno_power",title:t("portal_inferno_power_title"),desc(){return`
${t("portal_inferno_power_title")}
`},reqs:{inferno_power:1},cost:{Money(r){return f("inferno_power",r,275e6,1.16,"portal")},Neutronium(r){return f("inferno_power",r,375e4,1.18,"portal")},Stanene(r){return f("inferno_power",r,12e6,1.18,"portal")},Bolognium(r){return f("inferno_power",r,8e6,1.18,"portal")}},powered(r){let a=20,i=r?e.portal?.hell_forge?.on??0:H.hell_forge;return i&&(a+=i*10),nt(-a)},fuel:{Infernite:5,Coal:100,Oil:80},effect(r){let a=$(this)[0].fuel;return`
${t("space_dwarf_reactor_effect1",[-$(this)[0].powered(r)])}
${t("portal_inferno_power_effect",[a.Infernite,e.resource.Infernite.name,a.Coal,e.resource.Coal.name,a.Oil,e.resource.Oil.name])}
`},action(){return _($(this)[0])?(S("inferno_power","portal"),e.portal.inferno_power.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["inferno_power","portal"]}},post(){C({el:"#foundry"},"update")}},ancient_pillars:{id:"portal-ancient_pillars",title:t("portal_ancient_pillars_title"),desc:t("portal_ancient_pillars_desc"),reqs:{hell_ruins:2},queue_complete(){return e.tech.pillars&&e.tech.pillars===1&&e.race.universe!=="micro"?1:0},cost:{Harmony(r,a){return r!==void 0?r+Object.keys(e.pillars).length=1?`
${t("portal_ancient_pillars_effect2",[Object.keys(x).length-1,a])}
`:`
${t("portal_ancient_pillars_effect",[Object.keys(x).length-1])}
`},action(){return e.tech.pillars&&e.tech.pillars===1&&e.race.universe!=="micro"&&_($(this)[0])?(e.pillars[e.race.species]=ft(),e.tech.pillars=2,G(0,!1,!0),xr(!0),rt(!0),B("resonance"),C({el:"#portal-ancient_pillars"},"update"),!0):!1}}},prtl_gate:{info:{name:t("portal_gate_name"),desc(){return`${t("portal_gate_desc")} ${t(e.tech.wtower&&e.tech.etower?"portal_gate_open":"portal_gate_closed")}`},support:"guard_post",hide_support:!0,prop(){let r=` - ${t("portal_ruins_security")}: {{ on | filter('army') }}`;return r=r+` - ${t("portal_ruins_supressed")}: {{ on | filter('sup') }}`,r},filter(r,a){let i=Rr("gate");switch(a){case"army":return Math.round(i.rating);case"sup":return`${+(i.supress*100).toFixed(2)}%`}}},gate_mission:{id:"portal-gate_mission",title:t("portal_gate_mission_title"),desc:t("portal_gate_mission_title"),reqs:{high_tech:18},grant:["hell_gate",1],queue_complete(){return e.tech.hell_gate>=1?0:1},cost:{Money(){return 25e7},Knowledge(){return 275e5}},effect:t("portal_gate_mission_effect"),action(){return _($(this)[0])?(I(t("portal_gate_mission_result"),"info",!1,["progress","hell"]),!0):!1}},west_tower:{id:"portal-west_tower",title:t("portal_west_tower"),desc(r){let a=rt();return!e.portal.hasOwnProperty("west_tower")||e.portal.west_tower.count${t("portal_west_tower")}
${t("requires_segments",[a])}
`:`
${t("portal_west_tower")}
`},reqs:{hell_gate:2},queue_size:25,queue_complete(){return rt()-e.portal.west_tower.count},cost:{Money(r,a){return(r||0)+(e.portal.hasOwnProperty("west_tower")?e.portal.west_tower.count:0)${t("portal_tower_effect")}
${t("space_dwarf_collider_effect2",[s])}
${t("portal_tower_effect2")}
`}else return t("portal_tower_effect")},action(){return e.portal.west_tower.count=rt()&&(e.tech.wtower=1,e.tech.wtower&&e.tech.etower&&!e.tech.hell_lake&&(e.tech.hell_lake=1,e.settings.portal.lake=!0,y(et.prtl_lake.harbor),I(t("portal_gate_open"),"info",!1,["progress","hell"]),Ft()))}},east_tower:{id:"portal-east_tower",title:t("portal_east_tower"),desc(r){let a=rt();return!e.portal.hasOwnProperty("east_tower")||e.portal.east_tower.count${t("portal_east_tower")}
${t("requires_segments",[a])}
`:`
${t("portal_east_tower")}
`},reqs:{hell_gate:2},queue_size:25,queue_complete(){return rt()-e.portal.east_tower.count},cost:{Money(r,a){return(r||0)+(e.portal.hasOwnProperty("east_tower")?e.portal.east_tower.count:0)${t("portal_tower_effect")}
${t("space_dwarf_collider_effect2",[s])}
${t("portal_tower_effect2")}
`}else return t("portal_tower_effect")},action(){return e.portal.east_tower.count=rt()&&(e.tech.etower=1,e.tech.wtower&&e.tech.etower&&!e.tech.hell_lake&&(e.tech.hell_lake=1,e.settings.portal.lake=!0,e.portal.harbor={count:0,on:0,support:0,s_max:0},I(t("portal_gate_open"),"info",!1,["progress","hell"]),Ft()))}},gate_turret:{id:"portal-gate_turret",title:t("portal_gate_turret_title"),desc(){return`
${t("portal_gate_turret_title")}
${t("requires_power")}
`},reqs:{hell_gate:3},powered(){return V(6)},cost:{Money(r){return f("gate_turret",r,375e4,1.22,"portal")},Iron(r){return f("gate_turret",r,425e4,1.22,"portal")},Elerium(r){return f("gate_turret",r,275,1.22,"portal")},Stanene(r){return f("gate_turret",r,85e4,1.22,"portal")}},effect(){let r=100;e.race.holy&&(r*=1+v.holy.vars()[1]/100);let a=re("unicorn");a>0&&(r*=1+v.holy.vars(1)[1]/100*a);let i=e.tech.hell_gun>=2?65:40,s=e.tech.hell_gun>=2?100:60;return`
${t("portal_gate_turret_effect",[Math.round(r)])}
${t("portal_gate_turret_effect2",[i,s])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("gate_turret","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["gate_turret","portal"]}},post(){C({el:"#srprtl_gate"},"update")},postPower(){C({el:"#srprtl_gate"},"update")}},infernite_mine:{id:"portal-infernite_mine",title:t("portal_infernite_mine_title"),desc(){return`
${t("portal_infernite_mine_title")}
${t("requires_security")}
${t("requires_power")}
`},reqs:{hell_gate:4},powered(){return V(5)},powerBalancer(){return[{r:"Infernite",k:"lpmod"}]},cost:{Money(r){return f("infernite_mine",r,75e6,1.26,"portal")},Alloy(r){return f("infernite_mine",r,245e4,1.26,"portal")},Orichalcum(r){return f("infernite_mine",r,165e4,1.26,"portal")},Wrought_Iron(r){return f("infernite_mine",r,68e4,1.26,"portal")}},effect(r){let a=ie("infernite_mine","",r);return`
${t("portal_infernite_mine_effect",[+a.toFixed(3)])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("infernite_mine","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["infernite_mine","portal"]}}}},prtl_lake:{info:{name:t("portal_lake_name"),desc:t("portal_lake_desc"),support:"harbor"},lake_mission:{id:"portal-lake_mission",title:t("portal_lake_mission_title"),desc:t("portal_lake_mission_title"),reqs:{hell_lake:1},grant:["hell_lake",2],queue_complete(){return e.tech.hell_lake>=2?0:1},cost:{Money(){return 5e8},Oil(){return 75e4},Helium_3(){return 6e5}},effect:t("portal_lake_mission_effect"),action(){return _($(this)[0])?(I(t("portal_lake_mission_result"),"info",!1,["progress","hell"]),!0):!1}},harbor:{id:"portal-harbor",title:t("portal_harbor_title"),desc(){return`
${t("portal_harbor_title")}
${t("requires_power")}
`},reqs:{hell_lake:3},powered(r){let i=(r?e.portal?.cooling_tower?.on??0:H.cooling_tower)||0;return+V(500*.92**i).toFixed(2)},support(){return 1},cost:{Money(r){return f("harbor",r,225e6,Ut(1.18),"portal")},Cement(r){return f("harbor",r,5e7,Ut(1.18),"portal")},Iridium(r){return f("harbor",r,75e5,Ut(1.18),"portal")},Infernite(r){return f("harbor",r,8e5,Ut(1.18),"portal")},Stanene(r){return f("harbor",r,175e5,Ut(1.18),"portal")}},wide:!0,res(){return["Oil","Alloy","Polymer","Iridium","Helium_3","Deuterium","Neutronium","Adamantite","Infernite","Nano_Tube","Graphene","Stanene","Bolognium","Orichalcum"]},val(r){switch(r){case"Oil":return 3e4;case"Alloy":return 25e4;case"Polymer":return 25e4;case"Iridium":return 2e5;case"Helium_3":return 18e3;case"Deuterium":return 12e3;case"Neutronium":return 18e4;case"Adamantite":return 15e4;case"Infernite":return 75e3;case"Nano_Tube":return 75e4;case"Graphene":return 12e5;case"Stanene":return 12e5;case"Bolognium":return 13e4;case"Orichalcum":return 13e4;default:return 0}},effect(r){let a='
';for(let i of $(this)[0].res())if(e.resource[i].display){let s=X(+G($(this)[0].val(i)).toFixed(0),1);a=a+`${t("plus_max_resource",[s,e.resource[i].name])}`}return a=a+"
",`
${t("portal_harbor_effect",[1])}
${a}
${t("minus_power",[$(this)[0].powered(r)])}
`},action(){if(_($(this)[0])){if(S("harbor","portal"),L($(this)[0]))for(let r of $(this)[0].res())e.resource[r].display&&(e.resource[r].max+=G($(this)[0].val(r)));return!0}return!1},struct(){return{d:{count:0,on:0,support:0,s_max:0},p:["harbor","portal"]}}},cooling_tower:{id:"portal-cooling_tower",title:t("portal_cooling_tower_title"),desc(){return`
${t("portal_cooling_tower_title")}
${t("requires_power")}
`},reqs:{hell_lake:6},powered(){return V(10)},cost:{Money(r){return f("cooling_tower",r,25e7,1.2,"portal")},Polymer(r){return f("cooling_tower",r,12e6,1.2,"portal")},Orichalcum(r){return f("cooling_tower",r,85e5,1.2,"portal")},Brick(r){return f("cooling_tower",r,25e4,1.2,"portal")}},effect(){return`
${t("portal_cooling_tower_effect",[8])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("cooling_tower","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["cooling_tower","portal"]}}},bireme:{id:"portal-bireme",title:t("portal_bireme_title"),desc(){return`
${t("portal_bireme_title")}
${t("space_support",[t("lake")])}
`},reqs:{hell_lake:4},powered(){return 0},s_type:"lake",support(){return-1},cost:{Money(r){return f("bireme",r,19e7,1.24,"portal")},Helium_3(r){return f("bireme",r,225e3,1.24,"portal")},Adamantite(r){return f("bireme",r,15e6,1.24,"portal")},Nano_Tube(r){return f("bireme",r,18e6,1.24,"portal")},Soul_Gem(r){return f("bireme",r,10,1.24,"portal")},Scarletite(r){return f("bireme",r,125e3,1.24,"portal")}},effect(){let r=e.blood.spire&&e.blood.spire>=2?20:15;return`
${t("space_used_support",[t("lake")])}
${t("portal_bireme_effect",[r])}
${t("galaxy_starbase_mil_crew",[$(this)[0].ship.mil()])}
`},ship:{civ(){return 0},mil(){return e.race.high_pop?v.high_pop.vars()[0]*2:2}},action(){return _($(this)[0])?(S("bireme","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0},p:["bireme","portal"]}}},transport:{id:"portal-transport",title:t("portal_transport_title"),desc(){return`
${t("portal_transport_title")}
${t("space_support",[t("lake")])}
`},reqs:{hell_lake:5},powered(){return 0},s_type:"lake",support(){return-1},cost:{Money(r){return f("transport",r,3e8,1.22,"portal")},Oil(r){return f("transport",r,18e4,1.22,"portal")},Alloy(r){return f("transport",r,18e6,1.22,"portal")},Graphene(r){return f("transport",r,125e5,1.22,"portal")},Soul_Gem(r){return f("transport",r,5,1.22,"portal")},Scarletite(r){return f("transport",r,25e4,1.22,"portal")}},effect(r){let a=e.blood.spire&&e.blood.spire>=2?.8:.85,i=r?e.portal?.bireme?.on??0:Mr.bireme,s=+(a**i*100).toFixed(1);return`
${t("space_used_support",[t("lake")])}
${t("portal_transport_effect",[5])}
${t("portal_transport_effect2",[s])}
${t("galaxy_starbase_civ_crew",[$(this)[0].ship.civ()])}
`},special:!0,sAction(){e.settings.civTabs=4,e.settings.marketTabs=3,e.settings.tabLoad||(Ma("mTabResource"),ue("portal-transport"))},ship:{civ(){return e.race.high_pop?v.high_pop.vars()[0]*3:3},mil(){return 0}},action(){return _($(this)[0])?(S("transport","portal"),L($(this)[0]),e.settings.portal.spire||(e.settings.portal.spire=!0,e.settings.showCargo=!0,e.tech.hell_spire=1,y(et.prtl_spire.purifier),y(et.prtl_spire.port),I(t("portal_transport_unlocked"),"info",!1,["progress","hell"]),Ft()),!0):!1},struct(){return{d:{count:0,on:0,crew:0,mil:0,cargo:{used:0,max:0,Crystal:0,Lumber:0,Stone:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Deuterium:0,Neutronium:0,Adamantite:0,Infernite:0,Elerium:0,Nano_Tube:0,Graphene:0,Stanene:0,Bolognium:0,Vitreloy:0,Orichalcum:0,Plywood:0,Brick:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0}},p:["transport","portal"]}}},oven:{id:"portal-oven",title:t("portal_oven_title"),desc(r){if(!e.portal.hasOwnProperty("oven")||e.portal.oven.count<100||r)return`
${t("portal_oven_title")}
${t("requires_segments",[100])}
`+(e.portal.hasOwnProperty("oven")&&e.portal.oven.count>=100?`
${t("requires_power")}
`:"")},reqs:{dish:2},condition(){return e.portal.oven.count<100},queue_size:10,queue_complete(){return 100-e.portal.oven.count},cost:{Money(r){return(r||0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0)<100?19e7:0},Steel(r){return(r||0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0)<100?2e6:0},Infernite(r){return(r||0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0)<100?6e5:0},Bolognium(r){return(r||0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0)<100?1e6:0},Scarletite(r){return(r||0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0)<100?15e3:0}},effect(r){let a=(r?.count??0)+(e.portal.hasOwnProperty("oven")?e.portal.oven.count:0);if(a<100){let i=100-a;return`
${t("portal_oven_effect1")}
${t("requires_segments",[i])}
`}else return et.prtl_lake.oven_complete.effect()},action(){return e.portal.oven.count<100&&_($(this)[0])?(e.portal.oven.count++,e.portal.oven.count>=100&&(e.tech.dish=3,e.portal.oven_complete={count:1,on:0},e.portal.devilish_dish={count:0,done:0,time:0},Ft(),ue()),!0):!1},struct(){return{d:{count:0},p:["oven","portal"]}}},oven_complete:{id:"portal-oven_complete",title:t("portal_oven_title"),desc(){return`
${t("portal_oven_title")}
${t("requires_power")}
`},wiki:!1,reqs:{dish:3},condition(){return e.portal.oven.count>=100},queue_complete(){return 0},cost:{},effect(r){let a=$(this)[0].p_fuel();return`
${t("portal_oven_desc")}
${e.tech.dish===4?`
${t("portal_oven_desc2")}
`:""}
${t("minus_power",[$(this)[0].powered()])}, ${t("spend",[a.a,a.r])}
`},powered(){return V(3500)},p_fuel(){return{r:"Infernite",a:225}},action(){return!1}},devilish_dish:{id:"portal-devilish_dish",title:t("portal_devilish_dish_title"),desc:t("portal_devilish_dish_title"),reqs:{dish:3},queue_complete(){return 0},cost:{},effect(){let r=e.portal.devilish_dish?e.portal.devilish_dish.done:0;return`
${t("portal_devilish_dish_desc",[r.toFixed(1)])}
${t(`portal_devilish_dish_flavor${r>=100?6:Math.ceil(r/20)}`)}
`},action(){return!1}},dish_soul_steeper:{id:"portal-dish_soul_steeper",title:t("portal_dish_soul_steeper_title"),desc:t("portal_dish_soul_steeper_desc"),reqs:{dish:5},cost:{Money(r){return f("dish_soul_steeper",r,75e7,Ut(1.3),"portal")},Bolognium(r){return f("dish_soul_steeper",r,12e6,Ut(1.3),"portal")},Scarletite(r){return f("dish_soul_steeper",r,3e5,Ut(1.3),"portal")}},powered(){return 0},effect(){return`
${t("portal_dish_soul_steeper_effect1")}
${t("portal_dish_soul_steeper_effect2",[3+(e.race.malnutrition?1:0)+(e.race.angry?-1:0)])}
`},action(){return _($(this)[0])?(e.portal.dish_soul_steeper.count++,e.portal.dish_soul_steeper.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["dish_soul_steeper","portal"]}},flair:t("portal_dish_soul_steeper_flair")},dish_life_infuser:{id:"portal-dish_life_infuser",title:t("portal_dish_life_infuser_title"),desc:t("portal_dish_life_infuser_desc"),reqs:{dish:5},cost:{Money(r){return f("dish_life_infuser",r,28e7,Ut(1.2),"portal")},Bolognium(r){return f("dish_life_infuser",r,8e6,Ut(1.2),"portal")},Orichalcum(r){return f("dish_life_infuser",r,8e6,Ut(1.2),"portal")},Species(r){return Sa(10)}},powered(){return 0},effect(){return`
${t("portal_dish_life_infuser_effect1",[15])}
${t("portal_dish_life_infuser_effect2",[5])}
`},action(){return _($(this)[0])?(e.portal.dish_life_infuser.count++,e.portal.dish_life_infuser.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["dish_soul_steeper","portal"]}},flair:t("portal_dish_life_infuser_flair")}},prtl_spire:{info:{name:t("portal_spire_name"),desc:t("portal_spire_desc"),support:"purifier",prop(){return` - ${t("portal_spire_supply")}: {{ supply | filter }} / {{ sup_max | filter }}`+' (+{{ diff | filter(2) }}/s)'},filter(r,a){return(a?+r.toFixed(a):Math.floor(r)).toLocaleString()}},spire_mission:{id:"portal-spire_mission",title:t("portal_spire_mission_title"),desc:t("portal_spire_mission_title"),reqs:{hell_spire:1},grant:["hell_spire",2],queue_complete(){return e.tech.hell_spire>=2?0:1},cost:{Species(){return Sa(50)},Oil(){return 9e5},Helium_3(){return 75e4},Structs(){return{portal:{bireme:{s:"prtl_lake",count:1,on:1},transport:{s:"prtl_lake",count:1,on:1}}}}},effect:t("portal_spire_mission_effect"),action(){return _($(this)[0])?(I(t("portal_spire_mission_result"),"info",!1,["progress","hell"]),!0):!1},flair:t("portal_spire_mission_flair")},purifier:{id:"portal-purifier",title:t("portal_purifier_title"),desc(){return`
${t("portal_purifier_desc")}
${t("requires_power")}
`},reqs:{hell_spire:3},cost:{Money(r){return f("purifier",r,85e6,Ut(1.15),"portal")},Supply(r){return e.portal.purifier&&e.portal.purifier.count===0?100:f("purifier",r,4200,Ut(1.2),"portal")}},powered(){return V(125)},support(){let r=e.tech.b_stone&&e.tech.b_stone>=3?1.25:1;return e.tech.hell_spire&&e.tech.hell_spire>=11&&e.eden.asphodel_harvester&&be.asphodel_harvester&&(r*=1+be.asphodel_harvester/50),+r.toFixed(2)},effect(){return`
${t("portal_purifier_effect",[$(this)[0].support()])}
${t("minus_power",[$(this)[0].powered()])}
`},action(){return _($(this)[0])?(S("purifier","portal"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0,support:0,s_max:0,supply:0,sup_max:100,diff:0},p:["purifier","portal"]}}},port:{id:"portal-port",title:t("portal_port_title"),desc(){return`
${t("portal_port_title")}
${t("portal_spire_support")}
`},reqs:{hell_spire:3},cost:{Money(r){return f("port",r,135e6,Ut(1.2),"portal")},Supply(r){return e.portal.hasOwnProperty("port")&&e.portal.port.count===0?100:f("port",r,6250,Ut(1.2),"portal")}},powered(){return 0},s_type:"spire",support(){return-1},effect(r){let a=1e4,i=r?e.portal?.base_camp?.on??0:ps.base_camp;return i>0&&(a*=1+i*.4),`
${t("portal_port_effect1",[$(this)[0].support()])}
${t("portal_port_effect2",[Math.round(a)])}
`},action(){return _($(this)[0])?(S("port","portal"),L($(this)[0]),e.tech.hell_spire===3&&(e.tech.hell_spire=4,y(et.prtl_spire.base_camp),Ft()),!0):!1},struct(){return{d:{count:0,on:0},p:["port","portal"]}}},base_camp:{id:"portal-base_camp",title:t("portal_base_camp_title"),desc(){return`
${t("portal_base_camp_title")}
${t("portal_spire_support")}
`},reqs:{hell_spire:4},cost:{Money(r){return f("base_camp",r,425e6,Ut(1.2),"portal")},Supply(r){return f("base_camp",r,5e4,Ut(1.2),"portal")}},powered(){return 0},s_type:"spire",support(){return-1},effect(){return`
${t("portal_port_effect1",[$(this)[0].support()])}
${t("portal_base_camp_effect",[40])}
`},action(){return _($(this)[0])?(S("base_camp","portal"),L($(this)[0]),e.tech.hell_spire===4&&(e.tech.hell_spire=5,y(et.prtl_spire.bridge),I(t("portal_spire_bridge_collapse"),"info",!1,["progress","hell"]),Ft()),!0):!1},struct(){return{d:{count:0,on:0},p:["base_camp","portal"]}}},bridge:{id:"portal-bridge",title:t("portal_bridge_title"),desc(r){return!e.portal.hasOwnProperty("bridge")||e.portal.bridge.count<10||r?`
${t("portal_bridge_title")}
${t("requires_segments",[10])}
`:`
${t("portal_bridge_title")}
`},reqs:{hell_spire:5},queue_size:1,queue_complete(){return 10-e.portal.bridge.count},cost:{Species(r){return(r||0)+(e.portal.hasOwnProperty("bridge")?e.portal.bridge.count:0)<10?Sa(10):0},Money(r){return(r||0)+(e.portal.hasOwnProperty("bridge")?e.portal.bridge.count:0)<10?5e8:0},Supply(r){return(r||0)+(e.portal.hasOwnProperty("bridge")?e.portal.bridge.count:0)<10?1e5:0}},effect(r){let a=10,i=(r?.count??0)+(e.portal.hasOwnProperty("bridge")?e.portal.bridge.count:0);if(i${t("portal_bridge_effect")}
${t("space_dwarf_collider_effect2",[s])}
${t("portal_bridge_effect2")}
`}else return t("portal_bridge_complete")},action(){return e.portal.bridge.count<10&&_($(this)[0])?(S("bridge","portal"),e.portal.bridge.count>=10&&(y(et.prtl_spire.sphinx),e.tech.hell_spire=6,Ft()),!0):!1},struct(){return{d:{count:0},p:["bridge","portal"]}}},sphinx:{id:"portal-sphinx",title(){return e.tech.hell_spire===7?t("portal_sphinx_solve"):t("portal_sphinx_title")},desc:t("portal_sphinx_desc"),reqs:{hell_spire:6},queue_complete(){return 8-e.tech.hell_spire},cost:{Knowledge(r){let a=(r||0)+(!e.tech.hell_spire||e.tech.hell_spire<7?0:e.tech.hell_spire===7?1:2);return a===1?5e7:a===0?4e7:0}},effect(r){let a=(r?.count??0)+(!e.tech.hell_spire||e.tech.hell_spire<7?0:e.tech.hell_spire===7?1:2);return a===1?t("portal_sphinx_effect2"):a===2?t("portal_sphinx_effect3"):t("portal_sphinx_effect")},action(){if(_($(this)[0])){if(e.tech.hell_spire===6)return e.tech.hell_spire=7,I(t("portal_sphinx_msg"),"info",!1,["progress","hell"]),Ft(),!0;if(e.tech.hell_spire===7)return e.tech.hell_spire=8,Ft(),I(t("portal_sphinx_answer_msg"),"info",!1,["progress","hell"]),!0}return!1},struct(){return{d:{count:0},p:["sphinx","portal"]}}},bribe_sphinx:{id:"portal-bribe_sphinx",title:t("portal_sphinx_bribe"),desc:t("portal_sphinx_desc"),reqs:{hell_spire:7},condition(){return!!(e.tech.hell_spire&&e.tech.hell_spire===7&&!e.tech.sphinx_bribe)},cost:{Soul_Gem(){return 250},Supply(){return 5e5}},effect(){return t("portal_sphinx_bribe_effect")},action(){return _($(this)[0])&&e.tech.hell_spire===7&&!e.tech.sphinx_bribe?(e.tech.sphinx_bribe=1,e.resource.Codex.display=!0,e.resource.Codex.amount=1,I(t("portal_sphinx_bribe_msg"),"info",!1,["progress","hell"]),!0):!1},post(){e.tech.sphinx_bribe&&(ae(),Ft(),ue("portal-bribe_sphinx"))}},spire_survey:{id:"portal-spire_survey",title:t("portal_spire_survey_title"),desc:t("portal_spire_survey_title"),reqs:{hell_spire:8},grant:["hell_spire",9],queue_complete(){return e.tech.hell_spire>=9?0:1},cost:{Oil(){return 12e5},Helium_3(){return 9e5}},effect:t("portal_spire_survey_effect"),action(){return _($(this)[0])?(y(et.prtl_spire.mechbay),y(et.prtl_spire.spire),qu(),I(t("portal_spire_survey_msg"),"info",!1,["progress","hell"]),!0):!1},post(){e.tech.hell_spire&&e.tech.hell_spire===9&&(Ft(),ue("portal-spire_survey"))}},mechbay:{id:"portal-mechbay",title:t("portal_mechbay_title"),desc(){return`
${t("portal_mechbay_title")}
${t("portal_spire_support")}
`},reqs:{hell_spire:9},cost:{Money(r){return f("mechbay",r,1e8,1.2,"portal")},Supply(r){return f("mechbay",r,25e4,1.2,"portal")}},powered(){return 0},s_type:"spire",support(){return-1},special:!0,sAction(){e.settings.civTabs=2,e.settings.govTabs=4,e.settings.tabLoad||(Ma("mTabCivic"),ue("portal-mechbay"))},effect(){let r=e.portal.hasOwnProperty("mechbay")?e.portal.mechbay.bay:0,a=e.portal.hasOwnProperty("mechbay")?e.portal.mechbay.max:0;return`
${t("portal_port_effect1",[$(this)[0].support()])}
${t("portal_mechbay_effect")}
${t("portal_mechbay_effect2",[r,a])}
`},action(){return _($(this)[0])?(S("mechbay","portal"),L($(this)[0])&&(e.portal.mechbay.max+=25),e.settings.showMechLab=!0,e.portal.mechbay.count===1&&(I(t("portal_mechbay_unlocked"),"info",!1,["progress","hell"]),Xa(),Ne()),!0):!1},struct(){return{d:{count:0,on:0,bay:0,max:0,active:0,scouts:0,mechs:[]},p:["mechbay","portal"]}},postPower(){xo()}},spire:{id:"portal-spire",title:t("portal_spire_title"),desc:t("portal_spire_title"),reqs:{hell_spire:9},queue_complete(){return 0},cost:{},effect(){let r=e.portal.hasOwnProperty("spire")?e.portal.spire.count:0,a=e.portal.hasOwnProperty("spire")?`${t(`portal_spire_type_${e.portal.spire.type}`)}`:"?",i="";e.portal.hasOwnProperty("spire")&&Object.keys(e.portal.spire.status).length>0&&(i=`
${t("portal_spire_hazard",[Object.keys(e.portal.spire.status).map(h=>`${t(`portal_spire_status_${h}`)}`).join(", ")])}
`);let s=e.portal.hasOwnProperty("spire")?`${+e.portal.spire.progress.toFixed(3)}%`:"0%",n=`
${t("portal_spire_effect",[r])}
${t("portal_spire_type",[a])}
${i}
${t("portal_spire_progress",[s])}
`,c=e.portal.hasOwnProperty("spire")?e.portal.spire.boss:"crazed",o=`
${t("portal_spire_mob",[`${t(`portal_mech_boss_${c}`)}`])}
`,l="???",u="???";if(e.stats.spire){let h=ku(c),d=$(this)[0].mscan();d>0&&(l=t(`portal_mech_weapon_${h.w}`)),d>=5&&(u=t(`portal_mech_weapon_${h.r}`))}let p=`
${o}
${t("portal_spire_mob_weak",[`${l}`])}
${t("portal_spire_mob_resist",[`${u}`])}
`;return`
${n}
${p}
`},mscan(){let r=0;return Object.keys(e.stats.spire).forEach(function(a){let i=e.portal.hasOwnProperty("spire")?e.portal.spire.boss:"crazed";e.stats.spire.hasOwnProperty(a)&&e.stats.spire[a].hasOwnProperty(i)&&e.stats.spire[a][i]>r&&(r=e.stats.spire[a][i])}),r},wide:!0,action(){return!1},struct(){return{d:{count:1,progress:0,boss:"",type:"",status:{}},p:["spire","portal"]}}},waygate:{id:"portal-waygate",title:t("portal_waygate_title"),desc(r){return!e.portal.hasOwnProperty("waygate")||e.tech.waygate&&e.tech.waygate<2||r?`
${t("portal_waygate_title")}
${t("requires_segments",[10])}
`:`
${t("portal_waygate_title")}
`},reqs:{waygate:1},condition(){return!(e.tech.edenic&&e.tech.edenic>=2)},queue_size:1,queue_complete(){return e.tech.waygate>=2?0:10-e.portal.waygate.count},cost:{Species(r){return r?r+(e.portal.hasOwnProperty("waygate")?e.portal.waygate.count:0)<10?Sa(25):0:!e.portal.hasOwnProperty("waygate")||e.tech.waygate&&e.tech.waygate<2?Sa(25):0},Money(r){return r?r+(e.portal.hasOwnProperty("waygate")?e.portal.waygate.count:0)<10?1e9:0:!e.portal.hasOwnProperty("waygate")||e.tech.waygate&&e.tech.waygate<2?1e9:0},Supply(r){return r?r+(e.portal.hasOwnProperty("waygate")?e.portal.waygate.count:0)<10?5e5:0:!e.portal.hasOwnProperty("waygate")||e.tech.waygate&&e.tech.waygate<2?5e5:0},Blood_Stone(r){return r?r+(e.portal.hasOwnProperty("waygate")?e.portal.waygate.count:0)<10?5:0:!e.portal.hasOwnProperty("waygate")||e.tech.waygate&&e.tech.waygate<2?5:0}},powered(){return e.portal.hasOwnProperty("waygate")&&e.portal.waygate.count>=10?1:0},power_reqs:{waygate:2},effect(r){let a=(r?.count??0)+(e.tech.waygate&&e.tech.waygate>=2?10:e.portal.hasOwnProperty("waygate")?e.portal.waygate.count:0);if(a>=10){let i=e.portal.hasOwnProperty("waygate")?`${+e.portal.waygate.progress.toFixed(3)}%`:"0%";return`
${t("portal_waygate_open")}
${t("portal_waygate_progress",[i])}
`}else{let s=10-a;return`
${t("portal_waygate_effect")}
${t("space_dwarf_collider_effect2",[s])}
`}},action(){return e.portal.waygate.count<10&&e.tech.waygate&&e.tech.waygate===1&&_($(this)[0])?(S("waygate","portal"),e.portal.waygate.count>=10&&(e.tech.waygate=2,e.portal.waygate.count=1,Ft(),ae()),!0):!1},struct(){return{d:{count:0,progress:0,on:0},p:["waygate","portal"]}}},edenic_gate:{id:"portal-edenic_gate",title(r){return t(e.tech.edenic&&e.tech.edenic>=3?"portal_edenic_gate_title":"portal_waygate_title")},desc(r){return $(this)[0].title()},reqs:{waygate:3,edenic:2},queue_size:1,queue_complete(){return e.tech.edenic>=3?0:1},cost:{Money(r){return e.tech.edenic&&e.tech.edenic<3?1e10:0},Supply(r){return e.tech.edenic&&e.tech.edenic<3?1e6:0},Blessed_Essence(r){return e.tech.edenic&&e.tech.edenic<3?1:0}},effect(r){return e.tech.edenic&&e.tech.edenic<=2?`
${t("portal_edenic_gate_effect")}
`:`
${t("portal_edenic_gate_effect_complete")}
`},action(){return e.tech.edenic&&e.tech.edenic===2&&_($(this)[0])?(e.tech.edenic=3,e.settings.showEden=!0,e.settings.eden.asphodel=!0,e.settings.spaceTabs=7,e.resource.Blessed_Essence.display=!1,y(m.eden.eden_asphodel.encampment),Ft(),Et(),!0):!1}}}};function Ut(r){let a=e.portal.hasOwnProperty("spire")&&e.blood.spire?r-(e.portal.spire.count-1)/2500:r;return a>=1.01?a:1.01}var rt=function(){var r;return function(a){return r&&!a||(r=1e3,e.hasOwnProperty("pillars")&&Object.keys(e.pillars).forEach(function(i){e.pillars[i]&&(r-=e.pillars[i]*2+2)}),r<250&&(r=250)),r}}();function Fr(r,a){let i=Rr("gate",0,a);return Math.round(r/(i.supress>.01?i.supress:.01))}function Ls(r){let a=Math.round(650/Qe(1,"hellArmy")),i=r?e.portal?.gun_emplacement?.on??0:H.gun_emplacement;return i&&(a-=i*(e.tech.hell_gun>=2?E(2):E(1)),a<0&&(a=0)),a}function Ds(){return et}function Ft(){if(!e.settings.tabLoad&&(e.settings.civTabs!==1||e.settings.spaceTabs!==4))return;let r=$("#portal");K(r),r.append($(`

${t("tab_portal")}

`)),!(!e.tech.portal||e.tech.portal<2)&&Object.keys(et).forEach(function(a){let i=a.replace("prtl_","");if(e.settings.portal[`${i}`]){let s=typeof et[a].info.name=="string"?et[a].info.name:et[a].info.name(),n="";if(et[a].info.hasOwnProperty("prop")&&(n=et[a].info.prop()),et[a].info.support){let c=et[a].info.support;et[a].info.hide_support?r.append(`

${s}

${n}
`):r.append(`

${s}

{{ support }}/{{ s_max }}${n}
`),C({el:`#sr${a}`,data:e.portal[c],filters:{filter(){return et[a].info.filter(...arguments)}}})}else r.append(`

${s}

${n}
`);N(a,function(){return typeof et[a].info.desc=="string"?et[a].info.desc:et[a].info.desc()},{elm:`#${a} h3.name`,classes:"has-background-light has-text-dark"}),a==="prtl_fortress"&&Cs(r,!0),Object.keys(et[a]).forEach(function(c){if(c!=="info"&&Vt(et,a,c)){let o=et[a][c];er(o,"portal",c)}})}})}function $o(r,a){return Vt(et,r,a)}function hi(r){switch(r){case"hostiles":return e.portal.fortress.threat>=2e3?`${t("fortress_threat",[e.portal.fortress.threat])} ${t("fortress_threat_high")}`:e.portal.fortress.threat<1e3?`${t("fortress_threat",[e.portal.fortress.threat])} ${t("fortress_threat_low")}`:`${t("fortress_threat",[e.portal.fortress.threat])} ${t("fortress_threat_medium")}`;case"threatLevel":{let a=e.portal.fortress.threat;return a<1e3?`${t("fortress_threat_level")} ${t("fortress_threat_level1")}`:a<1500?`${t("fortress_threat_level")} ${t("fortress_threat_level2")}`:a>=5e3?`${t("fortress_threat_level")} ${t("fortress_threat_level6")}`:a>=3e3?`${t("fortress_threat_level")} ${t("fortress_threat_level5")}`:a>=2e3?`${t("fortress_threat_level")} ${t("fortress_threat_level4")}`:`${t("fortress_threat_level")} ${t("fortress_threat_level3")}`}case"hireLabel":{let a=Math.round(Jt("m_cost")).toLocaleString();return t("civics_garrison_hire_mercenary_cost",[a])}}}function Cs(r,a){if(!e.settings.tabLoad)switch(e.settings.civTabs){case 1:if(e.settings.spaceTabs!==4)return;break;case 2:if(e.settings.govTabs!==3)return;break;default:return}if(!e.tech.portal||e.tech.portal<2)return;let i=a?"fort":"gFort",s=a?$(`
`):$("#gFort");a?r.append(s):(s.length>0?K(s):(s=$(`
`),r.append(s)),s.append(`

${t("portal_fortress_name")}

`));let n=$("
");s.append(n);let c=$(`${t("fortress_defense")} {{ f.garrison | defensive }}`);n.append(c);let o=$(`${t("fortress_spotted")} {{ f.threat }}`);n.append(o);let l=$('{{ f.threat | threat }}');n.append(l);let u=$("
");s.append(u),u.append($(`${t("fortress_wall")} {{ f.walls }}%`));let p=$("
");s.append(p),p.append($(`${t("fortress_army")}`)),p.append($('«')),p.append($('{{ f.garrison | patrolling }}')),p.append($('»')),p.append($(`${t("fortress_patrol")}`)),p.append($('«')),p.append($('{{ f.patrols }}')),p.append($('»')),p.append($(`${t("fortress_patrol_size")}`)),p.append($('«')),p.append($('{{ f.patrol_size }}')),p.append($('»')),p.append($(``));var h=$('
');p.append(h),h.append($(`${t("civics_garrison")}: `));let d=e.tech.world_control&&!e.race.truepath?t("civics_garrison_peacekeepers"):t("civics_garrison_soldiers");h.append($(`${d} / {{ g.max | s_max }} | `)),h.append($(`${t("civics_garrison_crew")} {{ g.crew }} | `)),h.append($(`${t("civics_garrison_wounded")} {{ g.wounded }}`));let g=e.settings.theme==="light"?' type="is-light"':' type="is-dark"',w=$("
");p.append(w),w.append($(`${t("fortress_patrol_reports")}`)),w.append($(`${t("fortress_surv_reports")}`)),w.append($(`${t("fortress_nocrew")}`)),a&&s.append($(`
${t("civics_garrison_training")} - ${t("arpa_to_complete")} {{ g.rate, g.progress | trainTime }} {{ g.progress }}%
`)),C({el:`#${i}`,data:{f:e.portal.fortress,g:e.civic.garrison,s:e.settings},methods:{defense(){return t("fortress_defense")},hostiles(){return hi("hostiles")},threatLevel(){return hi("threatLevel")},aNext(){let k=W();e.portal.fortress.garrisone.civic.garrison.workers&&(e.portal.fortress.garrison=e.civic.garrison.workers),e.portal.fortress.assigned=e.portal.fortress.garrison,C({el:"#garrison"},"update"))},aLast(){let k=W(),M=e.portal.fortress.patrols*e.portal.fortress.patrol_size;H.soul_forge&&(M+=Ls()),e.portal.hasOwnProperty("guard_post")&&(M+=E(e.portal.guard_post.on)),e.portal.fortress.garrison>M&&(e.portal.fortress.garrison-=k,e.portal.fortress.garrison0&&(e.portal.fortress.patrols-=k,e.portal.fortress.patrols<0&&(e.portal.fortress.patrols=0))},patSizeInc(){let k=W();e.portal.fortress.patrol_size1&&(e.portal.fortress.patrol_size-=k,e.portal.fortress.patrol_size<1&&(e.portal.fortress.patrol_size=1))},wall(){let k=e.portal.fortress.walls;return k>=75?"has-text-success":k<=25?"has-text-danger":"has-text-warning"},threaten(){let k=e.portal.fortress.threat;return k<1e3?"has-text-success":k>=2e3?"has-text-danger":"has-text-warning"},hire(){let k=W(),M=!0;for(;M&&k>0;){let q=Ga();e.civic.garrison.workers=q?(e.resource.Money.amount-=q,e.civic.garrison.workers++,e.civic.garrison.m_use++,e.portal.fortress.garrison++,e.portal.fortress.assigned=e.portal.fortress.garrison,C({el:"#garrison"},"update")):M=!1,k--}},hireLabel(){return hi("hireLabel")},observation(){e.settings.civTabs=$("#mainTabs > nav ul li").length-1,e.settings.tabLoad||Ui()}},filters:{defensive(k){return wu(k)},patrolling(k){let M=k-e.portal.fortress.patrols*e.portal.fortress.patrol_size;if(H.soul_forge){let q=Ls();q<=M&&(M-=q)}return e.portal.hasOwnProperty("guard_post")&&(M-=E(e.portal.guard_post.on)),M},threat(k){return k<1e3?t("fortress_threat_level1"):k<1500?t("fortress_threat_level2"):k>=5e3?t("fortress_threat_level6"):k>=3e3?t("fortress_threat_level5"):k>=2e3?t("fortress_threat_level4"):t("fortress_threat_level3")},trainTime(k,M){return k===0?ut(-1):ut((100-M)/(k*4))},stationed(){return we()},s_max(k){return we(!0)}}}),["hostiles","threatLevel","armyLabel","patLabel","patSizeLabel","hireLabel"].forEach(function(k){N(`hf${i}${k}`,function(){switch(k){case"hostiles":return hi("hostiles");case"threatLevel":return hi("hostiles");case"armyLabel":return t("fortress_stationed");case"patLabel":return t("fortress_patrol_desc",[e.portal.fortress.patrols]);case"patSizeLabel":return t("fortress_patrol_size_desc",[e.portal.fortress.patrol_size]);case"hireLabel":return hi("hireLabel")}},{elm:`#${i} span.${k}`})}),N(`hf${i}observe`,function(){return t("hell_observation_tooltip")},{elm:`#${i} button.observe`})}function wu(r){let a=r-e.portal.fortress.patrols*e.portal.fortress.patrol_size;if(H.soul_forge){let n=Ls();n<=a&&(a-=n)}e.portal.hasOwnProperty("guard_post")&&(a-=E(e.portal.guard_post.on));let i=0;if(e.civic.garrison.wounded>e.civic.garrison.workers-e.portal.fortress.garrison&&(i=e.civic.garrison.wounded-(e.civic.garrison.workers-e.portal.fortress.garrison),i>a&&(i=a)),H.war_droid){let n=H.war_droid-e.portal.fortress.patrols>0?H.war_droid-e.portal.fortress.patrols:0;a+=e.tech.hdroid?E(n*2):E(n)}let s=e.tech.turret?e.tech.turret>=2?70:50:35;return Math.round(Qe(a,"hellArmy",i))+(H.turret?H.turret*s:0)}function Rr(r,a,i){switch(r){case"ruins":{let s=i?e.portal?.guard_post?.on??0:H.guard_post,n=a||E(s),c=(i?e.portal?.arcology?.on??0:H.arcology)*75,o=Qe(n,"hellArmy",0);e.race.holy&&(o*=1+v.holy.vars()[1]/100);let l=re("unicorn");l>0&&(o*=1+v.holy.vars(1)[1]/100*l);let u=(o+c)/5e3;return{supress:u>1?1:u,rating:o+c}}case"gate":{let s=Rr("ruins",a,i),n=(i?e.portal?.gate_turret?.on??0:H.gate_turret)*100;e.race.holy&&(n*=1+v.holy.vars()[1]/100);let c=re("unicorn");c>0&&(n*=1+v.holy.vars(1)[1]/100*c);let o=(s.rating+n)/7500;return{supress:o>1?1:o,rating:s.rating+n}}default:return 0}}var Wt={fire_elm:{weapon:{laser:1.05,flame:0,plasma:.25,kinetic:.5,missile:.5,sonic:1,shotgun:.75,tesla:.65},nozone:{freeze:!0,flooded:!0},amp:{hot:1.75,humid:.8,steam:.9}},water_elm:{weapon:{laser:.65,flame:.5,plasma:1,kinetic:.2,missile:.5,sonic:.5,shotgun:.25,tesla:.75},nozone:{hot:!0,freeze:!0},amp:{steam:1.5,river:1.1,flooded:2,rain:1.75,humid:1.25}},rock_golem:{weapon:{laser:1,flame:.5,plasma:1,kinetic:.65,missile:.95,sonic:.75,shotgun:.35,tesla:0},nozone:{},amp:{}},bone_golem:{weapon:{laser:.45,flame:.35,plasma:.55,kinetic:1,missile:1,sonic:.75,shotgun:.75,tesla:.15},nozone:{},amp:{}},mech_dino:{weapon:{laser:.85,flame:.05,plasma:.55,kinetic:.45,missile:.5,sonic:.35,shotgun:.5,tesla:1},nozone:{},amp:{}},plant:{weapon:{laser:.42,flame:1,plasma:.65,kinetic:.2,missile:.25,sonic:.75,shotgun:.35,tesla:.38},nozone:{},amp:{}},crazed:{weapon:{laser:.5,flame:.85,plasma:.65,kinetic:1,missile:.35,sonic:.15,shotgun:.95,tesla:.6},nozone:{},amp:{}},minotaur:{weapon:{laser:.32,flame:.5,plasma:.82,kinetic:.44,missile:1,sonic:.15,shotgun:.2,tesla:.35},nozone:{},amp:{}},ooze:{weapon:{laser:.2,flame:.65,plasma:1,kinetic:0,missile:0,sonic:.85,shotgun:0,tesla:.15},nozone:{},amp:{}},zombie:{weapon:{laser:.35,flame:1,plasma:.45,kinetic:.08,missile:.8,sonic:.18,shotgun:.95,tesla:.05},nozone:{},amp:{}},raptor:{weapon:{laser:.68,flame:.55,plasma:.85,kinetic:1,missile:.44,sonic:.22,shotgun:.33,tesla:.66},nozone:{},amp:{}},frost_giant:{weapon:{laser:.9,flame:.82,plasma:1,kinetic:.25,missile:.08,sonic:.45,shotgun:.28,tesla:.5},nozone:{hot:!0},amp:{freeze:2.5,hail:1.65}},swarm:{weapon:{laser:.02,flame:1,plasma:.04,kinetic:.01,missile:.08,sonic:.66,shotgun:.38,tesla:.45},nozone:{},amp:{}},dragon:{weapon:{laser:.18,flame:0,plasma:.12,kinetic:.35,missile:1,sonic:.22,shotgun:.65,tesla:.15},nozone:{},amp:{}},mech_dragon:{weapon:{laser:.84,flame:.1,plasma:.68,kinetic:.18,missile:.75,sonic:.22,shotgun:.28,tesla:1},nozone:{},amp:{}},construct:{weapon:{laser:.5,flame:.2,plasma:.6,kinetic:.34,missile:.9,sonic:.08,shotgun:.28,tesla:1},nozone:{},amp:{}},beholder:{weapon:{laser:.75,flame:.15,plasma:1,kinetic:.45,missile:.05,sonic:.01,shotgun:.12,tesla:.3},nozone:{},amp:{}},worm:{weapon:{laser:.55,flame:.38,plasma:.45,kinetic:.2,missile:.05,sonic:1,shotgun:.02,tesla:.01},nozone:{},amp:{}},hydra:{weapon:{laser:.85,flame:.75,plasma:.85,kinetic:.25,missile:.45,sonic:.5,shotgun:.6,tesla:.65},nozone:{},amp:{}},colossus:{weapon:{laser:1,flame:.05,plasma:.75,kinetic:.45,missile:1,sonic:.35,shotgun:.35,tesla:.5},nozone:{},amp:{}},lich:{weapon:{laser:.1,flame:.1,plasma:.1,kinetic:.45,missile:.75,sonic:.35,shotgun:.75,tesla:.5},nozone:{},amp:{}},ape:{weapon:{laser:1,flame:.95,plasma:.85,kinetic:.5,missile:.5,sonic:.05,shotgun:.35,tesla:.68},nozone:{},amp:{}},bandit:{weapon:{laser:.65,flame:.5,plasma:.85,kinetic:1,missile:.5,sonic:.25,shotgun:.75,tesla:.25},nozone:{},amp:{}},croc:{weapon:{laser:.65,flame:.05,plasma:.6,kinetic:.5,missile:.5,sonic:1,shotgun:.2,tesla:.75},nozone:{},amp:{}},djinni:{weapon:{laser:0,flame:.35,plasma:1,kinetic:.15,missile:0,sonic:.65,shotgun:.22,tesla:.4},nozone:{},amp:{}},snake:{weapon:{laser:.5,flame:.5,plasma:.5,kinetic:.5,missile:.5,sonic:.5,shotgun:.5,tesla:.5},nozone:{},amp:{}},centipede:{weapon:{laser:.5,flame:.85,plasma:.95,kinetic:.65,missile:.6,sonic:0,shotgun:.5,tesla:.01},nozone:{},amp:{}},spider:{weapon:{laser:.65,flame:1,plasma:.22,kinetic:.75,missile:.15,sonic:.38,shotgun:.9,tesla:.18},nozone:{},amp:{}},manticore:{weapon:{laser:.05,flame:.25,plasma:.95,kinetic:.5,missile:.15,sonic:.48,shotgun:.4,tesla:.6},nozone:{},amp:{}},fiend:{weapon:{laser:.75,flame:.25,plasma:.5,kinetic:.25,missile:.75,sonic:.25,shotgun:.5,tesla:.5},nozone:{},amp:{}},bat:{weapon:{laser:.16,flame:.18,plasma:.12,kinetic:.25,missile:.02,sonic:1,shotgun:.9,tesla:.58},nozone:{},amp:{}},medusa:{weapon:{laser:.35,flame:.1,plasma:.3,kinetic:.95,missile:1,sonic:.15,shotgun:.88,tesla:.26},nozone:{},amp:{}},ettin:{weapon:{laser:.5,flame:.35,plasma:.8,kinetic:.5,missile:.25,sonic:.3,shotgun:.6,tesla:.09},nozone:{},amp:{}},faceless:{weapon:{laser:.6,flame:.28,plasma:.6,kinetic:0,missile:.05,sonic:.8,shotgun:.15,tesla:1},nozone:{},amp:{}},enchanted:{weapon:{laser:1,flame:.02,plasma:.95,kinetic:.2,missile:.7,sonic:.05,shotgun:.65,tesla:.01},nozone:{},amp:{}},gargoyle:{weapon:{laser:.15,flame:.4,plasma:.3,kinetic:.5,missile:.5,sonic:.85,shotgun:1,tesla:.2},nozone:{},amp:{}},chimera:{weapon:{laser:.38,flame:.6,plasma:.42,kinetic:.85,missile:.35,sonic:.5,shotgun:.65,tesla:.8},nozone:{},amp:{}},gorgon:{weapon:{laser:.65,flame:.65,plasma:.65,kinetic:.65,missile:.65,sonic:.65,shotgun:.65,tesla:.65},nozone:{},amp:{}},kraken:{weapon:{laser:.75,flame:.35,plasma:.75,kinetic:.35,missile:.5,sonic:.18,shotgun:.05,tesla:.85},nozone:{},amp:{}},homunculus:{weapon:{laser:.05,flame:1,plasma:.1,kinetic:.85,missile:.65,sonic:.5,shotgun:.75,tesla:.2},nozone:{},amp:{}},giant_chicken:{weapon:{laser:.95,flame:.95,plasma:.95,kinetic:.95,missile:.95,sonic:.95,shotgun:.95,tesla:.95},nozone:{},amp:{}},skeleton_pack:{weapon:{laser:.5,flame:.1,plasma:.5,kinetic:1,missile:1.2,sonic:.5,shotgun:1.05,tesla:.2},nozone:{},amp:{}}};function Qt(r,a){let i=9999,s=1e7;switch(r){case"small":{let n=e.blood.prepared&&e.blood.prepared>=2?5e4:75e3;s=a?n*2.5:n,i=a?20:1}break;case"medium":s=a?45e4:18e4,i=a?100:4;break;case"large":s=a?925e3:375e3,i=a?500:20;break;case"titan":s=a?15e5:75e4,i=a?1500:75;break;case"collector":{let n=e.blood.prepared&&e.blood.prepared>=2?8e3:1e4;s=a?n*2.5:n,i=1}break}return{s:i,c:s}}function ku(r){let a="laser",i="laser";return Object.keys(Wt[r].weapon).forEach(function(s){Wt[r].weapon[s]>Wt[r].weapon[a]&&(a=s),Wt[r].weapon[s]');r.append(a);let i=$(`
${t("portal_mech_assembly")} - {{ b.size | slabel }} {{ b.chassis | clabel }}
`);a.append(i),i.append(` | ${t("portal_mech_bay_space")}: {{ m.bay }} / {{ m.max }}`),i.append(` | ${t("portal_mech_sup_avail")}: {{ p.supply | round }} / {{ p.sup_max }}`);let s=e.blood.prepared&&e.blood.prepared>=3?`${t("portal_mech_infernal")} (${t("portal_mech_infernal_effect",[25])})`:"";a.append(`
${t("portal_mech_space")} {{ b.size | bay }} | ${t("portal_mech_cost")} {{ b.size | price }} | ${t("portal_mech_soul",[e.resource.Soul_Gem.name])} {{ b.size | soul }}${s}
`),a.append("
{{ b.size | desc }}
");let n=$('
');a.append(n);let c="";["small","medium","large","titan","collector"].forEach(function(p,h){c+=`${t(`portal_mech_size_${p}`)}`}),n.append(`
');s.append(n);var c={template:''};C({el:"#govType",data:e.civic.govern,filters:{govern(o){return t(`govern_${o}`)},set(o){return o==="anarchy"?t("civics_set_gov"):t("civics_revolution")}},methods:{trigModal(){this.$buefy.modal.open({parent:this,component:c});var o=setInterval(function(){$("#modalBox").length>0&&(clearInterval(o),zu())},50)},startrev(){e.civic.govern.fr=e.civic.govern.rev,e.civic.govern.rev=0},force(){return e.civic.govern.rev>0?t("civics_force_rev_desc"):t("civics_force_rev_desc2")},vis(){return!!e.tech.govern}}}),N("govLabel",function(){let o=e.tech.unify&&e.tech.unify>=2&&e.civic.govern.type==="federation"?"federation_alt":e.civic.govern.type;return o==="theocracy"&&e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display&&(o="theocracy_alt"),$(`
${Ao(e.civic.govern.type)}
${Fo()[o]}
`)}),N("govTypeChange",function(){return e.civic.govern.rev>0?t("civics_change_desc",[e.civic.govern.rev]):t("civics_change_desc2")},{elm:"#govType .change"})}function Ao(r){return e.race.witch_hunter&&r==="magocracy"?t("witch_hunter_magocracy"):t(`govern_${r}_desc`)}function zu(){$("#modalBox").append($(`

${t("civics_government_type")}

`));let r=ht(6,10);r.length>0&&$("#modalBoxTitle").append(r);let a=mt(6,14,!1);a.length>0&&$("#modalBoxTitle").append(a);var i=$('
');$("#modalBox").append(i),e.tech.govern&&(e.civic.govern.type!=="autocracy"&&i.append($(``)),e.civic.govern.type!=="democracy"&&i.append($(``)),e.civic.govern.type!=="oligarchy"&&i.append($(``)),e.tech.gov_theo&&e.civic.govern.type!=="theocracy"&&i.append($(``)),e.tech.govern>=2&&e.civic.govern.type!=="republic"&&i.append($(``)),e.tech.gov_soc&&e.civic.govern.type!=="socialist"&&i.append($(``)),e.tech.gov_corp&&e.civic.govern.type!=="corpocracy"&&i.append($(``)),e.tech.govern>=3&&e.civic.govern.type!=="technocracy"&&i.append($(``)),e.tech.gov_fed&&e.civic.govern.type!=="federation"&&i.append($(``)),e.tech.gov_mage&&e.civic.govern.type!=="magocracy"&&i.append($(``)),e.race.wish&&e.race.wishStats&&e.race.wishStats.gov&&e.civic.govern.type!=="dictator"&&i.append($(``))),C({el:"#govModal",data:e.civic.govern,methods:{setGov(s){if(e.civic.govern.rev===0){let n=e.genes.governor&&e.civic.govern.type==="anarchy";e.civic.govern.type=s;let c=1e3;e.tech.high_tech&&(c+=250,e.tech.high_tech>=3&&(c+=250),e.tech.high_tech>=6&&(c+=250)),e.tech.space_explore&&e.tech.space_explore>=3&&(c+=250),e.race.unorganized&&(c=Math.round(c*(1+v.unorganized.vars()[0]/100))),e.stats.achieve.anarchist&&(c=Math.round(c*(1-e.stats.achieve.anarchist.l/10))),e.race.lawless&&(c=Math.round(c*((100-v.lawless.vars()[0])/100)));let o=re("tuskin");o>0&&(c=Math.round(c*((100-v.lawless.vars(1)[0]*o)/100)));let l=Q("aristocrat",0);l&&(c=Math.round(c*(1-l/100))),e.civic.govern.rev=c+e.civic.govern.fr,n&&ae(),C({el:"#govModal"},"destroy"),$(".modal-background").click(),le()}}}}),N("GovPop",function(s){let n=$(s.this).data("gov"),c=e.tech.unify&&e.tech.unify>=2&&n==="federation"?"federation_alt":n;return c==="theocracy"&&e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display&&(c="theocracy_alt"),$(`
${Ao(n)}
${Fo()[c]}
`)},{elm:"#govModal button",self:!0,classes:"has-background-light has-text-dark"})}function Ri(){if($("#foreign").length===0&&!e.race.cataclysm&&(!e.tech.world_control||e.race.truepath)&&!e.tech.isolation){let a=$('
');a.append($(`

${t("civics_foreign")}

`)),$("#r_govern0").append(a);var r={template:''};let i=e.race.truepath?5:3;for(let n=0;n{{ '${n}' | gov }} - ${t("civics_garrison_occupy")} - ${t("civics_garrison_annex")}
- ${t("civics_garrison_purchase")}`);a.append(c);let o=$("
");o.append($(``)),o.append($(``)),o.append($(``)),c.append(o),c.append($(`
${t("civics_gov_mil_rate")}: {{ f${n}.mil | military(${n}) }} ({{ f${n}.mil }})
`)),c.append($(`
${t("civics_gov_relations")}: {{ f${n}.hstl | relation }} ({{ f${n}.hstl | hate }})
`)),c.append($(`
${t("civics_gov_eco_rate")}: {{ f${n}.eco | eco(${n}) }} ({{ f${n}.eco }})
`)),c.append($(`
${t("civics_gov_unrest")}: {{ f${n}.unrest | discontent(${n}) }} ({{ f${n}.unrest | turmoil }})
`))}let s={f0:e.civic.foreign.gov0,f1:e.civic.foreign.gov1,f2:e.civic.foreign.gov2,t:e.tech};e.race.truepath&&(s.f3=e.civic.foreign.gov3,s.f4=e.civic.foreign.gov4),C({el:"#foreign",data:s,filters:{military(n,c){return e.civic.foreign[`gov${c}`].spy>=1?n<50?t("civics_gov_v_weak"):n<75?t("civics_gov_weak"):n>300?t("civics_gov_superpower"):n>200?t("civics_gov_v_strong"):n>160?t("civics_gov_strong"):n>125?t("civics_gov_above_average"):t("civics_gov_average"):"???"},relation(n){return n>80?t("civics_gov_hated"):n>60?t("civics_gov_hostile"):n>40?t("civics_gov_poor"):n>25?t("civics_gov_neutral"):n>10?t("civics_gov_liked"):t("civics_gov_good")},eco(n,c){return e.civic.foreign[`gov${c}`].spy>=2?n<60?t("civics_gov_weak"):n<80?t("civics_gov_recession"):n>120?t("civics_gov_strong"):t("civics_gov_average"):"???"},discontent(n,c){return e.civic.foreign[`gov${c}`].spy>=3?n<=0?t("civics_gov_none"):n<30?t("civics_gov_low"):n<60?t("civics_gov_medium"):n<90?t("civics_gov_high"):t("civics_gov_extreme"):"???"},gov(n){return pt(n)},sab(n){return n==="none"?"":t(`civics_spy_${n}`)},hate(n){return`${100-n}%`},turmoil(n){return`${n}%`}},methods:{campaign(n){Io(n)},battleAssessment(n){return ic(n)},trigModal(n){this.$buefy.modal.open({parent:this,component:r});var c=setInterval(function(){$("#modalBox").length>0&&(clearInterval(c),Fu(n))},50)},spy_disabled(n){return e.civic.foreign[`gov${n}`].trn>0||Ks(n)>e.resource.Money.amount},spy(n){To(n)},spyDesc(n){return So(n)},espDesc(){return Co()},vis(){return!!(e.civic.garrison.display&&(!e.tech.world_control||e.race.truepath)&&!e.race.cataclysm&&!e.tech.isolation)},gvis(n){return e.tech.isolation?!1:n<=2?!e.tech.world_control:n===3?!!e.tech.rival:!1}}});for(let n=0;n{{ label() }}
"},{elm:`#gov${n} .attack`,in:function(c){C({el:`#${c.id} > span`,data:{test:"val"},methods:{label(){return ic(n)}}})},out:function(c){C({el:c.id},"destroy")}}),N(`gov${n}ts`,function(){return"{{ label() }}"},{elm:`#gov${n} .tspy`,in:function(c){C({el:`#${c.id} > span`,data:{test:"val"},methods:{label(){return So(n)}}})},out:function(c){C({el:c.id},"destroy")}}),N(`gov${n}s`,function(){return Co()},{elm:`#gov${n} .sspy`});e.race.truepath&&N("garRivaldesc1",function(){return t("civics_gov_tp_rival",[pt(3),x[e.race.species].home])},{elm:"#gov3 > span"})}}function So(r){if(e.civic.foreign[`gov${r}`].trn>0)return t("civics_progress");let a=X(Ks(r));return t("civics_gov_spy_desc",[a])}function Co(){return t("civics_gov_esp_desc")}function Ks(r){let a=Math.round(e.civic.foreign[`gov${r}`].mil/2+e.civic.foreign[`gov${r}`].hstl/2-e.civic.foreign[`gov${r}`].unrest)+10;return a<50&&(a=50),e.race.infiltrator&&(a/=3),ja()==="scorpio"&&(a*=1-Zt("scorpio")[0]/100),Math.round(a**(e.civic.foreign[`gov${r}`].spy+1))+500}function To(r){if(e.tech.spy&&e.civic.foreign[`gov${r}`].trn===0){let a=Ks(r);if(e.resource.Money.amount>=a){e.resource.Money.amount-=a;let i=300;e.tech.spy>=3&&e.city.boot_camp&&(i-=(e.race.orbit_decayed&&e.space.space_barracks?e.space.space_barracks.on:e.city.boot_camp.count)*10,i<10&&(i=10)),e.race.infiltrator&&(i=Math.round(i/2)),e.civic.foreign[`gov${r}`].trn=i}}}function jo(r){let a=e.civic.foreign[`gov${r}`].eco*15384;return a*=1+e.civic.foreign[`gov${r}`].hstl*1.6/100,a*=1-e.civic.foreign[`gov${r}`].unrest*.25/100,+a.toFixed(0)}function It(r){return r?e.tech.world_control||e.civic.foreign[r].occ||e.civic.foreign[r].anx||e.civic.foreign[r].buy:e.civic.foreign.gov0.occ||e.civic.foreign.gov1.occ||e.civic.foreign.gov2.occ||e.civic.foreign.gov0.anx||e.civic.foreign.gov1.anx||e.civic.foreign.gov2.anx||e.civic.foreign.gov0.buy||e.civic.foreign.gov1.buy||e.civic.foreign.gov2.buy}function mi(r,a){switch(r){case"influence":if(e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${a}`].spy>=1&&e.civic.foreign[`gov${a}`].sab===0){let i=e.tech.spy>=4?200:300;e.civic.foreign[`gov${a}`].spy===1?i*=1.5:e.civic.foreign[`gov${a}`].spy>=3&&(i-=(e.civic.foreign[`gov${a}`].spy-2)*50),e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(i*=.9),i=Math.ceil(i),e.race.befuddle&&(i=Math.round(i*(1-v.befuddle.vars()[0]/100)));let s=re("dryad");s>0&&(i=Math.round(i*(1-v.befuddle.vars(1)[0]/100*s))),e.civic.foreign[`gov${a}`].sab=i,e.civic.foreign[`gov${a}`].act="influence"}break;case"sabotage":if(e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${a}`].spy>=1&&e.civic.foreign[`gov${a}`].sab===0){let i=e.tech.spy>=4?400:600;e.civic.foreign[`gov${a}`].spy>=2&&(i-=(e.civic.foreign[`gov${a}`].spy-1)*50),e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(i*=.9),i=Math.ceil(i),e.race.befuddle&&(i=Math.round(i*(1-v.befuddle.vars()[0]/100)));let s=re("dryad");s>0&&(i=Math.round(i*(1-v.befuddle.vars(1)[0]/100*s))),e.civic.foreign[`gov${a}`].sab=i,e.civic.foreign[`gov${a}`].act="sabotage"}break;case"incite":{if(a>=3)break;if(e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${a}`].spy>=1&&e.civic.foreign[`gov${a}`].sab===0){let i=e.tech.spy>=4?600:900;e.civic.foreign[`gov${a}`].spy<=2?i*=1.5:e.civic.foreign[`gov${a}`].spy>=4&&(i-=(e.civic.foreign[`gov${a}`].spy-3)*100),e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(i*=.9),i=Math.ceil(i),e.race.befuddle&&(i=Math.round(i*(1-v.befuddle.vars()[0]/100)));let s=re("dryad");s>0&&(i=Math.round(i*(1-v.befuddle.vars(1)[0]/100*s))),e.civic.foreign[`gov${a}`].sab=i,e.civic.foreign[`gov${a}`].act="incite"}}break}}function Fu(r){$("#modalBox").append($(`

${t("civics_espionage_actions")}

`));var a=$('
');$("#modalBox").append(a),e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${r}`].spy>=1&&(a.append($(``)),a.append($(``)),r<3&&a.append($(``)),r<3&&e.civic.foreign[`gov${r}`].hstl<=50&&e.civic.foreign[`gov${r}`].unrest>=50&&a.append($(``)),r<3&&e.civic.foreign[`gov${r}`].spy>=3&&a.append($(``))),C({el:"#espModal",data:e.civic.foreign[`gov${r}`],methods:{influence(i){e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${i}`].spy>=1&&(mi("influence",i),C({el:"#espModal"},"destroy"),$(".modal-background").click(),le())},sabotage(i){e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${i}`].spy>=1&&(mi("sabotage",i),C({el:"#espModal"},"destroy"),$(".modal-background").click(),$("#popGov").hide(),le())},incite(i){i>=3||e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${i}`].spy>=1&&(mi("incite",i),C({el:"#espModal"},"destroy"),$(".modal-background").click(),le())},annex(i){if(!(i>=3)&&e.civic.foreign[`gov${r}`].hstl<=50&&e.civic.foreign[`gov${r}`].unrest>=50&&e.city.morale.current>=200+e.civic.foreign[`gov${r}`].hstl-e.civic.foreign[`gov${r}`].unrest&&e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${i}`].spy>=1&&e.civic.foreign[`gov${i}`].sab===0){let s=e.tech.spy>=4?150:300;e.race.befuddle&&(s=Math.round(s*(1-v.befuddle.vars()[0]/100)));let n=re("dryad");n>0&&(s=Math.round(s*(1-v.befuddle.vars(1)[0]/100*n))),e.civic.foreign[`gov${i}`].sab=s,e.civic.foreign[`gov${i}`].act="annex",C({el:"#espModal"},"destroy"),$(".modal-background").click(),le()}},purchase(i){if(i>=3)return;let s=jo(i);if(s<=e.resource.Money.amount&&e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${i}`].spy>=3&&e.civic.foreign[`gov${i}`].sab===0){e.resource.Money.amount-=s;let n=e.tech.spy>=4?150:300;e.race.befuddle&&(n=Math.round(n*(1-v.befuddle.vars()[0]/100)));let c=re("dryad");c>0&&(n=Math.round(n*(1-v.befuddle.vars(1)[0]/100*c))),e.civic.foreign[`gov${i}`].sab=n,e.civic.foreign[`gov${i}`].act="purchase",C({el:"#espModal"},"destroy"),$(".modal-background").click(),le()}}}}),N("GovLabel",function(i){let s=$(i.this).data("esp"),n="";if(s==="purchase"){let o=jo(r).toLocaleString();n=t(`civics_spy_${s}_desc`,[pt(r),o])}else if(s==="annex")if(e.city.morale.current>=200+e.civic.foreign[`gov${r}`].hstl-e.civic.foreign[`gov${r}`].unrest)n=t(`civics_spy_${s}_desc`,[pt(r)]);else{let o=200+e.civic.foreign[`gov${r}`].hstl-e.civic.foreign[`gov${r}`].unrest;n=t(`civics_spy_${s}_goal`,[pt(r),o])}else n=t(`civics_spy_${s}_desc`,[pt(r)]);let c="";return(s==="influence"&&e.civic.foreign[`gov${r}`].hstl===0||s==="sabotage"&&e.civic.foreign[`gov${r}`].spy>=2&&e.civic.foreign[`gov${r}`].mil===50||s==="incite"&&e.civic.foreign[`gov${r}`].spy>=4&&e.civic.foreign[`gov${r}`].unrest===100)&&(c=`
${t("civics_spy_warning")}
`),$(`${c}
${n}
`)},{elm:"#espModal button",self:!0,classes:"has-background-light has-text-dark"})}function rc(r){let a=!!(e.tech.currency&&e.tech.currency>=5);if(r)return(a||e.race.terrifying)&&!e.race.noble?0:e.race.noble?v.noble.vars()[0]:10;{let i=30;e.race.noble?i=v.noble.vars()[1]:(a||e.race.terrifying)&&(i+=20),e.civic.govern.type==="oligarchy"&&(i+=Be.oligarchy()[1]);let s=Q("aristocrat",1);return s&&(i+=s),e.race.wish&&e.race.wishStats&&(i+=e.race.wishStats.tax),i}}function ac(r,a){switch(r){case"add":{let i=a||W(),s=rc(!1);e.race.noble?(e.civic.taxes.tax_rate+=i,e.civic.taxes.tax_rate>(e.civic.govern.type==="oligarchy"?v.noble.vars()[1]+20:v.noble.vars()[1])&&(e.civic.taxes.tax_rate=e.civic.govern.type==="oligarchy"?v.noble.vars()[1]+20:v.noble.vars()[1])):e.civic.taxes.tax_rates&&(e.civic.taxes.tax_rate=s))}break;case"sub":{let i=a||W(),s=rc(!0);e.civic.taxes.tax_rate>s&&(e.civic.taxes.tax_rate-=i,e.civic.taxes.tax_rate');r.append(a);var i=$(`

${t("civics_tax_rates")}

`);a.append(i);var s=$(''),n=$('«'),c=$('»');a.append(n),a.append(s),a.append(c),C({el:"#tax_rates",data:e.civic.taxes,filters:{tax_level(o){let l=ht(11,14),u=mt(2,14,!1);return l.length>0&&(o===0&&!e.race.noble||o===10&&e.race.noble)?l:o===13&&u.length>0?u:`${o}%`}},methods:{add(){ac("add")},sub(){ac("sub")}}}),N("taxRateLabel",function(){return t("civics_tax_rates_desc")},{classes:"has-background-light has-text-dark"})}function Jt(r,a){switch(r){case"m_cost":return Ga();case"m_buy":return Eo(1);case"s_cost":return Ks(a);case"t_spy":return To(a);case"adj_tax":return ac(a,1);case"tax_cap":return rc(a);case"s_influence":return mi("influence",a);case"s_sabotage":return mi("sabotage",a);case"s_incite":return mi("incite",a)}}function Ga(){let r=Math.round(1.24**e.civic.garrison.workers*75)-50;r>25e3&&(r=25e3),e.civic.garrison.m_use>0&&(r*=1.1**e.civic.garrison.m_use),e.race.brute&&(r*=1-v.brute.vars()[0]/100);let a=re("orc");return a>0&&(r*=1-v.brute.vars(1)[0]/100*a),e.race.inflation&&(r*=1+e.race.inflation/500),e.race.high_pop&&(r*=v.high_pop.vars()[1]/100),Math.round(r)}function Eo(r){let a=0;if(e.tech.mercs){let i=r||W(),s=!0;for(;s&&i>0;){let n=Ga();e.civic.garrison.workers=n?(e.resource.Money.amount-=n,e.civic.garrison.workers++,e.civic.garrison.m_use++,a++):s=!1,i--}}return a}function jr(r,a){K(r),e.tech.world_control&&!e.race.truepath?r.append($(`

${t("civics_garrison")}

- ${t("rating")} {{ g.workers | hell | rating }}
`)):r.append($(`

${t("civics_garrison")}

- ${t("rating")} {{ g.workers | hell | rating }} / {{ g.raid | rating }}
`));var i=$("
");r.append(i);var s=$('
');i.append(s);var n=$('
');s.append(n);let c=e.tech.world_control&&!e.race.truepath?t("civics_garrison_peacekeepers"):t("civics_garrison_soldiers");if(e.tech.isolation||(n.append($(`
${c} / {{ g.max | s_max }}
`)),n.append($(`
${t("civics_garrison_crew")} {{ g.crew }}
`)),n.append($(`
${t("civics_garrison_wounded")}
`)),s.append($(`
`))),a){let P="";e.tech.isolation&&(P=ht(8,12)),r.append($(`
${t("civics_garrison_training")} - ${t("arpa_to_complete")} {{ g.rate, g.progress | trainTime }}${P} {{ g.progress }}%
`))}var o=$('
');i.append(o);var l=$('
');if(o.append(l),(!e.tech.world_control||e.race.truepath)&&!e.race.cataclysm&&!e.tech.isolation){var u=$(`
${t("civics_garrison_campaign")}
`);l.append(u);var p=$('{{ g.tactic | tactics }}'),h=$('«'),d=$('»');u.append(h),u.append(p),u.append(d);var g=$(`
${t("civics_garrison_battalion")}
`);l.append(g);var w=$('{{ g.raid }}'),k=$('«'),M=$('»');g.append(k),g.append(w),g.append(M),a&&(e.race.truepath&&e.tech.rival&&o.append($(`
${pt(3)}
`)),e.tech.world_control||(o.append($(`
${pt(0)}
`)),o.append($(`
${pt(1)}
`)),o.append($(`
${pt(2)}
`))))}let q={g:e.civic.garrison,g0:e.civic.foreign.gov0,g1:e.civic.foreign.gov1,g2:e.civic.foreign.gov2};if(e.race.truepath&&(q.g3=e.civic.foreign.gov3,q.g4=e.civic.foreign.gov4),C({el:a?"#garrison":"#c_garrison",data:q,methods:{hire(){if(Eo()===1&&!a){let O=mt(8,14,!0);O.length>0&&$("#c_garrison .hire").append(O)}},campaign(P){Io(P)},next(){e.civic.garrison.tactic<4&&e.civic.garrison.tactic++},last(){e.civic.garrison.tactic>0&&e.civic.garrison.tactic--},aNext(){let P=W();e.civic.garrison.raidwe()&&(e.civic.garrison.raid=we()))},aLast(){let P=W();e.civic.garrison.raid>0&&(e.civic.garrison.raid-=P,e.civic.garrison.raid<0&&(e.civic.garrison.raid=0))},vis(){return e.civic.garrison.display},rvis(){return!!(e.tech.rival&&!e.tech.isolation)}},filters:{tactics(P){switch(P){case 0:return t("civics_garrison_tactic_ambush");case 1:return t("civics_garrison_tactic_raid");case 2:return t("civics_garrison_tactic_pillage");case 3:return t("civics_garrison_tactic_assault");case 4:return t("civics_garrison_tactic_siege")}},rating(P){return+Qe(P,"army").toFixed(1)},hell(P){return we()},stationed(P){let O=we(),U=e.race.cataclysm?13:31,Z=O===U&&!a?mt(2,14,!0):!1;return O===U&&Z.length>0?Z:O},s_max(P){return we(!0)},wounded(P){let O=ht(8,12);return a&&P===0&&O.length>0?O:ke("fool",2021)?we()-P:P},trainTime(P,O){return P===0?ut(-1):ut((100-O)/(P*4))}}}),["tactic","bat","soldier","crew","wounded","hmerc","defenseRating","offenseRating"].forEach(function(P){N(a?`garrison${P}`:`cGarrison${P}`,function(){return"{{ label() }}"},{elm:`${a?"#garrison":"#c_garrison"} .${P}`,in:function(O){C({el:`#${O.id} > span`,data:{test:"val"},methods:{label(){switch(P){case"tactic":switch(e.civic.garrison.tactic){case 0:return t("civics_garrison_tactic_ambush_desc");case 1:return t("civics_garrison_tactic_raid_desc");case 2:return t("civics_garrison_tactic_pillage_desc");case 3:return t("civics_garrison_tactic_assault_desc");case 4:return t("civics_garrison_tactic_siege_desc",[E(e.civic.govern.type==="federation"?15:20)])}case"bat":return t("civics_garrison_army_label");case"soldier":return Wn();case"crew":return t("civics_garrison_crew_desc");case"wounded":return t("civics_garrison_wounded_desc");case"hmerc":{let U=Math.round(Ga()).toLocaleString();return t("civics_garrison_hire_mercenary_cost",[U])}case"defenseRating":return t("civics_garrison_defensive_rate");case"offenseRating":return t("civics_garrison_offensive_rate")}}}})},out:function(O){C({el:O.id},"destroy")}})}),a){let P=e.race.truepath?4:3;for(let O=0;O{{ label() }}"},{elm:`#garrison .gov${O} button`,in:function(U){C({el:`#${U.id} > span`,data:{test:"val"},methods:{label(){return ic(O)}}})},out:function(U){C({el:U.id},"destroy")}});e.race.truepath&&!e.tech.isolation&&N("garRivaldesc2",function(){return t("civics_gov_tp_rival",[pt(3),x[e.race.species].home])},{elm:"#garrison .gov3 > div"})}}function Wn(){let r=Qe(we(),"hunting"),a=[];if((!e.race.herbivore||e.race.carnivore)&&!e.race.artifical){let c=+(r/3).toFixed(2);a.push(c,e.resource.Food.name)}let i=+(r/10).toFixed(2);if(a.push(i,e.resource.Furs.name),e.race.evil&&!e.race.kindling_kindred&&!e.race.smoldering){let c=+(r/(e.race.soul_eater?3:5)).toFixed(2);a.push(c,e.resource.Lumber.name)}let s="civics_garrison_soldier_loot"+a.length/2,n=e.race.evil&&e.race.soul_eater?"civics_garrison_soldier_evil_desc":"civics_garrison_soldier_desc";return t(n)+t(s,a)}function ic(r){if(e.civic.foreign[`gov${r}`].occ)return t("civics_garrison_deoccupy_desc");if(e.civic.foreign[`gov${r}`].buy||e.civic.foreign[`gov${r}`].anx)return t("civics_garrison_secede_desc");if(e.civic.garrison.tactic<=1&&e.civic.foreign[`gov${r}`].spy<1||e.civic.garrison.tactic>=2&&e.civic.garrison.tactic<=3&&e.civic.foreign[`gov${r}`].spy<2||e.civic.garrison.tactic===4&&e.civic.foreign[`gov${r}`].spy<3)return t("civics_garrison_no_spy");let a=Qe(e.civic.garrison.raid,"army"),i=0;switch(e.civic.garrison.tactic){case 0:i=5;break;case 1:i=27.5;break;case 2:i=62.5;break;case 3:i=125;break;case 4:i=300;break}return i*=e.civic.foreign[`gov${r}`].mil/100,e.race.banana&&(i*=2),e.city.biome==="swamp"&&(i*=xe.swamp.vars()[0]),ke("fool",2021)&&(i/=1.25),awe()?e.civic.garrison.raid=we():e.civic.garrison.raid<0&&(e.civic.garrison.raid=0),e.civic.garrison.raid===0){I(t("civics_garrison_campaign_no_soldier"),"warning",!1,["combat"]);return}e.stats.attacks++;let a=e.race.claws?20:16,i=e.race.puny?3:5,s=Math.floor(T(i,a,!0))/10,n=Qe(e.civic.garrison.raid,"army")*s,c=0;switch(e.civic.garrison.tactic){case 0:c=T(0,10,!0),e.civic.foreign[`gov${r}`].hstl+=Math.floor(T(0,2,!0));break;case 1:c=T(5,50,!0),e.civic.foreign[`gov${r}`].hstl+=Math.floor(T(0,3,!0));break;case 2:c=T(25,100,!0),e.civic.foreign[`gov${r}`].hstl+=Math.floor(T(1,5,!0));break;case 3:c=T(50,200,!0),e.civic.foreign[`gov${r}`].hstl+=Math.floor(T(4,12,!0));break;case 4:c=T(100,500,!0),e.civic.foreign[`gov${r}`].hstl+=Math.floor(T(10,25,!0));break}c=Math.floor(c*e.civic.foreign[`gov${r}`].mil/100),e.race.banana&&(c*=2),e.city.biome==="swamp"&&(c*=xe.swamp.vars()[0]),e.race.mistrustful&&(e.civic.foreign[`gov${r}`].hstl+=v.mistrustful.vars()[0]),e.civic.foreign[`gov${r}`].hstl>100&&(e.civic.foreign[`gov${r}`].hstl=100),e.race.blood_thirst&&(e.race.blood_thirst_count+=Math.ceil(c/5),e.race.blood_thirst_count>v.blood_thirst.vars()[0]&&(e.race.blood_thirst_count=v.blood_thirst.vars()[0]));let o=0;if(e.civic.garrison.raid>e.civic.garrison.workers-e.civic.garrison.crew-e.civic.garrison.wounded&&(o=e.civic.garrison.raid-(e.civic.garrison.workers-e.civic.garrison.crew-e.civic.garrison.wounded)),e.civic.garrison.fatigue++,n>c){let l=Math.floor(e.civic.garrison.raid/(5-e.civic.garrison.tactic));l+=o,e.city.ptrait.includes("rage")&&(l+=Ie.rage.vars()[2]),l<1&&(l=1),l>is()&&(l=is());let u=Math.floor(T(0,l,!0));e.race.frail&&(u+=v.frail.vars()[0]);let p=Ss(u);if(e.civic.garrison.raid>o&&(u-=p),u<0&&(u=0),u>e.civic.garrison.raid&&(u=e.civic.garrison.raid),e.race.instinct){let z=Math.floor(u*(v.instinct.vars()[1]/100));u-=z,o+=z}Bt(u),e.civic.garrison.protest+=u,u>o?(e.civic.garrison.wounded-=o,o=0):(e.civic.garrison.wounded-=u,o-=u),e.race.ocular_power&&e.race.ocularPowerConfig&&e.race.ocularPowerConfig.p&&(e.race.ocularPowerConfig.ds+=Math.round(c*v.ocular_power.vars()[1])),e.civic.garrison.wounded+=Math.floor(T(o,e.civic.garrison.raid-u,!0));let h={Money:0,Food:0,Lumber:0,Stone:0,Copper:0,Iron:0,Aluminium:0,Coal:0,Cement:0,Steel:0,Titanium:0,Crystal:0,Chrysotile:0,Furs:0,Iridium:0,Alloy:0,Polymer:0,Oil:0},d=r===3&&e.race.truepath?["Food","Lumber","Stone","Copper","Iron"]:["Food","Lumber","Stone"],g=r===3&&e.race.truepath?["Aluminium","Coal","Cement","Steel","Furs"]:["Copper","Iron","Aluminium","Coal"],w=r===3&&e.race.truepath?["Titanium","Oil","Iridium","Alloy","Polymer"]:["Cement","Steel"];(e.race.artifical||e.race.fasting)&&d.shift(),e.race.smoldering&&d.push("Chrysotile"),e.race.terrifying&&r!==3&&w.push("Titanium"),e.tech.magic&&w.push("Crystal");let k=["Money"];switch(e.civic.garrison.tactic){case 0:{let z=["Money"].concat(d,g);k.push(d[Math.floor(T(0,d.length,!0))]),k.push(z[Math.floor(T(0,z.length,!0))]),e.race.beast_of_burden&&k.push(z[Math.floor(T(0,z.length,!0))]),e.resource.Steel.amount<25&&e.tech.smelting&&e.tech.smelting===1&&Math.floor(T(0,20,!0))===0&&k.push("Steel")}break;case 1:{let z=["Money"].concat(d,g,w);k.push(d[Math.floor(T(0,d.length,!0))]),k.push(g[Math.floor(T(0,g.length,!0))]),k.push(z[Math.floor(T(0,z.length,!0))]),e.race.beast_of_burden&&k.push(z[Math.floor(T(0,z.length,!0))])}break;case 2:{let z=["Money"].concat(d,g,w),Y=g.concat(w);k.push(d[Math.floor(T(0,d.length,!0))]),k.push(g[Math.floor(T(0,g.length,!0))]),k.push(z[Math.floor(T(0,z.length,!0))]),k.push(Y[Math.floor(T(0,Y.length,!0))]),e.race.beast_of_burden&&k.push(z[Math.floor(T(0,z.length,!0))])}break;case 3:{let z=["Money"].concat(d,g,w);k.push(d[Math.floor(T(0,d.length,!0))]),k.push(g[Math.floor(T(0,g.length,!0))]),k.push(w[Math.floor(T(0,w.length,!0))]),k.push(z[Math.floor(T(0,z.length,!0))]),e.race.beast_of_burden&&k.push(z[Math.floor(T(0,z.length,!0))])}break;case 4:{let z=["Money"].concat(d,g,w);k.push(d[Math.floor(T(0,d.length,!0))]),k.push(g[Math.floor(T(0,g.length,!0))]),k.push(w[Math.floor(T(0,w.length,!0))]),k.push(z[Math.floor(T(0,z.length,!0))]),e.race.beast_of_burden&&k.push(z[Math.floor(T(0,z.length,!0))])}break}let M=e.race.terrifying&&r!==3?v.terrifying.vars()[0]:12,q=e.race.terrifying&&r!==3?v.terrifying.vars()[1]:32;k.forEach(function(z){switch(z){case"Money":h[z]+=Math.floor(T(100,375,!0));break;case"Food":h[z]+=Math.floor(T(40,175,!0));break;case"Lumber":case"Stone":h[z]+=Math.floor(T(50,250,!0));break;case"Copper":case"Iron":case"Aluminium":h[z]+=Math.floor(T(35,125,!0));break;case"Coal":case"Cement":h[z]+=Math.floor(T(25,100,!0));break;case"Steel":case"Chrysotile":h[z]+=Math.floor(T(20,65,!0));break;case"Titanium":h[z]+=Math.floor(T(M,q,!0));break;case"Crystal":h[z]+=Math.floor(T(1,5,!0));break;case"Oil":h[z]+=Math.floor(T(20,50,!0));break;case"Iridium":h[z]+=Math.floor(T(2,30,!0));break;case"Alloy":case"Polymer":h[z]+=Math.floor(T(5,38,!0));break}});let P=t("civics_garrison_gained");e.resource.Money.display&&h.Money>0&&(h.Money=zo(h.Money,r),P=P+t("civics_garrison_quant_money",[h.Money]),yt("Money",h.Money)),d.concat(g,w).forEach(function(z){h[z]>0&&(e.resource[z].display||z==="Steel"||z==="Titanium")&&(h[z]=zo(h[z],r),P=P+t("civics_garrison_quant_res",[h[z],e.resource[z].name]),yt(z,h[z]),(z==="Steel"||z==="Titanium")&&(e.resource[z].display=!0))}),P=P.slice(0,-2),P=P+".",I(P,"warning",!1,["combat"]);let U=0;if(e.race.revive){switch(e.city.calendar.temp){case 0:U=Math.floor(T(0,Math.floor(u/v.revive.vars()[0]),!0));break;case 1:U=Math.floor(T(0,Math.floor(u/v.revive.vars()[1]),!0));break;case 2:U=Math.floor(T(0,Math.floor(u/v.revive.vars()[2]),!0));break}e.civic.garrison.workers+=U}if(U>0?I(t("civics_garrison_victorious_revive",[u,U]),"success",!1,["combat"]):I(t("civics_garrison_victorious",[u]),"success",!1,["combat"]),e.race.slaver&&e.city.slave_pen){let z=e.city.slave_pen.count*4;if(z>e.resource.Slave.amount){let Y=Math.floor(T(0,e.civic.garrison.tactic+2,!0));Y+e.resource.Slave.amount>z&&(Y=z-e.resource.Slave.amount),Y>0&&(e.resource.Slave.amount+=Y,I(t("civics_garrison_capture",[Y]),"success",!1,["combat"]))}}if(e.race.infectious){let z=0;switch(e.civic.garrison.tactic){case 0:z=Math.floor(T(0,v.infectious.vars()[0],!0));break;case 1:z=Math.floor(T(0,v.infectious.vars()[1],!0));break;case 2:z=Math.floor(T(0,v.infectious.vars()[2],!0));break;case 3:z=Math.floor(T(0,v.infectious.vars()[3],!0));break;case 4:z=Math.floor(T(0,v.infectious.vars()[4],!0));break}e.resource[e.race.species].amount+z>e.resource[e.race.species].max&&(z=e.resource[e.race.species].max-e.resource[e.race.species].amount),z>0&&(e.resource[e.race.species].amount+=z,e.civic.d_job!=="unemployed"&&(e.civic[e.civic.d_job].workers+=z),z===1?I(t("civics_garrison_soldier_infected"),"special",!1,["combat"]):I(t("civics_garrison_soldiers_infected",[z]),"special",!1,["combat"]))}let Z=E(e.civic.govern.type==="federation"?15:20);if(r<=2&&e.civic.garrison.tactic===4&&e.civic.garrison.workers>=Z){let z=!e.tech.gov_fed&&!It();if(e.civic.garrison.max-=Z,e.civic.garrison.workers-=Z,e.civic.foreign[`gov${r}`].occ=!0,e.civic.foreign[`gov${r}`].sab=0,e.civic.foreign[`gov${r}`].act="none",z&&ae(),e.race.banana){let Y=fe();e.stats.banana.b1[Y]=!0,Y!=="m"&&Y!=="l"&&(e.stats.banana.b1.l=!0)}}}else{let l=e.civic.garrison.raid;l+=o,e.civic.garrison.tactic===0&&(l=Math.floor(l/2)),e.city.ptrait.includes("rage")&&(l+=Ie.rage.vars()[2]),l<1&&(l=1),l>is()&&(l=is());let u=Math.floor(T(1,l,!0));e.race.frail&&(u+=e.civic.garrison.tactic+v.frail.vars()[1]);let p=Ss(u);if(e.civic.garrison.raid>o&&(u-=p),e.race.instinct){let d=Math.floor(u*(v.instinct.vars()[1]/100));u-=d,o+=d}u<1&&(u=1),u>e.civic.garrison.raid&&(u=e.civic.garrison.raid),Bt(u),e.civic.garrison.protest+=u,u>o?(e.civic.garrison.wounded-=o,o=0):(e.civic.garrison.wounded-=u,o-=u),e.civic.garrison.wounded+=1+Math.floor(T(o,e.civic.garrison.raid-u,!0));let h=0;if(e.race.revive){switch(e.city.calendar.temp){case 0:h=Math.floor(T(0,Math.floor(u/v.revive.vars()[3]),!0));break;case 1:h=Math.floor(T(0,Math.floor(u/v.revive.vars()[4]),!0));break;case 2:h=Math.floor(T(0,Math.floor(u/v.revive.vars()[5]),!0));break}e.civic.garrison.workers+=h}h>0?I(t("civics_garrison_defeat_revive",[u,h]),"danger",!1,["combat"]):I(t("civics_garrison_defeat",[u]),"danger",!1,["combat"])}e.civic.garrison.wounded>e.civic.garrison.workers-e.civic.garrison.crew?e.civic.garrison.wounded=e.civic.garrison.workers-e.civic.garrison.crew:e.civic.garrison.wounded<0&&(e.civic.garrison.wounded=0)}function Ss(r){let a=0;if(e.race.scales&&(a+=v.scales.vars()[0]),e.tech.armor&&(a+=e.tech.armor),e.race.high_pop&&(a+=Math.floor(T(0,a*v.high_pop.vars()[0],!0))),e.race.armored){let s=v.armored.vars()[0]/100;a+=Math.floor(r*s)}let i=re("tortoisan");if(i>0){let s=v.armored.vars(1)[0]/100*i;a+=Math.floor(r*s)}return a}function is(){let r=0,a=e.civic.garrison.raid;switch(e.civic.garrison.tactic){case 0:r=5;break;case 1:r=10;break;case 2:r=25;break;case 3:r=50;break;case 4:r=999;break}return e.race.high_pop&&(r=E(r)),a>r&&(a=r),a}function zo(r,a){let i=is();e.race.high_pop&&(i=i/E(1));let s=r*Math.log(i+1);switch(e.race.invertebrate&&(s*=1-v.invertebrate.vars()[0]/100),e.race.universe==="evil"&&(s*=Me("evil")),e.race.gravity_well&&(s*=1-.75*Me("heavy")),e.civic.garrison.tactic){case 1:s*=4;break;case 2:s*=30;break;case 3:s*=100;break;case 4:s*=400;break}return e.race.banana&&(s*=.5),e.city.biome==="swamp"&&(s*=xe.swamp.vars()[1]),Math.floor(s*e.civic.foreign[`gov${a}`].eco/100)}function Tu(){let r=e.tech.military?e.tech.military>=5?e.tech.military-1:e.tech.military:1;if(e.tech.military&&e.tech.military>1){r-=e.tech.military>=11?2:1,e.race.sniper&&(r*=1+v.sniper.vars()[0]/100*r);let a=re("centaur");a>0&&(r*=1+v.sniper.vars(1)[0]/100*r*a),r+=e.tech.military>=11?2:1}return r}function Bt(r){let a=r;a>e.civic.garrison.workers&&(a=e.civic.garrison.workers),e.civic.garrison.workers-=a,e.stats.died+=a,Br(a)}function Qe(r,a,i){if(!e.civic.hasOwnProperty("garrison"))return 1;let s=0;typeof i=="number"?s=i:r>e.civic.garrison.workers-e.civic.garrison.wounded&&(s=r-(e.civic.garrison.workers-e.civic.garrison.wounded));let n=Tu(),c=re("rhinotaur"),o=r-s/2;if(e.race.rage||c>0){let u=e.race.rage?s*v.rage.vars()[1]/100:0,p=c>0?s*v.rage.vars(1)[1]/100*c:0;o=r+u+p}let l=e.tech.military?o*n:o;if(a==="army"||a==="hellArmy"||a==="Troops"){e.race.rage&&(l*=1+v.rage.vars()[0]/100*(e.civic.garrison.wounded||0)),c>0&&(l*=1+v.rage.vars(1)[0]/100*c*(e.civic.garrison.wounded||0)),e.race.puny&&(l*=1-v.puny.vars()[0]/100),e.race.claws&&(l*=1+v.claws.vars()[0]/100);let u=re("scorpid");u>0&&(l*=1+v.claws.vars(1)[0]/100*u),e.race.chameleon&&(l*=1+v.chameleon.vars()[0]/100),e.race.cautious&&e.city.calendar.weather===0&&(l*=1-v.cautious.vars()[0]/100),e.race.apex_predator&&(l*=1+v.apex_predator.vars()[0]/100);let p=re("sharkin");p>0&&(l*=1+v.apex_predator.vars(1)[0]/100*p),e.race.swift&&(l*=1+v.swift.vars()[0]/100),e.race.fiery&&(l*=1+v.fiery.vars()[0]/100);let h=re("balorg");h>0&&(l*=1+v.fiery.vars(1)[0]/100*h),e.race.sticky&&(l*=1+v.sticky.vars()[1]/100);let d=re("pinguicula");d>0&&(l*=1+v.sticky.vars(1)[1]/100*d),e.race.pathetic&&(l*=1-v.pathetic.vars()[0]/100),e.race.tactical&&(l*=1+v.tactical.vars()[0]*e.race.tactical/100),e.tech.fanaticism&&e.tech.fanaticism>=4&&(l*=1+e.city.temple.count*.01),e.race.holy&&a==="hellArmy"&&(l*=1+v.holy.vars()[0]/100);let g=re("unicorn");g>0&&a==="hellArmy"&&(l*=1+v.holy.vars(1)[0]/100*g),e.race.banana&&a==="hellArmy"&&(l*=.8),ja()==="aries"&&(l*=1+Zt("aries")[0]/100);let w=Q("tactician",0);if(w&&(l*=1+w/100),e.city.ptrait.includes("rage")&&(l*=Ie.rage.vars()[0]),e.race.elemental&&(l*=1+v.elemental.vars()[5]/100),e.race.ocular_power&&e.race.ocularPowerConfig&&e.race.ocularPowerConfig.d){let k=50*(v.ocular_power.vars()[1]/100);l*=1+k/100}if(e.race.parasite&&(r===1?l+=2:r>1&&(l+=4)),e.tech.psychic&&e.race.psychicPowers&&e.race.psychicPowers.hasOwnProperty("assaultTime")){let k=0;if(e.race.psychicPowers.assaultTime>0&&(k+=v.psychic.vars()[3]/100),e.tech.psychic>=4&&e.race.psychicPowers.channel){let M=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;k+=+(v.psychic.vars()[3]/5e4*M*e.race.psychicPowers.channel.assault).toFixed(3)}l*=1+k}}if(a==="hunting"&&(e.race.unfathomable&&(l*=.66),e.city.banquet&&e.city.banquet.on&&e.city.banquet.count>=3&&(l*=1+e.city.banquet.strength**.65/100),e.race.ocular_power&&e.race.ocularPowerConfig&&e.race.ocularPowerConfig.w)){let u=60*(v.ocular_power.vars()[1]/100);l*=1+u/100}if(e.race.tusk){let u=v.tusk.vars()[1]/100;a==="hellArmy"&&(u/=2),l*=1+u}return e.race.grenadier&&(l*=1+v.grenadier.vars()[0]/100),e.race.rejuvenated&&(l*=1.05),e.civic.govern.type==="autocracy"&&(l*=1+Be.autocracy()[1]/100),l=Math.floor(l),l*$r(r,a)}function we(r,a={}){if(!e.civic.garrison)return 0;let i=r?"max":"workers",s=e.portal.fortress?e.portal.fortress.garrison:0,n=e.space.fob&&!a.nofob?e.space.fob.troops:0,c=e.eden.pillbox&&!a.nopill?e.eden.pillbox.staffed:0;return e.civic.garrison[i]-e.civic.garrison.crew-s-n-c}function Eu(){if(e.race.sludge||e.race.ultra_sludge)return!1;if($("#mad").length===0){let i=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");var r=$('
');$("#military").append(r);var a=$('
');r.append(a),a.append($(`
${t("civics_mad_reset_desc",[i])}
`));let s=!!(e.race.hrt&&["wolven","vulpine"].includes(e.race.hrt));a.append($(`
`)),a.append($(`
`)),e.civic.mad.armed||($("#mad").addClass("armed"),$("#mad .arm").html(t(s?"civics_mad_disarm_grenades":"civics_mad_disarm_missiles"))),C({el:"#mad",data:e.civic.mad,methods:{launch(){if(!e.civic.mad.armed&&!e.race.cataclysm){$("body").addClass("nuke");let n=$('
');$("body").append(n),setTimeout(function(){n.addClass("burn")},500),setTimeout(function(){n.addClass("b")},600),setTimeout(function(){bs()},4e3)}},arm(){e.civic.mad.armed?($("#mad .arm").html(t(s?"civics_mad_disarm_grenades":"civics_mad_disarm_missiles")),e.civic.mad.armed=!1,$("#mad").addClass("armed")):($("#mad .arm").html(t(s?"civics_mad_arm_grenades":"civics_mad_arm_missiles")),e.civic.mad.armed=!0,$("#mad").removeClass("armed"))}}}),["mdarm","mdlaunch"].forEach(function(n){N(`mad${n}`,function(){return"{{ label() }}"},{elm:`#mad .${n}`,in:function(c){C({el:`#${c.id} > span`,data:{test:"val"},methods:{label(){switch(n){case"mdarm":return e.tech.world_control&&!e.race.truepath?t("civics_mad_missiles_world_control_desc"):t(s?"civics_mad_missiles_desc_easter":"civics_mad_missiles_desc");case"mdlaunch":{let o=$e("mad"),l=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return t("civics_mad_missiles_warning",[o.plasmid,l])}}}}})},out:function(c){C({el:`#${c.id} > span`},"destroy")}})})}}var oi={unemployed:function(r){let a=t("job_unemployed_desc");return e.civic.d_job==="unemployed"&&!r&&(a=a+" "+t("job_default",[t("job_unemployed")])),a},hunter:function(r){let a=t("job_hunter_desc",[e.resource.Food.name]);return e.race.unfathomable&&(a=t("job_eld_hunter_desc")),e.race.artifical?a=e.race.soul_eater?t("job_art_demon_hunter_desc",[e.resource.Furs.name,e.resource.Lumber.name]):t("job_art_hunter_desc",[e.resource.Furs.name]):e.race.soul_eater&&e.race.species!=="wendigo"&&(a=t(e.race.evil?"job_evil_hunter_desc":"job_not_evil_hunter_desc",[e.resource.Food.name,e.resource.Lumber.name,e.resource.Furs.name])),e.civic.d_job==="hunter"&&!r&&(a=a+" "+t("job_default",[e.race.unfathomable?t("job_raider"):t("job_hunter")])),a},forager:function(r){let a=t("job_forager_desc");return e.civic.d_job==="forager"&&!r&&(a=a+" "+t("job_default",[t("job_forager")])),a},farmer:function(r){let a=+Lo(!0,r).toFixed(2),i=+Lo(!1,r).toFixed(2);r||(a=+Xe(a,"farmer").toFixed(2),i=+Xe(i,"farmer").toFixed(2));let s=e.race.high_pop&&!r?t("job_farmer_desc_hp",[a,e.resource.Food.name,E(1),i,E(1)*e.city.farm.count]):t("job_farmer_desc",[a,e.resource.Food.name,e.city.farm.count,i]);return e.civic.d_job==="farmer"&&!r&&(s=s+" "+t("job_default",[t("job_farmer")])),s},lumberjack:function(r){let a=r&&e.race.servants?e.race.servants.jobs.lumberjack:e.civic.lumberjack.workers,i=e.civic.lumberjack.impact;if(r||(a=+Xe(a,"lumberjack").toFixed(2),i=+Xe(i,"lumberjack").toFixed(2)),e.race.evil&&(!e.race.soul_eater||e.race.species==="wendigo")){let s=1;r||(s*=$r(a,"lumberjack"));let n=+(i*s).toFixed(2),c=+(i/4*s).toFixed(2),o=e.race.species==="wendigo"?t("job_reclaimer_desc2",[n]):t("job_reclaimer_desc",[n,c]);return e.civic.d_job==="lumberjack"&&!r&&(o=o+" "+t("job_default",[t("job_reclaimer")])),o}else{let s=(e.tech.axe&&e.tech.axe>0?(e.tech.axe-1)*.35:0)+1;r||(s*=$r(a,"lumberjack")),e.city.biome==="forest"&&(i*=xe.forest.vars()[0]),e.city.biome==="savanna"&&(i*=xe.savanna.vars()[2]),e.city.biome==="desert"&&(i*=xe.desert.vars()[2]),e.city.biome==="swamp"&&(i*=xe.swamp.vars()[2]),e.city.biome==="taiga"&&(i*=xe.taiga.vars()[0]);let n=+(i*s).toFixed(2),c=t("job_lumberjack_desc",[n,e.resource.Lumber.name]);return e.civic.d_job==="lumberjack"&&!r&&(c=c+" "+t("job_default",[t("job_lumberjack")])),Dt().active&&(c=c+` ${t("events_halloween_lumberjack")} `),c}},quarry_worker:function(r){let a=r&&e.race.servants?e.race.servants.jobs.quarry_worker:e.civic.quarry_worker.workers,i=e.civic.quarry_worker.impact;r||(a=+Xe(a,"quarry_worker").toFixed(2),i=+Xe(i,"quarry_worker").toFixed(2));let s=(e.tech.hammer&&e.tech.hammer>0?e.tech.hammer*.4:0)+1;r||(s*=$r(a,"miner")),e.city.biome==="desert"&&(s*=xe.desert.vars()[0]),e.city.biome==="swamp"&&(s*=xe.swamp.vars()[3]),e.tech.explosives&&e.tech.explosives>=2&&(s*=e.tech.explosives>=3?1.75:1.5);let n=+(i*s).toFixed(1),c=e.resource.Aluminium.display?t("job_quarry_worker_desc2",[n,e.resource.Stone.name,e.resource.Aluminium.name]):t("job_quarry_worker_desc1",[n,e.resource.Stone.name]);return e.race.smoldering&&(c=c+" "+t("job_quarry_worker_smoldering",[e.resource.Chrysotile.name])),e.civic.d_job==="quarry_worker"&&!r&&(c=c+" "+t("job_default",[t("job_quarry_worker")])),c},crystal_miner:function(r){let a=r&&e.race.servants?e.race.servants.jobs.crystal_miner:e.civic.crystal_miner.workers,i=e.civic.crystal_miner.impact,s=1;r||(a=+Xe(a,"crystal_miner").toFixed(2),i=+Xe(i,"crystal_miner").toFixed(2),s*=$r(a,"miner"));let n=+(i*s).toFixed(2),c=t("job_crystal_miner_desc",[n,e.resource.Crystal.name]);return e.civic.d_job==="crystal_miner"&&!r&&(c=c+" "+t("job_default",[t("job_crystal_miner")])),c},scavenger:function(r){let a=v.scavenger.vars()[0];e.city.ptrait.includes("trashed")&&e.race.scavenger&&(a*=1+v.scavenger.vars()[1]/100),e.race.high_pop&&!r&&(a*=v.high_pop.vars()[1]/100),r||(a=+Xe(a,"scavenger").toFixed(2));let i=t("job_scavenger_desc",[x[e.race.species].home,a]);return e.civic.d_job==="scavenger"&&!r&&(i=i+" "+t("job_default",[t("job_scavenger")])),i},teamster:function(r){let a=t("job_teamster_desc",[On()]);return e.civic.d_job==="teamster"&&!r&&(a=a+" "+t("job_default",[t("job_teamster")])),a},meditator:function(r){let a=t("job_meditator_desc");return e.civic.d_job==="meditator"&&!r&&(a=a+" "+t("job_default",[t("job_meditator")])),a},torturer:function(){return t("job_torturer_desc")},miner:function(){return e.tech.mining>=3?e.race.sappy&&e.tech.alumina?t("job_miner_desc2_amber"):t("job_miner_desc2"):t("job_miner_desc1")},coal_miner:function(){return e.tech.uranium?t("job_coal_miner_desc2"):t("job_coal_miner_desc1")},craftsman:function(){return t("job_craftsman_desc")},cement_worker:function(){let r=e.race.high_pop?3/v.high_pop.vars()[0]:3;e.city.biome==="ashland"&&(r*=xe.ashland.vars()[1]),r=+Xe(r,"cement_worker").toFixed(2);let a=+Xe(e.civic.cement_worker.impact,"cement_worker").toFixed(2),i=e.tech.cement>=4?e.tech.cement>=7?1.45:1.2:1,s=$r(e.civic.cement_worker.workers,"factory"),n=a*i*s;return e.city.biome==="ashland"&&(n*=xe.ashland.vars()[1]),n=+n.toFixed(2),e.race.sappy?t("job_cement_worker_amber_desc",[n]):t("job_cement_worker_desc",[n,r])},banker:function(){let r=+Xe(e.civic.banker.impact,"banker").toFixed(2)*100;return e.tech.banking>=10&&(r+=2*e.tech.stock_exchange),e.race.truthful&&(r*=1-v.truthful.vars()[0]/100),e.civic.govern.type==="republic"&&(r*=1.25),e.race.high_pop&&(r*=v.high_pop.vars()[1]/100),r=+r.toFixed(0),e.race.fasting?t("job_banker_desc_fasting"):t("job_banker_desc",[r])},entertainer:function(){let r=e.tech.theatre;e.race.musical&&(r+=v.musical.vars()[0]),e.race.emotionless&&(r*=1-v.emotionless.vars()[0]/100),e.race.high_pop&&(r*=v.high_pop.vars()[1]/100),r=+Xe(r,"entertainer").toFixed(2);let a=e.race.high_pop?v.high_pop.vars()[1]/100:1;return a=+Xe(a,"entertainer").toFixed(2),e.tech.superstar?t("job_entertainer_desc2",[r,a]):t("job_entertainer_desc",[+r.toFixed(2)])},priest:function(){let r="";return e.civic.govern.type==="theocracy"&&e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display?r=t("job_priest_desc2"):r=t("job_priest_desc"),e.tech.cleric&&(r=r+` ${t("job_priest_desc3")}`),r},professor:function(){let r=+Xe(1,"professor"),a=+(e.race.studious?e.civic.professor.impact+v.studious.vars()[0]:e.civic.professor.impact),i=re("elven");return i>0&&(a+=v.studious.vars(1)[0]*i),r*=a,r*=e.race.pompous?1-v.pompous.vars()[0]/100:1,r*=$r(e.civic.professor.workers,"science"),e.tech.anthropology&&e.tech.anthropology>=3&&(r*=1+e.city.temple.count*.05),e.civic.govern.type==="theocracy"&&(r*=.75),r=+r.toFixed(2),t("job_professor_desc",[r])},scientist:function(){let r=+Xe(e.civic.scientist.impact,"scientist").toFixed(2);return r*=$r(e.civic.scientist.workers,"science"),e.tech.science>=6&&e.city.wardenclyffe&&(r*=1+e.civic.professor.workers*e.city.wardenclyffe.on*.01),e.space.satellite&&(r*=1+e.space.satellite.count*.01),e.civic.govern.type==="theocracy"&&(r*=e.tech.high_tech&&e.tech.high_tech>=12?e.tech.high_tech>=16?.75:.6:.5),r=+r.toFixed(2),e.race.universe==="magic"?t("job_wizard_desc",[r,+(.025*Me("magic")).toFixed(4)]):t("job_scientist_desc",[r])},colonist(){return t(e.race.truepath?"job_colonist_desc_tp":"job_colonist_desc",[A().red])},titan_colonist(){return t("job_colonist_desc_tp",[A().titan])},space_miner(){return t("job_space_miner_desc")},hell_surveyor(){return t("job_hell_surveyor_desc")},archaeologist(){let r=(H.arcology||0)*75,a=(Qe(e.portal.guard_post.on,"hellArmy",0)+r)/5e3;a=a>1?1:a;let i=25e4;e.race.high_pop&&(i*=v.high_pop.vars()[1]/100);let s=Math.round(i*a);return t("job_archaeologist_desc",[s.toLocaleString()])},ghost_trapper(){let r=e.blood.attract?e.blood.attract*5:0,a=Ln(),i=1;if(H.ascension_trigger&&e.eden.hasOwnProperty("encampment")&&e.eden.encampment.asc){let c=m.interstellar.int_sirius.ascension_trigger.heatSink();c=c<0?Math.abs(c):0,c>0&&(i=1+c/12500)}let s=Math.floor((150+r)*a*i),n=Math.floor((250+r)*a*i);return t("job_ghost_trapper_desc",[t("portal_soul_forge_title"),e.resource.Soul_Gem.name,s,n])},elysium_miner(){let r=t("job_elysium_miner_desc",[t("eden_elysium_name")]);return e.tech.elysium&&e.tech.elysium>=12&&(r+=` ${t("eden_restaurant_effect",[.15,t("eden_restaurant_bd")])}.`),r},pit_miner(){return t("job_pit_miner_desc",[t("tau_planet",[x[e.race.species].home])])},crew(){return t("job_crew_desc")}};function Hi(r){r||$("#civics").append($(`

${t("civics_jobs")}

`)),Je("unemployed",r,0,0,"warning"),Je("hunter",r,0,0),Je("forager",r,0,0),Je("farmer",r,.82,5),Je("lumberjack",r,1,5),Je("quarry_worker",r,1,5),Je("crystal_miner",r,.1,5),Je("scavenger",r,.12,5),Je("teamster",r,1,e.tech.teamster?6:4),Je("meditator",r,1,5),Je("torturer",r,1,3,"advanced"),Je("miner",r,1,4,"advanced"),Je("coal_miner",r,.2,4,"advanced"),Je("craftsman",r,1,5,"advanced"),Je("cement_worker",r,.4,5,"advanced"),Je("entertainer",r,1,10,"advanced"),Je("priest",r,1,3,"advanced"),Je("professor",r,.5,6,"advanced"),Je("scientist",r,1,5,"advanced"),Je("banker",r,.1,6,"advanced"),Je("colonist",r,1,5,"advanced"),Je("titan_colonist",r,1,5,"advanced"),Je("space_miner",r,1,5,"advanced"),Je("hell_surveyor",r,1,1,"advanced"),Je("archaeologist",r,1,1,"advanced"),Je("ghost_trapper",r,1,3,"advanced"),Je("elysium_miner",r,1,3,"advanced"),Je("pit_miner",r,1,4.5,"advanced"),Je("crew",r,1,4,"alert"),!r&&!e.race.start_cataclysm&&(gt(),e.race.servants&&Iu())}function Xe(r,a){return e.race.strong&&["hunter","forager","farmer","lumberjack","quarry_worker","crystal_miner","scavenger"].includes(a)&&(r*=v.strong.vars()[1]),(e.race.swift||e.race.living_tool)&&["hunter","forager","farmer","lumberjack","quarry_worker","crystal_miner","scavenger"].includes(a)&&(r*=v.strong.vars(.25)[1]),e.race.lone_survivor&&(["hunter","forager","farmer","lumberjack","quarry_worker","crystal_miner","scavenger"].includes(a)?r*=80:["craftsman"].includes(a)?r*=60:["miner","coal_miner","cement_worker","banker","entertainer","priest","pit_miner"].includes(a)?r*=45:["professor","scientist"].includes(a)&&(r*=125)),r}function E(r){return e.race.high_pop?r*v.high_pop.vars()[0]:r}function Gs(r){let a="";e.race.unfathomable&&r==="hunter"?a=t("job_raider"):e.race.universe==="magic"&&r==="scientist"?a=t("job_wizard"):e.race.truepath&&r==="colonist"?a=t("job_colonist_tp",[A().red]):r==="titan_colonist"?a=t("job_colonist_tp",[A().titan]):a=r==="lumberjack"&&e.race.evil&&(!e.race.soul_eater||e.race.species==="wendigo")?t("job_reclaimer"):t("job_"+r),e.civic[r].name=a}function Je(r,a,i,s,n){let c=!1;if(a==="servant"&&(c=!0,a=!1),e.civic[r]||(e.civic[r]={job:r,display:!1,workers:0,max:0,impact:i}),Gs(r),e.civic[r].assigned||(e.civic[r].assigned=r==="craftsman"?0:e.civic[r].workers),c||(e.civic[r].stress=s,e.civic[r].impact=i),!(r==="craftsman"||a)){var o=c?"servant-"+r:"civ-"+r,l=$(`
`),u=c?$('
'):$(`
`);if(!n||r==="unemployed"){n=n||"info";let d=c?$(`

{{ civic.${r}.name }}

{{ sjob.${r} }}
`):$(``);l.append(d)}else{let d=$(`

{{ civic.${r}.name }}

{{ civic.${r}.workers | adjust('${r}') }} / {{ civic.${r}.max | adjust('${r}') }}
`);l.append(d)}if(l.append(u),$(c?"#servants":"#jobs").append(l),r!=="crew"){var p=$(`«`),h=$(`»`);u.append(p),u.append(h)}c?C({el:`#${o}`,data:{civic:e.civic,sjob:e.race.servants.jobs},methods:{showJob(d){return e.civic[d].display||d==="scavenger"&&e.race.servants.force_scavenger},add(){let d=W();for(let g=0;ge.race.servants.used;g++)e.race.servants.jobs[r]++,e.race.servants.used++},sub(){let d=W();for(let g=0;g0;g++)e.race.servants.jobs[r]--,e.race.servants.used--}}}):C({el:`#${o}`,data:{civic:e.civic},methods:{showJob(d){return e.civic[d].display},add(){let d=W();for(let g=0;g0);g++)e.civic[r].workers++,e.civic[e.civic.d_job].workers--,e.civic[r].assigned=e.civic[r].workers},sub(){let d=W();for(let g=0;g0;g++)e.civic[r].workers--,e.civic[e.civic.d_job].workers++,e.civic[r].assigned=e.civic[r].workers},level(d){return e.civic[d].workers===0?"count has-text-danger":e.civic[d].workers===e.civic[d].max?"count has-text-success":e.civic[d].workers<=e.civic[d].max/3?"count has-text-caution":e.civic[d].workers<=e.civic[d].max*.66?"count has-text-warning":e.civic[d].workers0)return g}return d},adjust(d,g){return g==="titan_colonist"&&H.ai_colonist?d+E(H.ai_colonist):d}}}),N(o,function(){return oi[r](c)},{elm:`#${o} .job_label`,classes:"has-background-light has-text-dark"})}}function Iu(){if(K($("#servants")),e.race.servants&&Object.keys(e.race.servants.jobs).length>0){var r=$(`

${t("civics_servants")}

{{ s.used }} / {{ s.max }}
`);$("#servants").append(r),["hunter","forager","farmer","lumberjack","quarry_worker","crystal_miner","scavenger"].forEach(function(a){Je(a,"servant")}),C({el:"#servantList",data:{s:e.race.servants},methods:{level(){return e.race.servants.used===0?"count has-text-danger":e.race.servants.used===e.race.servants.max?"count has-text-success":e.race.servants.used<=e.race.servants.max/3?"count has-text-caution":e.race.servants.used<=e.race.servants.max*.66?"count has-text-warning":e.race.servants.used=2?1.15:.65),e.race.living_tool&&!a?i*=1+v.living_tool.vars()[0]*(e.tech.science&&e.tech.science>0?e.tech.science/5:0):i*=1+(e.tech.hoe&&e.tech.hoe>0?e.tech.hoe/3:0),i*=e.city.biome==="grassland"?xe.grassland.vars()[0]:1,i*=e.city.biome==="savanna"?xe.savanna.vars()[0]:1,i*=e.city.biome==="ashland"?xe.ashland.vars()[0]:1,i*=e.city.biome==="volcanic"?xe.volcanic.vars()[0]:1,i*=e.city.biome==="hellscape"?xe.hellscape.vars()[0]:1,i*=e.city.ptrait.includes("trashed")?Ie.trashed.vars()[0]:1,a?i*=Do(e.race.servants.jobs.farmer,"farmer"):i*=$r(e.civic.farmer.workers,"farmer"),i*=e.tech.agriculture>=7?1.1:1,i*=e.race.low_light?1-v.low_light.vars()[0]/100:1,i}function gt(r){if(K($(r?"#skilledServants":"#foundry")),e.city.foundry&&e.city.foundry.count>0||e.race.cataclysm||e.race.orbit_decayed||e.tech.isolation){let a=$(r?"#skilledServants":"#foundry"),i=r?"{{ s.sused }} / {{ s.smax }}":"{{ f.crafting }} / {{ c.max }}",s=$(`

${t(r?"civics_skilled_servants":"craftsman_assigned")}

${i}
`);a.append(s);let n=ke("summer"),c=["Plywood","Brick","Wrought_Iron","Sheet_Metal","Mythril","Aerogel","Nanoweave"];r||(c.push("Scarletite"),c.push("Quantium")),n&&!r&&c.push("Thermite");for(let l=0;l
');a.append(h);let d=$('
'),g;if(u==="Scarletite"&&e.portal.hasOwnProperty("hell_forge"))g=$(`

${p}

{{ f.${u} }} / {{ p.on | maxScar }}
`);else if(u==="Quantium"&&(e.space.hasOwnProperty("zero_g_lab")||e.tauceti.hasOwnProperty("infectious_disease_lab")))g=$(`

${p}

{{ f.${u} }} / {{ e.on | maxQuantium }}
`);else{let M=r?`{{ s.sjobs.${u} }}`:`{{ f.${u} }}`,q=r?`scraft${u}`:`craft${u}`;g=$(`

${p}

${M}
`)}h.append(g),h.append(d),a.append(h);let w=$(`«`),k=$(`»`);d.append(w),d.append(k)}}let o=e.portal.hasOwnProperty("hell_forge")?{c:e.civic.craftsman,p:e.portal.hell_forge}:{c:e.civic.craftsman,e:e.space.hasOwnProperty("zero_g_lab")||e.tauceti.hasOwnProperty("infectious_disease_lab")?e.tech.isolation?e.tauceti.infectious_disease_lab:e.space.zero_g_lab:{count:0,on:0}};r?o.s=e.race.servants:o.f=e.city.foundry,C({el:r?"#skilledServants":"#foundry",data:o,methods:{add(l){let u=W(),p=-1;(l==="Scarletite"||l==="Quantium")&&(p=Bs(l));for(let h=0;h0&&(p===-1||p>e.city.foundry[l]))e.civic.craftsman.workers++,e.city.foundry.crafting++,e.city.foundry[l]++,e.civic[e.civic.d_job].workers--;else break},sub(l){let u=W();for(let p=0;p0)e.race.servants.sjobs[l]--,e.race.servants.sused--;else break;else if(e.city.foundry[l]>0)e.city.foundry[l]--,e.civic.craftsman.workers--,e.city.foundry.crafting--,e.civic[e.civic.d_job].workers++;else break},level(){let l=r?e.race.servants.sused:e.civic.craftsman.workers,u=r?e.race.servants.smax:e.civic.craftsman.max;return l===0?"count has-text-danger":l===u?"count has-text-success":l<=u/3?"count has-text-caution":l<=u*.66?"count has-text-warning":l
"),g=e.resource[u].name,k=fi(u,"auto").multiplier,M=e.genes.crafty?2:1,q=+e.resource[u].diff.toFixed(2),P=+(k*100).toFixed(0);d.append($(`
${t("craftsman_hover_bonus",[P.toLocaleString(),g])}
`)),d.append($(`
${t("craftsman_hover_prod",[q.toLocaleString(),g])}
`));let O=ss();for(let U=0;U0&&(Z-=v.resourceful.vars(1)[0]/100*z);let Y=+(O[u][U].a*e.city.foundry[u]*Z*M/140).toFixed(2);d.append($(`
${t("craftsman_hover_cost",[Y,e.resource[O[u][U].r].name])}
`))}return d},h=r?`scraft${u}`:`craft${u}`;Ns(h,u,"auto",p)}}r?N("servantFoundry",function(){return t("civics_skilled_servants_desc")},{elm:"#skilledServants .foundry",classes:"has-background-light has-text-dark"}):N("craftsmenFoundry",function(){return t("job_craftsman_hover")},{elm:"#foundry .foundry",classes:"has-background-light has-text-dark"}),e.race.servants&&!r&&e.race.servants.smax>0&>(!0)}}var da={Food:5,Lumber:5,Chrysotile:5,Stone:5,Crystal:6,Furs:8,Copper:25,Iron:40,Aluminium:50,Cement:15,Coal:20,Oil:75,Uranium:550,Steel:100,Titanium:150,Alloy:350,Polymer:250,Iridium:420,Helium_3:620,Deuterium:950,Elerium:2e3,Water:2,Neutronium:1500,Adamantite:2250,Infernite:2750,Nano_Tube:750,Graphene:3e3,Stanene:3600,Bolognium:9e3,Vitreloy:10200,Orichalcum:99e3,Asphodel_Powder:249e3,Horseshoe:0,Nanite:0,Genes:0,Soul_Gem:0,Corrupt_Gem:0,Codex:0,Cipher:0,Demonic_Essence:0,Blessed_Essence:0},tr={Food:2,Lumber:2,Chrysotile:1,Stone:2,Crystal:.4,Furs:1,Copper:1,Iron:1,Aluminium:1,Cement:1,Coal:1,Oil:.5,Uranium:.12,Steel:.5,Titanium:.25,Alloy:.2,Polymer:.2,Iridium:.1,Helium_3:.1,Deuterium:.1,Elerium:.02,Water:2,Neutronium:.05,Adamantite:.05,Infernite:.01,Nano_Tube:.1,Graphene:.1,Stanene:.1,Bolognium:.12,Vitreloy:.12,Orichalcum:.05},Ve={Food:4.355,Lumber:7.668,Chrysotile:15.395,Stone:20.017,Crystal:5.062,Furs:13.009,Copper:63.546,Iron:55.845,Aluminium:26.9815,Cement:20.009,Coal:12.0107,Oil:5.342,Uranium:238.0289,Steel:55.9,Titanium:47.867,Alloy:45.264,Polymer:120.054,Iridium:192.217,Helium_3:3.0026,Deuterium:2.014,Neutronium:248.74,Adamantite:178.803,Infernite:222.666,Elerium:297.115,Nano_Tube:15.083,Graphene:26.9615,Stanene:33.9615,Bolognium:75.898,Unobtainium:168.59,Vitreloy:41.08,Orichalcum:237.8,Asphodel_Powder:.01,Elysanite:13.666,Water:18.01,Plywood:7.666,Brick:20.009,Wrought_Iron:55.845,Sheet_Metal:26.9815,Mythril:94.239,Aerogel:7.84,Nanoweave:23.71,Scarletite:188.6,Quantium:241.35},di={Lumber:{in:.5,out:25e3},Chrysotile:{in:.5,out:25e3},Stone:{in:.5,out:25e3},Crystal:{in:3,out:25e3},Furs:{in:3,out:25e3},Copper:{in:1.5,out:25e3},Iron:{in:1.5,out:25e3},Aluminium:{in:2.5,out:25e3},Cement:{in:3,out:25e3},Coal:{in:1.5,out:25e3},Oil:{in:2.5,out:12e3},Uranium:{in:5,out:300},Steel:{in:3,out:25e3},Titanium:{in:3,out:25e3},Alloy:{in:6,out:25e3},Polymer:{in:6,out:25e3},Iridium:{in:8,out:25e3},Helium_3:{in:4.5,out:12e3},Deuterium:{in:4,out:1e3},Neutronium:{in:15,out:1e3},Adamantite:{in:12.5,out:1e3},Infernite:{in:25,out:250},Elerium:{in:30,out:250},Nano_Tube:{in:6.5,out:1e3},Graphene:{in:5,out:1e3},Stanene:{in:4.5,out:1e3},Bolognium:{in:18,out:1e3},Vitreloy:{in:14,out:1e3},Orichalcum:{in:10,out:1e3},Plywood:{in:10,out:250},Brick:{in:10,out:250},Wrought_Iron:{in:10,out:250},Sheet_Metal:{in:10,out:250},Mythril:{in:12.5,out:250},Aerogel:{in:16.5,out:250},Nanoweave:{in:18,out:250},Scarletite:{in:35,out:250}};function ss(r=!1){let a={Plywood:[{r:"Lumber",a:100}],Brick:e.race.flier?[{r:"Stone",a:60}]:[{r:"Cement",a:40}],Wrought_Iron:[{r:"Iron",a:80}],Sheet_Metal:[{r:"Aluminium",a:120}],Mythril:[{r:"Iridium",a:100},{r:"Alloy",a:250}],Aerogel:[{r:"Graphene",a:2500},{r:"Infernite",a:50}],Nanoweave:[{r:"Nano_Tube",a:1e3},{r:"Vitreloy",a:40}],Scarletite:[{r:"Iron",a:25e4},{r:"Adamantite",a:7500},{r:"Orichalcum",a:500}],Quantium:[{r:"Nano_Tube",a:1e3},{r:"Graphene",a:1e3},{r:"Elerium",a:25}],Thermite:[{r:"Iron",a:180},{r:"Aluminium",a:60}]};if(e.race.wasteful){let i=1+v.wasteful.vars()[0]/100;Object.keys(a).forEach(function(s){for(let n=0;n=2){let o=e.tech.foundry>=5?e.tech.foundry>=8?.08:.05:.03;r.general.add.push({name:t("city_foundry"),manual:e.city.foundry.count*o,auto:e.city.foundry.count*o})}if(e.tech.foundry>=3&&Object.keys(r).forEach(function(o){e.city.foundry[o]&&e.city.foundry[o]>1&&r[o].add.push({name:t("tech_apprentices"),manual:(e.city.foundry[o]-1)*he(.03),auto:(e.city.foundry[o]-1)*he(.03)})}),e.tech.foundry>=4&&e.city.sawmill&&r.Plywood.add.push({name:t("city_sawmill"),manual:e.city.sawmill.count*.02,auto:e.city.sawmill.count*.02}),e.tech.foundry>=6&&r.Brick.add.push({name:t("city_foundry"),manual:e.city.foundry.count*.02,auto:e.city.foundry.count*.02}),e.tech.foundry>=7&&(r.general.add.push({name:t("city_factory")+` (${t("tab_city5")})`,manual:H.factory*.05,auto:H.factory*.05}),e.tech.mars>=4&&r.general.add.push({name:t("city_factory")+` (${t("tab_space")})`,manual:H.red_factory*.05,auto:H.red_factory*.05}),e.interstellar.int_factory&&H.int_factory&&r.general.add.push({name:t("interstellar_int_factory_title"),manual:H.int_factory*.1,auto:H.int_factory*.1})),e.space.fabrication&&be.fabrication&&r.general.add.push({name:t("space_red_fabrication_title"),manual:be.fabrication*e.civic.colonist.workers*(n?he(.05):he(.02)),auto:be.fabrication*e.civic.colonist.workers*(n?he(.05):he(.02))}),e.race.artisan&&r.general.multi.push({name:t("trait_artisan_name"),manual:1,auto:1+v.artisan.vars()[0]/100}),H.stellar_forge&&(r.Mythril.add.push({name:t("interstellar_stellar_forge_title"),manual:H.stellar_forge*.05,auto:H.stellar_forge*.05}),r.general.add.push({name:t("interstellar_stellar_forge_title"),manual:0,auto:H.stellar_forge*.1})),H.hell_forge){let o=Rr("ruins");r.general.add.push({name:t("portal_hell_forge_title"),manual:0,auto:H.hell_forge*.75*o.supress}),r.Scarletite.multi.push({name:t("portal_ruins_supressed"),manual:1,auto:o.supress})}if(e.tauceti.tau_factory&&be.tau_factory&&r.general.add.push({name:t("tau_home_tau_factory"),manual:0,auto:be.tau_factory*(e.tech.isolation?2.75:.9)}),e.tech.isolation&&e.tauceti.colony&&be.colony&&r.general.add.push({name:t("tau_home_colony"),manual:be.colony*.5,auto:be.colony*.5}),be.zero_g_lab&&H.zero_g_lab||be.infectious_disease_lab&&H.infectious_disease_lab){let o=Wr("spc_enceladus");r.Quantium.multi.push({name:t("space_syndicate"),manual:1,auto:o})}if(e.tech.alien_crafting&&be.infectious_disease_lab&&H.infectious_disease_lab){let o=1+.65*Math.min(be.infectious_disease_lab,H.infectious_disease_lab);r.Quantium.multi.push({name:t("tech_infectious_disease_lab_alt"),manual:1,auto:o})}if(e.race.crafty&&r.general.add.push({name:t("wiki_arpa_crispr_crafty"),manual:.03,auto:.03}),e.race.ambidextrous&&r.general.add.push({name:t("trait_ambidextrous_name"),manual:v.ambidextrous.vars()[0]*e.race.ambidextrous/100,auto:v.ambidextrous.vars()[0]*e.race.ambidextrous/100}),e.race.rigid&&r.general.add.push({name:t("trait_rigid_name"),manual:-(v.rigid.vars()[0]/100),auto:-(v.rigid.vars()[0]/100)}),e.civic.govern.type==="socialist"&&r.general.multi.push({name:t("govern_socialist"),manual:1+Be.socialist()[0]/100,auto:1+Be.socialist()[0]/100}),e.race.casting&&e.race.casting.crafting){let o=1+e.race.casting.crafting/(e.race.casting.crafting+75),l=1+2*e.race.casting.crafting/(2*e.race.casting.crafting+75);r.general.multi.push({name:t("modal_pylon_casting"),manual:o,auto:l})}e.race.universe==="magic"&&r.general.multi.push({name:t("universe_magic"),manual:.8,auto:.8}),e.tech.v_train&&r.general.multi.push({name:t("tech_vocational_training"),manual:1,auto:2}),e.genes.crafty&&r.general.multi.push({name:t("tab_arpa_crispr")+" "+t("wiki_arpa_crispr_crafty"),manual:1,auto:1+(e.genes.crafty-1)*.5}),e.race.living_tool&&r.general.multi.push({name:t("trait_living_tool_name"),manual:1,auto:1+v.living_tool.vars()[1]/100}),e.stats.achieve.lamentis&&e.stats.achieve.lamentis.l>=1&&r.general.multi.push({name:t("evo_challenge_orbit_decay"),manual:1,auto:1.1}),e.race.ambidextrous&&r.general.multi.push({name:t("trait_ambidextrous_name"),manual:1,auto:1+v.ambidextrous.vars()[1]*e.race.ambidextrous/100}),e.blood.artisan&&r.general.multi.push({name:t("tab_arpa_blood")+" "+t("arpa_blood_artisan_title"),manual:1,auto:1+e.blood.artisan/100});let c=lc();c>0&&r.general.multi.push({name:t("faith"),manual:1,auto:1+c/(e.race.universe==="antimatter"?1.5:3)}),e.prestige.Plasmid.count>0&&r.general.multi.push({name:t("resource_Plasmid_plural_name"),manual:Vs()/8+1,auto:Vs()/8+1}),e.genes.challenge&&e.genes.challenge>=2&&r.general.multi.push({name:t("mastery"),manual:1+jt()/(e.race.weak_mastery?50:100),auto:1+jt()/(e.race.weak_mastery?50:100)}),e.race.gravity_well&&r.general.multi.push({name:t("evo_challenge_gravity_well"),manual:Ja(1),auto:Ja(1)})}else{let n=1,c={},o={};if(r.general){for(let u=0;u
`);$("#market").append(n),Qi(`#market-${a}`,n,a,i,!0)}}),pi()}else if(r==="storage"){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==1))return;Yr("storage"),Se.hasOwnProperty("resource")&&Object.keys(Se.resource).forEach(function(a){let i=Se.resource[a].color;if(Se.resource[a].stackable){var n=$(`
`);$("#resStorage").append(n),Ji(`#stack-${a}`,n,a,i,!0)}}),pi()}else if(r==="ejector"){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==2))return;Yr("ejector"),Se.hasOwnProperty("resource")&&Object.keys(Se.resource).forEach(function(a){let i=Se.resource[a].color;Ve[a]&&Kn(a,i)})}else if(r==="supply"){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==3))return;Yr("supply"),Se.hasOwnProperty("resource")&&Object.keys(Se.resource).forEach(function(a){let i=Se.resource[a].color;di[a]&&Bn(a,i)})}else if(r==="alchemy"){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==4))return;Yr("alchemy"),Se.hasOwnProperty("resource")&&Object.keys(Se.resource).forEach(function(a){let i=Se.resource[a].color,s=Se.resource[a].tradable;tr[a]&&e.race.universe==="magic"&&(e.resource[a].basic=s,Gn(a,i,s))})}}function Ws(r){if(e.race.species==="protoplasm"){let a=100;e.stats.achieve.mass_extinction&&e.stats.achieve.mass_extinction.l>1&&(a+=50*(e.stats.achieve.mass_extinction.l-1)),te("RNA",r,a,1,!1),te("DNA",r,a,1,!1)}te("Money",r,1e3,1,!1,!1,"success"),te(e.race.species,r,0,0,!1,!1,"warning"),te("Slave",r,0,0,!1,!1,"warning"),te("Mana",r,0,1,!1,!1,"warning"),te("Energy",r,0,0,!1,!1,"warning"),te("Sus",r,0,0,!1,!1,"warning"),te("Knowledge",r,100,1,!1,!1,"warning"),te("Omniscience",r,100,1,!1,!1,"warning"),te("Zen",r,0,0,!1,!1,"warning"),te("Crates",r,0,0,!1,!1,"warning"),te("Containers",r,0,0,!1,!1,"warning"),te("Food",r,250,1,!0,!0),te("Lumber",r,200,1,!0,!0),te("Chrysotile",r,200,1,!0,!0),te("Stone",r,200,1,!0,!0),te("Crystal",r,200,1,!0,!0),te("Useless",r,-2,0,!1,!1),te("Furs",r,100,1,!0,!0),te("Copper",r,100,1,!0,!0),te("Iron",r,100,1,!0,!0),te("Aluminium",r,50,1,!0,!0),te("Cement",r,100,1,!0,!0),te("Coal",r,50,1,!0,!0),te("Oil",r,0,1,!0,!1),te("Uranium",r,10,1,!0,!1),te("Steel",r,50,1,!0,!0),te("Titanium",r,50,1,!0,!0),te("Alloy",r,50,1,!0,!0),te("Polymer",r,50,1,!0,!0),te("Iridium",r,0,1,!0,!0),te("Helium_3",r,0,1,!0,!1),te("Water",r,0,1,!1,!1,"advanced"),te("Deuterium",r,0,1,!1,!1,"advanced"),te("Neutronium",r,0,1,!1,!1,"advanced"),te("Adamantite",r,0,1,!1,!0,"advanced"),te("Infernite",r,0,1,!1,!1,"advanced"),te("Elerium",r,1,1,!1,!1,"advanced"),te("Nano_Tube",r,0,1,!1,!1,"advanced"),te("Graphene",r,0,1,!1,!0,"advanced"),te("Stanene",r,0,1,!1,!0,"advanced"),te("Bolognium",r,0,1,!1,!0,"advanced"),te("Vitreloy",r,0,1,!1,!0,"advanced"),te("Orichalcum",r,0,1,!1,!0,"advanced"),te("Asphodel_Powder",r,0,1,!1,!1,"advanced"),te("Elysanite",r,0,1,!1,!0,"advanced"),te("Unobtainium",r,0,1,!1,!1,"advanced"),te("Materials",r,0,1,!1,!1,"advanced"),te("Horseshoe",r,-2,0,!1,!1,"advanced"),te("Nanite",r,0,1,!1,!1,"advanced"),te("Genes",r,-2,0,!1,!1,"advanced"),te("Soul_Gem",r,-2,0,!1,!1,"advanced"),te("Plywood",r,-1,0,!1,!1,"danger"),te("Brick",r,-1,0,!1,!1,"danger"),te("Wrought_Iron",r,-1,0,!1,!1,"danger"),te("Sheet_Metal",r,-1,0,!1,!1,"danger"),te("Mythril",r,-1,0,!1,!1,"danger"),te("Aerogel",r,-1,0,!1,!1,"danger"),te("Nanoweave",r,-1,0,!1,!1,"danger"),te("Scarletite",r,-1,0,!1,!1,"danger"),te("Quantium",r,-1,0,!1,!1,"danger"),te("Corrupt_Gem",r,-2,0,!1,!1,"caution"),te("Codex",r,-2,0,!1,!1,"caution"),te("Cipher",r,0,1,!1,!1,"caution"),te("Demonic_Essence",r,-2,0,!1,!1,"caution"),te("Blessed_Essence",r,-2,0,!1,!1,"caution"),!r&&(pa("Blood_Stone","caution"),pa("Artifact","caution"),te("Knockoff",r,-2,0,!1,!1,"special"),pa("Plasmid"),pa("AntiPlasmid"),pa("Supercoiled"),pa("Phage"),pa("Dark"),pa("Harmony"),pa("AICore"))}function pi(){e.race.species!=="protoplasm"&&(Nu(),Ku(),Ru())}function te(r,a,i,s,n,c,o){if(o=o||"info",e.resource[r]||(e.resource[r]={}),sr(r),e.race.artifical&&r==="Food"&&(c=!1),a)return;e.resource[r].hasOwnProperty("display")||(e.resource[r].display=!1),e.resource[r].hasOwnProperty("value")||(e.resource[r].value=e.race.truepath?da[r]*2:da[r]),e.resource[r].hasOwnProperty("amount")||(e.resource[r].amount=0),e.resource[r].hasOwnProperty("max")||(e.resource[r].max=i),e.resource[r].hasOwnProperty("diff")||(e.resource[r].diff=0),e.resource[r].hasOwnProperty("delta")||(e.resource[r].delta=0),e.resource[r].hasOwnProperty("rate")||(e.resource[r].rate=s),r==="Mana"&&(e.resource[r].gen=0,e.resource[r].gen_d=0),e.resource[r].stackable=c,e.resource[r].crates||(e.resource[r].crates=0),e.resource[r].containers||(e.resource[r].containers=0),!e.resource[r].trade&&n&&(e.resource[r].trade=0);var l;e.resource[r].max===-1||e.resource[r].max===-2?l=$(`

{{ name | namespace }}

{{ amount | diffSize }}
`):l=$(`

{{ name | namespace }}

{{ amount | size }} / {{ max | size }}
`),c?l.append($(`+`)):(i!==-1||i===-1&&s===0&&e.race.no_craft||r==="Scarletite"||r==="Quantium")&&l.append($(""));let u=!1;if(s!==0||i===-1&&s===0&&e.race.no_craft||r==="Scarletite"||r==="Quantium")l.append($(`{{ diff | diffSize }} /s`));else if(i===-1&&!e.race.no_craft&&r!=="Scarletite"&&r!=="Quantium"){let h=$('');l.append(h);let d=[1,5];for(let g=0;g+${d[g]}`));h.append($(`+A`)),u=!0}else e.race.fasting&&r===e.race.species?l.append($(`{{ diff | diffSize }}`)):l.append($(""));$("#resources").append(l);var p={template:''};if(C({el:`#res${r}`,data:e.resource[r],filters:{size:function(h){return h&&X(h,0)},diffSize:function(h){return r==="Horseshoe"&&!e.race.hooved&&ke("fool",2023)&&(h=5),X(h,2)},namespace(h){return h.replace("_"," ")}},methods:{resRate(h){let d=X(e.resource[h].diff,2);return`${h} ${d} per second`},trigModal(){this.$buefy.modal.open({parent:this,component:p});var h=setInterval(function(){$("#modalBox").length>0&&(clearInterval(h),Hu(r,o))},50)},showTrigger(){return e.resource.Crates.display},craft(h,d){if(!e.race.no_craft){let g=fi(h,"manual").multiplier,w=ss(!0),k=Math.floor(e.resource[w[h][0].r].amount/w[h][0].a);for(let M=1;M${e.resource[w[h][k].r].name} ${M}
`}return g}}}),Ko(`cnt${r}`,r,"c"),u){let h=[1,5,"A"];for(let d=0;d"),k=r,M=h[d],q=+(fi(k,"manual").multiplier*100).toFixed(0);w.append($(`
${t("manual_crafting_hover_bonus",[q.toLocaleString(),e.resource[k].name])}
`));let P=ss(!0),O=$(`
${t("manual_crafting_hover_craft")}
`),U=0;if(typeof M!="number"){if(U=e.resource[P[k][0].r].amount/P[k][0].a,P[k].length>1)for(let z=1;z${X(q/100*U,1)} ${e.resource[k].name}
`))}else{U=W()*M;let z=X(q/100*U,1);O.append($(`${z} ${e.resource[k].name}`))}let Z=$(`
${t("manual_crafting_hover_use")}
`);for(let z=0;z${X(U*P[k][z].a,1)} ${e.resource[P[k][z].r].name}`)),z+1, "));return w.append(O),w.append(Z),w};Ns(`inc${r}${h[d]}`,r,"manual",g)}}c&&N(`con${r}`,function(){var h=$(`
${t("resource_Crates_plural")} ${e.resource[r].crates}
`);return e.tech.steel_container&&h.append($(`
${t("resource_Containers_plural")} ${e.resource[r].containers}
`)),h}),(r!==e.race.species||e.race.fasting)&&r!=="Crates"&&r!=="Containers"&&i!==-1?Ko(`inc${r}`,r,"p"):i===-1&&Ns(`inc${r}`,r,"auto"),$(`#res${r}`).on("mouseover",function(){$(`.res-${r}`).each(function(){e.resource[r].amount>=$(this).attr(`data-${r}`)?$(this).addClass("hl-ca"):$(this).addClass("hl-cna")})}),$(`#res${r}`).on("mouseout",function(){$(`.res-${r}`).each(function(){$(this).removeClass("hl-ca"),$(this).removeClass("hl-cna")})}),typeof Se.resource>"u"&&(Se.resource={}),Se.resource[r]={color:o,tradable:n,stackable:c}}function sr(r){if(r===e.race.species?e.resource[r].name=lt("name"):e.resource[r].name=r==="Money"?"$":t(`resource_${r}_name`),r==="Useless"&&(e.resource.Lumber.display?e.resource.Chrysotile.display?e.resource.Crystal.display?e.resource.Useless.name=t("resource_Bronze_name"):e.resource.Useless.name=t("resource_Crystal_name"):e.resource.Useless.name=t("resource_Chrysotile_name"):e.resource.Useless.name=t("resource_Lumber_name")),ke("fool",2022))switch(r){case"Lumber":e.resource[r].name=t("resource_Stone_name");break;case"Stone":e.resource[r].name=t("resource_Lumber_name");break;case"Copper":e.resource[r].name=t("resource_Iron_name");break;case"Iron":e.resource[r].name=t("resource_Copper_name");break;case"Steel":e.resource[r].name=t("resource_Titanium_name");break;case"Titanium":e.resource[r].name=t("resource_Steel_name");break;case"Coal":e.resource[r].name=t("resource_Oil_name");break;case"Oil":e.resource[r].name=t("resource_Coal_name");break;case"Alloy":e.resource[r].name=t("resource_Polymer_name");break;case"Polymer":e.resource[r].name=t("resource_Alloy_name");break;case"Graphene":e.resource[r].name=t("resource_Stanene_name");break;case"Stanene":e.resource[r].name=t("resource_Graphene_name");break;case"Plywood":e.resource[r].name=t("resource_Brick_name");break;case"Brick":e.resource[r].name=t("resource_Plywood_name");break;case"Genes":e.resource[r].name=t("resource_Soul_Gem_name");break;case"Soul_Gem":e.resource[r].name=t("resource_Genes_name");break;case"Slave":e.resource[r].name=t("resource_Peon_name");break}if(r==="Horseshoe"&&(e.resource[r].name=Lt()),e.race.artifical&&r==="Genes"&&(e.resource[r].name=t("resource_Program_name")),e.race.sappy)switch(r){case"Stone":e.resource[r].name=t("resource_Amber_name");break}else if(e.race.flier)switch(r){case"Stone":e.resource[r].name=t("resource_Clay_name");break;case"Brick":e.resource[r].name=t("resource_Mud_Brick_name");break}if(e.race.soul_eater)switch(r){case"Food":e.resource[r].name=t("resource_Souls_name");break}if(e.race.evil)switch(r){case"Lumber":e.resource[r].name=t("resource_Bones_name");break;case"Furs":e.resource[r].name=t("resource_Flesh_name");break;case"Plywood":e.resource[r].name=t("resource_Boneweave_name");break}if(e.race.artifical)switch(r){case"Food":e.resource[r].name=t("resource_Signal_name");break}if(ke("halloween").active)switch(r){case"Food":e.resource[r].name=t("resource_Candy_name");break;case"Lumber":e.resource[r].name=t("resource_Bones_name");break;case"Stone":e.resource[r].name=t("resource_RockCandy_name");break;case"Furs":e.resource[r].name=t("resource_Webs_name");break;case"Plywood":e.resource[r].name=t("resource_Boneweave_name");break;case"Brick":e.resource[r].name=t("resource_Tombstone_name");break;case"Soul_Gem":e.resource[r].name=t("resource_CandyCorn_name");break;case"Slave":e.resource[r].name=t("events_halloween_ghoul");break}}function pa(r,a){if($(`#res${r}`).length){let s=$(`#res${r}`);s.detach(),$("#resources").append(s);return}a=a||"special";var i=$(`
${t(`resource_${r}_name`)}{{ count | round }}
`);$("#resources").append(i),C({el:`#res${r}`,data:e.prestige[r],filters:{round(s){return s&&X(s,3,!1,!0)}}}),!(r==="Artifact"||r==="Blood_Stone")&&N(`res${r}`,function(){let s=$("
");switch(r){case"Plasmid":{let n=e.race.p_mutation+(e.race.wish&&e.race.wishStats?e.race.wishStats.plas:0),c=e.race.no_plasmid?Math.min(n,e.prestige.Plasmid.count):e.prestige.Plasmid.count;if(s.append($(`${t(`resource_${r}_desc`,[c,+(Vs("plasmid")*100).toFixed(2)])}`)),e.genes.store&&(e.race.universe!=="antimatter"||e.genes.bleed>=3)){let o=G(1,"plasmid");o>1&&s.append($(` ${t("resource_Plasmid_desc2",[+((o-1)*100).toFixed(2)])}`))}}break;case"AntiPlasmid":{s.append($(`${t(`resource_${r}_desc`,[e.prestige.AntiPlasmid.count,+(Vs("antiplasmid")*100).toFixed(2)])}`));let n=G(1,"anti");e.genes.store&&(e.race.universe==="antimatter"||e.genes.bleed>=3)&&n>1&&s.append($(` ${t("resource_Plasmid_desc2",[+((n-1)*100).toFixed(2)])}`))}break;case"Phage":{s.append($(`${t(e.prestige.AntiPlasmid.count>0?"resource_Phage_desc2":"resource_Phage_desc",[250+e.prestige.Phage.count])}`));let n=G(1,"phage");e.genes.store&&e.genes.store>=4&&n>1&&s.append($(` ${t("resource_Plasmid_desc2",[+((n-1)*100).toFixed(2)])}`))}break;case"Dark":switch(e.race.universe){case"standard":s.append($(`${t(`resource_${r}_desc_s`,[+((Me("standard")-1)*100).toFixed(2)])}`));break;case"evil":s.append($(`${t(`resource_${r}_desc_e`,[+((Me("evil")-1)*100).toFixed(2)])}`));break;case"micro":s.append($(`${t(`resource_${r}_desc_m`,[Me("micro",!1),Me("micro",!0)])}`));break;case"heavy":let n=Me("heavy"),c=.25+.5*n,o=.2+.3*n;s.append($(`${t(`resource_${r}_desc_h`,[+(c*100).toFixed(4),+(o*100).toFixed(4)])}`));break;case"antimatter":s.append($(`${t(`resource_${r}_desc_a`,[+((Me("antimatter")-1)*100).toFixed(2)])}`));break;case"magic":s.append($(`${t(`resource_${r}_desc_mg`,[t("resource_Mana_name"),+((Me("magic")-1)*100).toFixed(2)])}`));break}break;case"Harmony":s.append($(`${t(`resource_${r}_desc`,[e.race.universe==="standard"?.1:1,ns()])}`));break;case"AICore":{let n=+((1-.99**e.prestige.AICore.count)*100).toFixed(2);s.append($(`${t(`resource_${r}_desc`,[n])}`))}break;case"Supercoiled":{let n=e.prestige.Supercoiled.count,c=n/(n+5e3)*100;if(s.append($(`${t(`resource_${r}_desc`,[+c.toFixed(2)])}`)),e.genes.hasOwnProperty("trader")&&e.genes.trader>=2){let o=n/(n+500)*100;s.append($(` ${t(`resource_${r}_trade_desc`,[+o.toFixed(2)])}`))}}break}return s})}function Lu(r){let a=e.tech.currency>=6?-1e6:e.tech.currency>=4?-100:-25;if(e.race.banana){let i=!1;if(Object.keys(e.resource).forEach(function(s){e.resource[s].hasOwnProperty("trade")&&e.resource[s].trade<0&&(i=s)}),i&&i!==r)return!1;a=e.tech.currency>=6?-1e6:e.tech.currency>=4?-25:-10}return!(e.resource[r].trade<=a)}function Du(r){let a=e.tech.currency>=6?1e6:e.tech.currency>=4?100:25;return!(e.resource[r].trade>=a)}function Qi(r,a,i,s,n){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==0))&&!((e.race.artifical||e.race.fasting)&&i==="Food")){if(n&&a.append($(`

{{ r.name | namespace }}

`)),e.race.no_trade||(a.append($(`${t("resource_market_buy")}`)),a.append($(`\${{ r.value | buy }}`)),a.append($(`${t("resource_market_sell")}`)),a.append($(`\${{ r.value | sell }}`))),n&&(e.race.banana&&i==="Food"||e.tech.trade&&!e.race.terrifying)){let c=$(`${t("resource_market_routes")}`);a.append(c),c.append($(`-`)),c.append($('')),c.append($(`+`)),c.append($(`${t("cancel_routes")}`)),Hs(i)}C({el:r,data:{r:e.resource[i],m:e.city.market},methods:{aSell(c){let o=tr[c]===1?t("resource_market_unit"):t("resource_market_units"),l=Bu(c),u=tr[c];if(e.stats.achieve.hasOwnProperty("trade")){let p=e.stats.achieve.trade.l;p>5&&(p=5),u*=1-p/100}return u=+u.toFixed(3),t("resource_market_auto_sell_desc",[u,o,l])},aBuy(c){let o=tr[c],l=Q("dealmaker",0);l&&(o*=1+l/100),e.race.persuasive&&(o*=1+e.race.persuasive/100),e.race.devious&&(o*=1-v.devious.vars()[0]/100),e.race.merchant&&(o*=1+v.merchant.vars()[1]/100);let u=re("goblin");if(u>0&&(o*=1+v.merchant.vars(1)[1]/100*u),e.genes.trader){let d=jt();o*=1+d/100}if(e.stats.achieve.hasOwnProperty("trade")){let d=e.stats.achieve.trade.l;d>5&&(d=5),o*=1+d/50}e.race.truepath&&(o*=1-e.civic.foreign.gov3.hstl/101),o=+o.toFixed(3);let p=o===1?t("resource_market_unit"):t("resource_market_units"),h=Gu(c);return t("resource_market_auto_buy_desc",[o,p,h])},purchase(c){if(!e.race.no_trade&&!e.settings.pause){let o=e.city.market.qty,l=e.resource[c].value;e.race.arrogant&&(l*=1+v.arrogant.vars()[0]/100),e.race.conniving&&(l*=1-v.conniving.vars()[0]/100);let u=re("imp");u>0&&(l*=1-v.conniving.vars(1)[0]/100*u);let p=Math.floor(Math.min(o,e.resource.Money.amount/l,e.resource[c].max-e.resource[c].amount));p>0&&(e.resource[c].amount+=p,e.resource.Money.amount-=Math.round(l*p),e.resource[c].value+=Number((p/Math.rand(1e3,1e4)).toFixed(2)))}},sell(c){if(!e.race.no_trade&&!e.settings.pause){let o=e.city.market.qty,l=4;e.race.merchant&&(l*=1-v.merchant.vars()[0]/100);let u=re("goblin");u>0&&(l*=1-v.merchant.vars(1)[0]/100*u),e.race.asymmetrical&&(l*=1+v.asymmetrical.vars()[0]/100),e.race.conniving&&(l*=1-v.conniving.vars()[1]/100);let p=re("imp");p>0&&(l*=1-v.conniving.vars(1)[1]/100*p);let h=e.resource[c].value/l,d=Math.floor(Math.min(o,e.resource[c].amount,(e.resource.Money.max-e.resource.Money.amount)/h));d>0&&(e.resource[c].amount-=d,e.resource.Money.amount+=Math.round(h*d),e.resource[c].value-=Number((d/Math.rand(1e3,1e4)).toFixed(2)),e.resource[c].value0&&(p+=e.resource[h].trade)}),u<=p)break}if(e.resource[c].trade>=0)if(Du(c)&&e.city.market.trade0?this.autoSell(c,e.resource[c].trade):e.resource[c].trade<0&&this.autoBuy(c,-e.resource[c].trade)}},filters:{buy(c){return e.race.arrogant&&(c*=1+v.arrogant.vars()[0]/100),X(c*e.city.market.qty,0)},sell(c){let o=4;e.race.merchant&&(o*=1-v.merchant.vars()[0]/100);let l=re("goblin");return l>0&&(o*=1-v.merchant.vars(1)[0]/100*l),e.race.devious&&(o*=1-v.devious.vars()[0]/100),e.race.asymmetrical&&(o*=1+v.asymmetrical.vars()[0]/100),X(c*e.city.market.qty/o,0)},trade(c){if(i==="Stone"&&(c===31||c===-31)){let o=mt(3,12,!1);if(o.length>0)return o}return c<0?(c=0-c,`-${c}`):c>0?`+${c}`:0},namespace(c){return c.replace("_"," ")}}})}}function Ku(){!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==0)||($("#market").append($(`

${t("galaxy_trade")}

`)),nc())}function Rs(){return[{buy:{res:"Deuterium",vol:5},sell:{res:"Helium_3",vol:25}},{buy:{res:"Neutronium",vol:2.5},sell:{res:"Copper",vol:200}},{buy:{res:"Adamantite",vol:3},sell:{res:"Iron",vol:300}},{buy:{res:"Elerium",vol:1},sell:{res:"Oil",vol:125}},{buy:{res:"Nano_Tube",vol:10},sell:{res:"Titanium",vol:20}},{buy:{res:"Graphene",vol:25},sell:{res:e.race.kindling_kindred||e.race.smoldering?e.race.smoldering?"Chrysotile":"Stone":"Lumber",vol:1e3}},{buy:{res:"Stanene",vol:40},sell:{res:"Aluminium",vol:800}},{buy:{res:"Bolognium",vol:.75},sell:{res:"Uranium",vol:4}},{buy:{res:"Vitreloy",vol:1},sell:{res:"Infernite",vol:1}}]}function nc(r){let a=r||$("#galaxyTrade");if(r||K($("#galaxyTrade")),e.galaxy.trade){a.append($(`
${t("galaxy_trade")}
`));let i=Rs();for(let n=0;n');a.append(c),c.append($(`${e.resource[i[n].buy.res].name}`)),c.append($(`+{{ '${n}' | t_vol }}/s`)),c.append($(`${e.resource[i[n].sell.res].name}`)),c.append($(`-{{ '${n}' | s_vol }}/s`));let o=$(`${t("resource_market_routes")}`);c.append(o);let l=t("galaxy_freighter_assign",[e.resource[i[n].buy.res].name,e.resource[i[n].sell.res].name]),u=t("galaxy_freighter_unassign",[e.resource[i[n].buy.res].name,e.resource[i[n].sell.res].name]);o.append($(`-`)),o.append($(`{{ g.f${n} }}`)),o.append($(`+`)),o.append($(`${t("cancel_routes")}`))}let s=$(`
${t("resource_market_galactic_trade_routes")} {{ g.cur }} / {{ g.max }}
`);s.append($(`${t("cancel_all_routes")}`)),a.append(s)}C({el:r?"#specialModal":"#galaxyTrade",data:{g:e.galaxy.trade,t:e.tech},methods:{less(i){let s=W();e.galaxy.trade[`f${i}`]>=s?(e.galaxy.trade[`f${i}`]-=s,e.galaxy.trade.cur-=s):(e.galaxy.trade.cur-=e.galaxy.trade[`f${i}`],e.galaxy.trade[`f${i}`]=0)},more(i){let s=W();e.galaxy.trade.cure.galaxy.trade.max-e.galaxy.trade.cur&&(s=e.galaxy.trade.max-e.galaxy.trade.cur),e.galaxy.trade[`f${i}`]+=s,e.galaxy.trade.cur+=s)},zero(i){if(i)e.galaxy.trade.cur-=e.galaxy.trade[`f${i}`],e.galaxy.trade[`f${i}`]=0;else{let s=Rs();for(let n=0;n0&&(n*=1+v.merchant.vars(1)[1]/100*c),e.genes.trader){let o=jt();n*=1+o/100}if(e.stats.achieve.hasOwnProperty("trade")){let o=e.stats.achieve.trade.l;o>5&&(o=5),n*=1+o/50}return n=+n.toFixed(2),n},s_vol(i){let n=Rs()[i].sell.vol;if(e.stats.achieve.hasOwnProperty("trade")){let c=e.stats.achieve.trade.l;c>5&&(c=5),n*=1-c/100}return n=+n.toFixed(2),n}}}),N("galacticTradeTotal",function(){let i=$('
');return Te.hasOwnProperty("gt_route")&&Object.keys(Te.gt_route).forEach(function(s){Te.gt_route[s]>0&&i.append(``)}),i.append(``),i},{elm:"#galacticTradeTotal > span"})}function Vo(r){let a=W(),i=Qs();a>e.resource[r].crates&&(a=e.resource[r].crates),a>0&&(e.resource.Crates.amount+=a,e.resource.Crates.max+=a,e.resource[r].crates-=a,e.resource[r].max-=i*a)}function Uo(r){let a=W(),i=Qs();a>e.resource.Crates.amount&&(a=e.resource.Crates.amount),a>0&&(e.resource.Crates.amount-=a,e.resource.Crates.max-=a,e.resource[r].crates+=a,e.resource[r].max+=i*a)}function Wo(r){let a=W(),i=Js();a>e.resource[r].containers&&(a=e.resource[r].containers),a>0&&(e.resource.Containers.amount+=a,e.resource.Containers.max+=a,e.resource[r].containers-=a,e.resource[r].max-=i*a)}function Qo(r){let a=W(),i=Js();a>e.resource.Containers.amount&&(a=e.resource.Containers.amount),a>0&&(e.resource.Containers.amount-=a,e.resource.Containers.max-=a,e.resource[r].containers+=a,e.resource[r].max+=i*a)}function Ji(r,a,i,s){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==1))){if(a.append($(`

{{ name }}

`)),e.resource.Crates.display){let n=$(`${t("resource_Crates_name")}`);a.append(n),n.append($(`«`)),n.append($(``)),n.append($(`»`))}if(e.resource.Containers.display){let n=$(`${t("resource_Containers_name")}`);a.append(n),n.append($(`«`)),n.append($('')),n.append($(`»`))}C({el:r,data:e.resource[i],methods:{addCrate(n){Uo(n)},subCrate(n){Vo(n)},addCon(n){Qo(n)},subCon(n){Wo(n)}},filters:{trick(n){if(i==="Stone"&&e.resource[i].crates===10&&e.resource[i].containers===31){let c=mt(4,13,!0);if(c.length>0)return c}return n},cCnt(n,c){if(c==="Food"&&!e.race.artifical||e.race.artifical&&c==="Coal"||c==="Souls"){let o=ht(13,10);if(n===10&&o.length>0)return"1"+o}return n}}})}}function Bu(r){let a=4;e.race.merchant&&(a*=1-v.merchant.vars()[0]/100);let i=re("goblin");i>0&&(a*=1-v.merchant.vars(1)[0]/100*i),e.race.asymmetrical&&(a*=1+v.asymmetrical.vars()[0]/100),e.race.devious&&(a*=1+v.devious.vars()[0]/100),e.race.conniving&&a--;let s=e.resource[r].value*tr[r]/a;if(e.city.wharf&&(s=s*(1+e.city.wharf.count*.01)),e.space.gps&&e.space.gps.count>3&&(s=s*(1+e.space.gps.count*.01)),e.tech.railway){let n=e.stats.achieve.banana&&e.stats.achieve.banana.l>=1?.03:.02;s=s*(1+e.tech.railway*n)}if(e.race.truepath&&!e.race.lone_survivor&&(s*=1-e.civic.foreign.gov3.hstl/101),e.race.inflation&&(s*=1+e.race.inflation/500),e.race.witch_hunter&&e.resource.Sus.amount>50){let n=(e.resource.Sus.amount-50)/52;s*=1-n}return s*=ie("psychic_cash"),s=+s.toFixed(1),s}function Gu(r){let a=e.resource[r].value;e.race.arrogant&&(a*=1+v.arrogant.vars()[0]/100),e.race.conniving&&(a*=1-v.conniving.vars()[0]/100);let i=re("imp");i>0&&(a*=1-v.conniving.vars(1)[0]/100*i);let s=a*tr[r];if(e.city.wharf&&(s=s*.99**e.city.wharf.count),e.space.gps&&e.space.gps.count>3&&(s=s*.99**e.space.gps.count),e.tech.railway){let n=e.stats.achieve.banana&&e.stats.achieve.banana.l>=1?.97:.98;s=s*n**e.tech.railway}if(e.race.truepath&&!e.race.lone_survivor&&(s*=1+e.civic.foreign.gov3.hstl/101),e.race.inflation&&(s*=1+e.race.inflation/300),e.race.quarantine&&(s*=1+Math.round(e.race.quarantine**3.5)),e.race.witch_hunter&&e.resource.Sus.amount>50){let n=(e.resource.Sus.amount-50)/8;s*=1+n}return s=+s.toFixed(1),s}function Ns(r,a,i,s){N(`${r}`,function(){let n=$('
{{ res.name | namespace }}
'),c=$('
');n.append(c);let o=fi(a,i),l=$("
");c.append(l),i==="auto"&&Te.p[a]&&Object.keys(Te.p[a]).forEach(function(d){let g=Te.p[a][d],w=parseFloat(g.slice(0,-1));if(w!=0&&!isNaN(w)){let k=w>0?"success":"danger",M=d.replace(/\+.+$/,"");d=d.replace(/'/g,"\\'"),l.append(``)}}),Object.keys(o.multi_bd).forEach(function(d){let g=o.multi_bd[d],w=parseFloat(g.slice(0,-1));if(w!=0&&!isNaN(w)){let k=w>0?"success":"danger",M=d.replace(/\+.+$/,"");d=d.replace(/'/g,"\\'"),l.append(``)}});let u=$('
'),p=$(`
${t("craft_tools_multi")}
`);u.append(p);let h=0;if(Object.keys(o.add_bd).forEach(function(d){let g=o.add_bd[d],w=parseFloat(g.slice(0,-1));if(w!=0&&!isNaN(w)){h++;let k=w>0?"success":"danger",M=d.replace(/\+.+$/,"");d=d.replace(/'/g,"\\'"),u.append(``)}}),h>0&&c.append(u),Te.p.consume&&Te.p.consume[a]){let d=$('
'),g=0;Object.keys(Te.p.consume[a]).forEach(function(w){let k=Te.p.consume[a][w];if(k!=0&&!isNaN(k)){g++;let M=k>0?"success":"danger",q=w.replace(/\+.+$/,"");w=w.replace(/'/g,"\\'"),d.append(``)}}),g>0&&c.append(d)}return e.resource[a].diff<0&&e.resource[a].amount>0&&n.append(``),s&&(n.append(''),n.append(s)),n},{in:function(){C({el:"#popper > div",data:{[a]:Te.p[a],res:e.resource[a],consume:Te.p.consume,craft:fi(a,i)},filters:{translate(n){let c=n[n.length-1],o=parseFloat(n.slice(0,-1)),l=o>0&&o<1||o<0&&o>-1?4:o>0&&o<10||o<0&&o>-10?3:2;o=+o.toFixed(l);let u=c==="%"?"%":"";if(o>0)return"+"+X(o,l)+u;if(o<0)return X(o,l)+u},fix(n){return n+"v"},counter(n){let c=-e.resource[a].diff,o=+(n/c).toFixed(0);if(o>60){let l=o%60,u=(o-l)/60;if(u>=60){let p=u%60;return`${(u-p)/60}h ${p}m`}else return`${u}m ${l}s`}else return`${o}s`},namespace(n){return n.replace("_"," ")}}})},out:function(){C({el:"#popper > div"},"destroy")},classes:"breakdown has-background-light has-text-dark",prop:{modifiers:{preventOverflow:{enabled:!1},hide:{enabled:!1}}}})}function Ko(r,a,i){N(`${r}`,function(){let s=$('
{{ res.name | namespace }}
');i==="p"&&a===e.race.species&&(s=$(`
${t("starvation_resist")}
`));let n=$('
');s.append(n);let c=!1;if(Te[i][a]&&!(e.race.species===a&&i==="p")){let l=$("
");n.append(l);let u=[a];u.push("Global");for(var o=0;o0?"success":"danger",k=h.replace(/\+.+$/,"");h=h.replace(/'/g,"\\'"),l.append(``)}})}}if(Te[i].consume&&Te[i].consume[a]){let l=$(`
`),u=0;Object.keys(Te[i].consume[a]).forEach(function(p){let h=Te[i].consume[a][p];if(h!=0&&!isNaN(h)){u++;let d=h>0?"success":"danger",g=p.replace(/\+.+$/,"");p=p.replace(/'/g,"\\'"),l.append(``)}}),u>0&&n.append(l)}if(i==="p"&&a!==e.race.species){let l=e.resource[a].diff>0?"success":"danger";s.append(``)}return s},{in:function(){C({el:"#popper > div",data:{Global:Te[i].Global,[a]:Te[i][a],consume:Te[i].consume,res:e.resource[a]},filters:{translate(s){let n=s[s.length-1],c=parseFloat(s.slice(0,-1)),o=c>0&&c<1||c<0&&c>-1?4:c>0&&c<10||c<0&&c>-10?3:2,l=n==="%"?"%":"";if(c>0)return"+"+X(c,o)+l;if(c<0)return X(c,o)+l},fix(s){return s+"v"},counter(s){let n=e.resource[a].diff,c=0;if(n<0?(n*=-1,c=+(s/n).toFixed(0)):c=+((e.resource[a].max-s)/n).toFixed(0),c===1/0||Number.isNaN(c))return"Never";if(c>60){let o=c%60,l=(c-o)/60;if(l>=60){let u=l%60;return`${(l-u)/60}h ${u}m`}else return`${l}m ${o}s`}else return`${c}s`},direction(s){return s>=0?t("to_full"):t("to_empty")},namespace(s){return s.replace("_"," ")}}})},out:function(){C({el:"#popper > div"},"destroy")},classes:"breakdown has-background-light has-text-dark",prop:{modifiers:{preventOverflow:{enabled:!1},hide:{enabled:!1}}}})}function Nu(){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==0))return;let r=e.race.no_trade?" nt":"";var a=$(`
${t("resource_market_trade_routes")} / {{ mtrade }}
`);a.append($(`${t("cancel_all_routes")}`)),$("#market").append(a),C({el:"#tradeTotal",data:e.city.market,methods:{zero(){Object.keys(e.resource).forEach(function(i){e.resource[i].trade&&(e.city.market.trade-=Math.abs(e.resource[i].trade),e.resource[i].trade=0,Hs(i))})}},filters:{tdeCnt(i){let s=ht(17,11);return(i===100&&!e.tech.isolation&&!e.race.cataclysm||i===10&&(e.tech.isolation||e.race.cataclysm))&&s.length>0?"10"+s:i}}}),N("tradeTotalPopover",function(){let i=$('
');return Te.hasOwnProperty("t_route")&&Object.keys(Te.t_route).forEach(function(s){Te.t_route[s]>0&&i.append(``)}),i.append(``),i},{elm:"#tradeTotalPopover > span"})}function Ru(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==1))){var r=$(`
${t("resource_Crates_name")}{{ cr.amount }} / {{ cr.max }}${t("resource_Containers_name")}{{ cn.amount }} / {{ cn.max }}
`);$("#resStorage").append(r),C({el:"#crateTotal",data:{cr:e.resource.Crates,cn:e.resource.Containers}})}}function Hs(r){$(`#market-${r} .trade .current`).removeClass("has-text-warning"),$(`#market-${r} .trade .current`).removeClass("has-text-danger"),$(`#market-${r} .trade .current`).removeClass("has-text-success"),e.resource[r].trade>0?$(`#market-${r} .trade .current`).addClass("has-text-success"):e.resource[r].trade<0?$(`#market-${r} .trade .current`).addClass("has-text-danger"):$(`#market-${r} .trade .current`).addClass("has-text-warning")}function Jo(){let r=e.race.kindling_kindred||e.race.smoldering?e.race.smoldering?e.resource.Chrysotile.name:e.resource.Stone.name:e.resource.Plywood?e.resource.Plywood.name:t("resource_Plywood_name"),a=e.race.kindling_kindred||e.race.smoldering?200:10;return t("resource_modal_crate_construct_desc",[a,r,Qs()])}function Zo(){return t("resource_modal_container_construct_desc",[125,Js()])}function ec(r,a){switch(r){case"crate":cc(a);break;case"container":oc(a);break}}function cc(r){let a=r||W(),i=e.race.kindling_kindred||e.race.smoldering?e.race.smoldering?"Chrysotile":"Stone":"Plywood",s=e.race.kindling_kindred||e.race.smoldering?200:10;a+e.resource.Crates.amount>e.resource.Crates.max&&(a=e.resource.Crates.max-e.resource.Crates.amount),e.resource[i].amount=s*a&&e.resource.Crates.amounte.resource.Containers.max&&(a=e.resource.Containers.max-e.resource.Containers.amount),e.resource.Steel.amount<125*a&&(a=Math.floor(e.resource.Steel.amount/125)),e.resource.Steel.amount>=125*a&&e.resource.Containers.amount{{ name }} - {{ amount | size }}/{{ max | size }}

'));let a=$('
');if($("#modalBox").append(a),r==="Food"&&!e.race.artifical||e.race.artifical&&r==="Coal"||r==="Souls"){let l=ht(7,10);l.length>0&&$("#modalBoxTitle").prepend(l)}if(r==="Stone"){let l=mt(1,12,!1);l.length>0&&$("#modalBoxTitle").prepend(l)}let i=$('
');a.append(i),i.append($(`
${t("resource_modal_crate_owned")} {{ crates.amount }}/{{ crates.max }}${t("resource_modal_crate_assigned")} {{ res.crates }}
`));let s=$(``),n=$(``),c=$(``);if(i.append(s),i.append(n),i.append(c),C({el:"#modalCrates",data:{crates:e.resource.Crates,res:e.resource[r]},methods:{buildCrate(){cc()},subCrate(l){Vo(l)},addCrate(l){Uo(l)}}}),e.resource.Containers.display){let l=$('
');a.append(l),l.append($(`
${t("resource_modal_container_owned")} {{ containers.amount }}/{{ containers.max }}${t("resource_modal_container_assigned")} {{ res.containers }}
`));let u=$(``),p=$(``),h=$(``);l.append(u),l.append(p),l.append(h),C({el:"#modalContainers",data:{containers:e.resource.Containers,res:e.resource[r]},methods:{buildContainer(){oc()},removeContainer(d){Wo(d)},addContainer(d){Qo(d)}}})}C({el:"#modalBoxTitle",data:e.resource[r],filters:{size:function(l){return X(l,0)},diffSize:function(l){return X(l,2)}}});function o(l,u){if(l==="modalContainers"){let p=Js();switch(u){case"assign":return t("resource_modal_container_assign_desc",[p]);case"unassign":return t("resource_modal_container_unassign_desc",[p]);case"construct":return Zo()}}else{let p=Qs();switch(u){case"assign":return t("resource_modal_crate_assign_desc",[p]);case"unassign":return t("resource_modal_crate_unassign_desc",[p]);case"construct":return Jo()}}}["modalCrates","modalContainers"].forEach(function(l){["assign","unassign","construct"].forEach(function(u){N(`${l}${u}`,o(l,u),{elm:$(`#${l} > .${u}`),attach:"#main"})})})}function Xo(){e.settings.showResources||(e.settings.marketTabs=1),e.settings.showResources=!0,e.settings.showStorage=!0,Dr("storage"),Ne()}function Yo(){e.resource.Crates.display||(I(t("city_storage_yard_msg"),"info",!1,["progress"]),e.resource.Crates.display=!0,Xo())}function wr(){e.resource.Containers.display||(I(t("city_warehouse_msg"),"info",!1,["progress"]),e.resource.Containers.display=!0,Xo())}function Qs(){let r=e.tech.container&&e.tech.container>=2?500:350;e.tech.container&&e.tech.container>=4&&(r+=e.tech.container>=5?500:250),e.tech.container&&e.tech.container>=6&&(r+=e.tech.container>=7?1200:500),e.tech.container&&e.tech.container>=8&&(r+=e.tech.container>=9?7800:4e3),e.race.pack_rat&&(r*=1+v.pack_rat.vars()[0]/100);let a=re("kobold");return a>0&&(r*=1+v.pack_rat.vars(1)[0]/100*a),e.stats.achieve.banana&&e.stats.achieve.banana.l>=3&&(r*=1.1),r*=e.stats.achieve.blackhole?1+e.stats.achieve.blackhole.l*.05:1,Math.round(G(r))}function Js(){let r=e.tech.steel_container&&e.tech.steel_container>=3?1200:800;e.tech.steel_container&&e.tech.steel_container>=4&&(r+=e.tech.steel_container>=5?1e3:400),e.tech.steel_container&&e.tech.steel_container>=6&&(r+=e.tech.steel_container>=7?7500:1e3),e.tech.steel_container&&e.tech.steel_container>=8&&(r+=e.tech.steel_container>=9?15300:8e3),e.race.pack_rat&&(r*=1+v.pack_rat.vars()[0]/100);let a=re("kobold");return a>0&&(r*=1+v.pack_rat.vars(1)[0]/100*a),r*=e.stats.achieve.blackhole?1+e.stats.achieve.blackhole.l*.05:1,Math.round(G(r))}function Bo(){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==0))return;let r=$(`

${t("resource_market")}

`);K($("#market")),$("#market").append(r),Vu()}function Go(){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==1))return;let r=$(`

${t("tab_storage")}

`);K($("#resStorage")),$("#resStorage").append(r),e.resource.Crates&&e.resource.Containers&&(r.append($(``)),r.append($(``)),C({el:"#createHead",data:{cr:e.resource.Crates,cn:e.resource.Containers},methods:{crate(){cc()},container(){oc()},buildCrateDesc(){return Jo()},buildContainerDesc(){return Zo()}}}))}function Vu(){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==0))return;let r=$("#market-qty");K(r),e.race.no_trade||(r.append($(`

${t("resource_trade_qty")}

`)),r.append($('-+'))),C({el:"#market-qty",data:e.city.market,methods:{val(){e.city.market.qty<1?e.city.market.qty=1:e.city.market.qty>sc()&&(e.city.market.qty=sc())},limit(){return sc()},less(){e.city.market.qty-=W()},more(){e.city.market.qty+=W()}}})}function sc(){return e.tech.currency>=6?1e6:e.tech.currency>=4?5e3:100}function No(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==2))&&(K($("#resEjector")),e.interstellar.mass_ejector)){let r=$(`

${t("interstellar_mass_ejector_vol")}

`);$("#resEjector").append(r);let a=$('');r.append(a),a.append($(`{{ total }} / {{ on | max }}{{ on | real }}${t("interstellar_mass_ejector_mass")}: {{ mass | approx }} kt/s`)),C({el:"#eject",data:e.interstellar.mass_ejector,filters:{max(i){return i*1e3},real(i){return H.mass_ejector

${e.resource[r].name}

`);$("#resEjector").append(i);let s=$('');i.append(s),s.append($(`«`)),s.append($(`{{ e.${r} }}`)),s.append($(`»`)),s.append($(`${t("interstellar_mass_ejector_per")}: ${Ve[r]} kt`)),e.interstellar.mass_ejector.hasOwnProperty(r)||(e.interstellar.mass_ejector[r]=0),C({el:`#eject${r}`,data:{r:e.resource[r],e:e.interstellar.mass_ejector},methods:{ejectMore(n){let c=W();c+e.interstellar.mass_ejector.total>H.mass_ejector*1e3&&(c=H.mass_ejector*1e3-e.interstellar.mass_ejector.total),e.interstellar.mass_ejector[n]+=c,e.interstellar.mass_ejector.total+=c},ejectLess(n){let c=W();c>e.interstellar.mass_ejector[n]&&(c=e.interstellar.mass_ejector[n]),e.interstellar.mass_ejector[n]>0&&(e.interstellar.mass_ejector[n]-=c,e.interstellar.mass_ejector.total-=c)}}})}}function Ro(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==3))&&(K($("#resCargo")),e.portal.transport)){let r=$(`

${t("portal_transport_supply")}

`);$("#resCargo").append(r);let a=$('{{ used }} / {{ max }}');r.append(a),C({el:"#spireSupply",data:e.portal.transport.cargo})}}function Bn(r,a){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==3))&&di[r]&&e.portal.transport){let i=$(`

${e.resource[r].name}

`);$("#resCargo").append(i);let s=$('');i.append(s),s.append($(`«`)),s.append($(`{{ e.${r} }}`)),s.append($(`»`));let n=X(di[r].out);s.append($(`${t("portal_transport_item",[`${n}`,`${di[r].in}`])}`)),e.portal.transport.cargo.hasOwnProperty(r)||(e.portal.transport.cargo[r]=0),C({el:`#supply${r}`,data:{r:e.resource[r],e:e.portal.transport.cargo},methods:{supplyMore(c){let o=W();o+e.portal.transport.cargo.used>e.portal.transport.cargo.max&&(o=e.portal.transport.cargo.max-e.portal.transport.cargo.used,e.portal.transport.cargo[c]+o<0&&(o=-e.portal.transport.cargo[c])),e.portal.transport.cargo[c]+=o,e.portal.transport.cargo.used+=o},supplyLess(c){let o=W();o>e.portal.transport.cargo[c]&&(o=e.portal.transport.cargo[c]),e.portal.transport.cargo[c]>0&&(e.portal.transport.cargo[c]-=o,e.portal.transport.cargo.used-=o)}}})}}function Ho(){!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==4)||K($("#resAlchemy"))}function Gn(r,a,i){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==4))&&!(e.race.artifical&&r==="Food")&&e.tech.alchemy&&(i||e.tech.alchemy>=2)&&r!=="Crystal"){let s=$(`

${e.resource[r].name}

`);$("#resAlchemy").append(s);let n=$('');s.append(n),n.append($(`«`)),n.append($(`{{ a.${r} }}`)),n.append($(`»`)),e.race.alchemy.hasOwnProperty(r)||(e.race.alchemy[r]=0),C({el:`#alchemy${r}`,data:{r:e.resource[r],a:e.race.alchemy},methods:{addSpell(c){let o=W();for(let l=0;l=1;l++)e.race.alchemy[c]++,e.resource.Mana.diff--},subSpell(c){let o=W();for(let l=0;l0;l++)e.race.alchemy[c]--,e.resource.Mana.diff++}}}),N(`alchemy${r}`,function(){let c=i&&e.tech.alchemy>=2?tr[r]*8:tr[r]*2;return e.race.witch_hunter&&(c*=3),e.stats.achieve.soul_sponge&&e.stats.achieve.soul_sponge.mg&&(c*=e.stats.achieve.soul_sponge.mg+1),$(`
${t("resource_alchemy",[1,t("resource_Mana_name"),.15,t("resource_Crystal_name"),+c.toFixed(2),e.resource[r].name])}
`)},{elm:`#alchemy${r} h3`})}}var G=function(){var r={};return function(a,i,s){let n=i||"a",c=[e.race.universe,e.prestige.Plasmid.count,e.prestige.AntiPlasmid.count,e.prestige.Phage.count,e.race.no_plasmid||"0",e.race.p_mutation||"0",e.race.nerfed||"0",e.genes.store||"0",e.genes.bleed||"0",e.city.temple?e.city.temple.count:"0",e.space.ziggurat?e.space.ziggurat.count:"0",e.race.cataclysm?e.race.cataclysm:"0",e.race.orbit_decayed?e.race.orbit_decayed:"0",e.genes.ancients||"0",e.civic.priest?e.civic.priest.workers:"0"].join("-");if(r[n]||(r[n]={}),!r[n][c]||s){let o=1,l=!!(e.race.cataclysm||e.race.orbit_decayed);if(e.genes.store){let u=0;if(!i||i&&(i==="plasmid"&&e.race.universe!=="antimatter"||i==="anti"&&e.race.universe==="antimatter")){u=e.race.universe==="antimatter"?e.prestige.AntiPlasmid.count:e.prestige.Plasmid.count;let h=u;if(e.race.no_plasmid){let d=e.race.p_mutation+(e.race.wish&&e.race.wishStats?e.race.wishStats.plas:0);h=Math.min(d,u)}else e.race.nerfed&&(h=Math.floor(u/(e.race.universe==="antimatter"?2:5)));u=Math.round(h*(e.race.nerfed?.5:1))}(!i||i&&i==="phage")&&e.genes.store>=4&&(u+=Math.round(e.prestige.Phage.count*(e.race.nerfed?1/3:1)));let p=e.genes.store>=2?e.genes.store>=3?1250:1666:2500;if(e.race.universe==="antimatter"&&(p*=2),e.genes.bleed&&e.genes.bleed>=3&&(!i||i&&(i==="plasmid"&&e.race.universe==="antimatter"||i==="anti"&&e.race.universe!=="antimatter"))){let h=e.race.universe==="antimatter"?e.prestige.Plasmid.count/5:e.prestige.AntiPlasmid.count/10;u+=Math.round(h*(e.race.nerfed?.5:1))}o*=1+u/p}if(e.race.universe==="standard"&&(o*=Me("standard")),e.race.universe==="antimatter"&&(!l&&e.city.temple&&e.city.temple.count||l&&e.space.ziggurat&&e.space.ziggurat.count)){let u=.06;if(e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display){let p=e.genes.ancients>=5?.0012:e.genes.ancients>=3?.001:8e-4;e.race.high_pop&&(p=he(p)),u+=p*e.civic.priest.workers}o*=1+(l?e.space.ziggurat.count:e.city.temple.count)*u}if(!i&&e.pillars){let u=xr();o*=u[1]}r[n]={},r[n][c]=o}return i?r[n][c]*a:Math.round(r[n][c]*a)}}();function el(){let r=0;return!!(e.race.cataclysm||e.race.orbit_decayed)&&e.space.ziggurat?r=Us(!0):e.city.temple&&(r=Us(!1)),r}function lc(r=-1){if((e.race.no_plasmid||e.race.universe==="antimatter")&&(r==-1&&(r=el()),r>0)){let a=e.tech.anthropology&&e.tech.anthropology>=1?.016:.01;if(e.tech.fanaticism&&e.tech.fanaticism>=2){let s=Xe(e.civic.professor.workers,"professor")*he(e.race.universe==="antimatter"?2e-4:4e-4);a+=s}if(e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display){let s=e.genes.ancients>=5?15e-5:e.genes.ancients>=3?125e-6:1e-4;a+=he(s)*Xe(e.civic.priest.workers,"priest")}e.race.universe==="antimatter"?a/=e.race.nerfed?3:2:e.race.nerfed&&(a/=2),e.race.spiritual&&(a*=1+v.spiritual.vars()[0]/100);let i=re("seraph");return i>0&&(a*=1+v.spiritual.vars(1)[0]/100*i),e.race.blasphemous&&(a*=1-v.blasphemous.vars()[0]/100),e.civic.govern.type==="theocracy"&&(a*=1+Be.theocracy()[0]/100),e.race.ooze&&(a*=1-v.ooze.vars()[1]/100),r*a}return 0}function uc(r=-1){if(!e.race.no_plasmid&&e.race.universe!=="antimatter"&&(r==-1&&(r=el()),r>0)){let a=e.tech.anthropology&&e.tech.anthropology>=1?.08:.05;if(e.tech.fanaticism&&e.tech.fanaticism>=2){let s=Xe(e.civic.professor.workers,"professor")*he(.002);a+=s}if(e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display){let s=e.genes.ancients>=5?.0015:e.genes.ancients>=3?.00125:.001;a+=he(s)*Xe(e.civic.priest.workers,"priest")}e.race.spiritual&&(a*=1+v.spiritual.vars()[0]/100);let i=re("seraph");return i>0&&(a*=1+v.spiritual.vars(1)[0]/100*i),e.race.blasphemous&&(a*=1-v.blasphemous.vars()[0]/100),e.civic.govern.type==="theocracy"&&(a*=1+Be.theocracy()[0]/100),e.race.ooze&&(a*=1-v.ooze.vars()[1]/100),e.race.orbit_decayed&&e.race.truepath&&(a*=.1),r*a}return 0}var Vs=function(){var r={};return function(a){let i=[e.race.universe,e.prestige.Plasmid.count,e.prestige.AntiPlasmid.count,e.prestige.Phage.count,e.civic.govern.type,e.civic.professor.assigned,e.genes.bleed||"0",e.race.decayed||"0",e.race.gene_fortify||"0",e.tech.anthropology||"0",e.tech.fanaticism||"0",e.race.nerfed||"0",e.race.no_plasmid||"0",e.genes.ancients||"0",e.city.temple?e.city.temple.count:"0",e.space.ziggurat?e.space.ziggurat.count:"0",e.civic.priest?e.civic.priest.workers:"0",e.race.orbit_decayed?e.race.orbit_decayed:"0",e.race.spiritual||"0",e.tech.outpost_boost||"0",H.alien_outpost||"0"].join("-");if(!r[i]){let s=0,n=0;if(e.race.universe!=="antimatter"||e.genes.bleed){let o=e.race.p_mutation+(e.race.wish&&e.race.wishStats?e.race.wishStats.plas:0),l=e.race.no_plasmid?Math.min(o,e.prestige.Plasmid.count):e.prestige.Plasmid.count;e.race.universe==="antimatter"&&e.genes.bleed&&(l*=.025),e.race.decayed&&(l-=Math.round((e.stats.days-e.race.decayed)/(300+e.race.gene_fortify*6)));let u=250+e.prestige.Phage.count;l>u?s=+(Math.log(u+50)-3.91202).toFixed(5)/2.888+Math.log(l+1-u)/Math.LN2/250:l<0?s=0:s=+(Math.log(l+50)-3.91202).toFixed(5)/2.888,e.tech.outpost_boost&&e.race.truepath&&H.alien_outpost&&(s*=2);let p=uc();s*=1+p}if(e.race.universe==="antimatter"||e.genes.bleed&&e.genes.bleed>=2){let o=e.prestige.AntiPlasmid.count;e.race.universe!=="antimatter"&&e.genes.bleed&&e.genes.bleed>=2&&(o*=.25),e.race.decayed&&(o-=Math.round((e.stats.days-e.race.decayed)/(300+e.race.gene_fortify*6)));let l=250+e.prestige.Phage.count;o>l?n=+(Math.log(l+50)-3.91202).toFixed(5)/2.888+Math.log(o+1-l)/Math.LN2/250:o<0?n=0:n=+(Math.log(o+50)-3.91202).toFixed(5)/2.888,e.tech.outpost_boost&&e.race.truepath&&H.alien_outpost&&(n*=2),n/=3}e.race.nerfed&&(e.race.universe==="antimatter"?(s/=2,n/=2):(s/=5,n/=5)),r={};let c=(1+s)*(1+n)-1;r[i]=[c,s,n]}return a&&a==="raw"?r[i]:a&&a==="plasmid"?r[i][1]:a&&a==="antiplasmid"?r[i][2]:r[i][0]}}();var m={evolution:{rna:{id:"evolution-rna",title:t("resource_RNA_name"),desc(){let r=e.race.rapid_mutation?2:1;return t("evo_rna",[r])},condition(){return e.resource.hasOwnProperty("RNA")&&e.resource.RNA.display&&!e.race.evoFinalMenu},action(){return e.resource.RNA.amount=2&&e.resource.DNA.amount=2&&r++,t("evo_organelles_effect",[r])},action(){return _($(this)[0])?(e.evolution.organelles.count++,!0):!1}},nucleus:{id:"evolution-nucleus",title:t("evo_nucleus_title"),desc:t("evo_nucleus_desc"),condition(){return e.evolution.hasOwnProperty("nucleus")&&!e.race.evoFinalMenu},cost:{RNA(r){return ha("nucleus",38,e.tech.evo&&e.tech.evo>=4?16:32,r)},DNA(r){return ha("nucleus",18,e.tech.evo&&e.tech.evo>=4?12:16,r)}},effect(){let r=e.tech.evo&&e.tech.evo>=5?2:1;return t("evo_nucleus_effect",[r])},action(){return _($(this)[0])?(e.evolution.nucleus.count++,!0):!1}},eukaryotic_cell:{id:"evolution-eukaryotic_cell",title:t("evo_eukaryotic_title"),desc:t("evo_eukaryotic_desc"),condition(){return e.evolution.hasOwnProperty("eukaryotic_cell")&&!e.race.evoFinalMenu},cost:{RNA(r){return ha("eukaryotic_cell",20,20,r)},DNA(r){return ha("eukaryotic_cell",40,12,r)}},effect(){let r=e.evolution.mitochondria?e.evolution.mitochondria.count*10+10:10;return t("evo_eukaryotic_effect",[r])},action(){return _($(this)[0])?(e.evolution.eukaryotic_cell.count++,e.resource.DNA.max+=e.evolution.mitochondria?e.evolution.mitochondria.count*10+10:10,!0):!1}},mitochondria:{id:"evolution-mitochondria",title:t("evo_mitochondria_title"),desc:t("evo_mitochondria_desc"),condition(){return e.evolution.hasOwnProperty("mitochondria")&&!e.race.evoFinalMenu},cost:{RNA(r){return ha("mitochondria",75,50,r)},DNA(r){return ha("mitochondria",65,35,r)}},effect:t("evo_mitochondria_effect"),action(){return _($(this)[0])?(e.evolution.mitochondria.count++,!0):!1}},sexual_reproduction:{id:"evolution-sexual_reproduction",title:t("evo_sexual_reproduction_title"),desc:t("evo_sexual_reproduction_desc"),reqs:{evo:1},grant:["evo",2],condition(){return e.tech.evo&&e.tech.evo===1},cost:{DNA(){return 150}},effect:t("evo_sexual_reproduction_effect"),action(){return _($(this)[0])?(e.evolution.final=20,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===1?1:0}},phagocytosis:{id:"evolution-phagocytosis",title:t("evo_phagocytosis_title"),desc:t("evo_phagocytosis_desc"),reqs:{evo:2},grant:["evo",3],condition(){return e.tech.evo&&e.tech.evo===2},cost:{DNA(){return 175}},effect:t("evo_phagocytosis_effect"),action(){return _($(this)[0])?(e.tech.evo_animal=1,e.evolution.final=40,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===2?1:0}},chloroplasts:{id:"evolution-chloroplasts",title(){return e.evolution.gselect?t("genelab_genus_plant"):t("evo_chloroplasts_title")},desc:t("evo_chloroplasts_desc"),reqs:{evo:2},grant:["evo",3],condition(){return qt(2)},cost:{DNA(){return 175}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_chloroplasts_effect")}
${t("evo_warn_unwise")}
`:t("evo_chloroplasts_effect")},action(){return _($(this)[0])?(e.evolution.gselect?(e.tech.evo=7,e.tech.evo_plant=2,e.evolution.final=100):(e.tech.evo_plant=1,e.evolution.final=40),!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===2?1:0},emblem(){return at("genus_plant")}},chitin:{id:"evolution-chitin",title(){return e.evolution.gselect?t("genelab_genus_fungi"):t("evo_chitin_title")},desc:t("evo_chitin_desc"),reqs:{evo:2},grant:["evo",3],condition(){return qt(2)},cost:{DNA(){return 175}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_chitin_effect")}
${t("evo_warn_unwise")}
`:t("evo_chitin_effect")},action(){return _($(this)[0])?(e.evolution.gselect?(e.tech.evo=7,e.tech.evo_fungi=2,e.evolution.final=100):(e.tech.evo_fungi=1,e.evolution.final=40),!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===2?1:0},emblem(){return at("genus_fungi")}},exterminate:{id:"evolution-exterminate",title(){return e.evolution.gselect?t("genelab_genus_synthetic"):t("evo_exterminate_title")},desc:t("evo_exterminate_desc"),reqs:{evo:2},grant:["evo",7],condition(){return qt(2)&&e.stats.achieve.obsolete&&e.stats.achieve.obsolete.l>=5},cost:{DNA(){return 200}},effect(){return t("evo_exterminate_effect")},action(){return _($(this)[0])?(e.tech.evo_synthetic=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===2?1:0},emblem(){return at("genus_synthetic")}},multicellular:{id:"evolution-multicellular",title:t("evo_multicellular_title"),desc:t("evo_multicellular_desc"),reqs:{evo:3},grant:["evo",4],condition(){return e.tech.evo&&e.tech.evo===3},cost:{DNA(){return 200}},effect:t("evo_multicellular_effect"),action(){return _($(this)[0])?(e.evolution.final=60,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===3?1:0}},spores:{id:"evolution-spores",title:t("evo_spores_title"),desc:t("evo_spores_desc"),reqs:{evo:4,evo_fungi:1},grant:["evo",5],condition(){return e.tech.evo&&e.tech.evo===4},cost:{DNA(){return 230}},effect:t("evo_nucleus_boost"),action(){return _($(this)[0])?(e.evolution.final=80,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===4?1:0}},poikilohydric:{id:"evolution-poikilohydric",title:t("evo_poikilohydric_title"),desc:t("evo_poikilohydric_desc"),reqs:{evo:4,evo_plant:1},grant:["evo",5],condition(){return e.tech.evo&&e.tech.evo===4},cost:{DNA(){return 230}},effect:t("evo_nucleus_boost"),action(){return _($(this)[0])?(e.evolution.final=80,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===4?1:0}},bilateral_symmetry:{id:"evolution-bilateral_symmetry",title:t("evo_bilateral_symmetry_title"),desc:t("evo_bilateral_symmetry_desc"),reqs:{evo:4,evo_animal:1},grant:["evo",5],condition(){return e.tech.evo&&e.tech.evo===4},cost:{DNA(){return 230}},effect:t("evo_nucleus_boost"),action(){return _($(this)[0])?(e.evolution.final=80,e.tech.evo_insectoid=1,e.tech.evo_mammals=1,e.tech.evo_eggshell=1,e.tech.evo_eldritch=1,e.tech.evo_aquatic=1,e.tech.evo_fey=1,e.tech.evo_sand=1,e.tech.evo_heat=1,e.tech.evo_polar=1,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===4?1:0}},bryophyte:{id:"evolution-bryophyte",title:t("evo_bryophyte_title"),desc:t("evo_bryophyte_desc"),reqs:{evo:5},grant:["evo",7],condition(){return!!(e.tech.evo_plant||e.tech.evo_fungi)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_bryophyte_effect"),action(){return _($(this)[0])?(e.evolution.final=100,e.tech.evo_fungi&&(e.tech.evo_fungi=2),e.tech.evo_plant&&(e.tech.evo_plant=2),!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0}},athropods:{id:"evolution-athropods",title:t("evo_athropods_title"),desc:t("evo_athropods_desc"),reqs:{evo:5,evo_insectoid:1},grant:["evo",7],condition(){return qt(5)},cost:{DNA(){return 260}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_athropods_effect")}
${t("evo_warn_unwise")}
`:t("evo_athropods_effect")},action(){return _($(this)[0])?(e.tech.evo_insectoid=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_insectoid")}},mammals:{id:"evolution-mammals",title:t("evo_mammals_title"),desc:t("evo_mammals_desc"),reqs:{evo:5,evo_mammals:1},grant:["evo",6],condition(){return e.tech.evo&&e.tech.evo===5},cost:{DNA(){return 245}},effect:t("evo_mammals_effect"),action(){return _($(this)[0])?(e.tech.evo_humanoid=1,e.tech.evo_giant=1,e.tech.evo_small=1,e.tech.evo_animalism=1,e.tech.evo_demonic=1,e.tech.evo_angelic=1,e.evolution.final=90,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0}},humanoid:{id:"evolution-humanoid",title:t("evo_humanoid_title"),desc:t("evo_humanoid_desc"),reqs:{evo:6,evo_humanoid:1},grant:["evo",7],condition(){return qt(6)},cost:{DNA(){return 260}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_humanoid_effect")}
${t("evo_warn_unwise")}
`:t("evo_humanoid_effect")},action(){return _($(this)[0])?(e.tech.evo_humanoid=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_humanoid")}},gigantism:{id:"evolution-gigantism",title:t("evo_gigantism_title"),desc:t("evo_gigantism_desc"),reqs:{evo:6,evo_giant:1},grant:["evo",7],condition(){return qt(6)},cost:{DNA(){return 260}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_gigantism_effect")}
${t("evo_warn_unwise")}
`:t("evo_gigantism_effect")},action(){return _($(this)[0])?(e.tech.evo_giant=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_giant")}},dwarfism:{id:"evolution-dwarfism",title:t("evo_dwarfism_title"),desc:t("evo_dwarfism_desc"),reqs:{evo:6,evo_small:1},grant:["evo",7],condition(){return qt(6)},cost:{DNA(){return 260}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_dwarfism_effect")}
${t("evo_warn_unwise")}
`:t("evo_dwarfism_effect")},action(){return _($(this)[0])?(e.tech.evo_small=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_small")}},animalism:{id:"evolution-animalism",title:t("evo_animalism_title"),desc:t("evo_animalism_desc"),reqs:{evo:6,evo_animalism:1},grant:["evo",7],condition(){return qt(6)&&e.tech.evo_animalism&&e.tech.evo_animalism===1},cost:{DNA(){return 250}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_animalism_effect")}
${t("evo_warn_unwise")}
`:t("evo_animalism_effect")},action(){return _($(this)[0])?(e.tech.evo_animalism=2,e.evolution.final=95,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6&&e.tech.evo_animalism===1?1:0}},carnivore:{id:"evolution-carnivore",title:t("evo_carnivore_title"),desc:t("evo_carnivore_desc"),reqs:{evo_animalism:2},grant:["evo_animalism",3],condition(){return qt(7)&&e.tech.evo_animalism&&e.tech.evo_animalism===2},cost:{DNA(){return 255}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_carnivore_effect")}
${t("evo_warn_unwise")}
`:t("evo_carnivore_effect")},action(){return _($(this)[0])?(e.tech.evo=7,e.tech.evo_carnivore=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===7&&e.tech.evo_animalism===2?1:0},emblem(){return at("genus_carnivore")}},herbivore:{id:"evolution-herbivore",title:t("evo_herbivore_title"),desc:t("evo_herbivore_desc"),reqs:{evo_animalism:2},grant:["evo_animalism",3],condition(){return qt(7)&&e.tech.evo_animalism&&e.tech.evo_animalism===2},cost:{DNA(){return 255}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_herbivore_effect")}
${t("evo_warn_unwise")}
`:t("evo_herbivore_effect")},action(){return _($(this)[0])?(e.tech.evo=7,e.tech.evo_herbivore=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===7&&e.tech.evo_animalism===2?1:0},emblem(){return at("genus_herbivore")}},omnivore:{id:"evolution-omnivore",title:t("evo_omnivore_title"),desc:t("evo_omnivore_desc"),reqs:{evo_animalism:2,locked:1},grant:["evo_animalism",3],condition(){return qt(7)&&e.tech.evo_animalism&&e.tech.evo_animalism===2},cost:{DNA(){return 255}},wiki:!1,effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_omnivore_effect")}
${t("evo_warn_unwise")}
`:t("evo_omnivore_effect")},action(){return _($(this)[0])?(e.tech.evo_omnivore=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===7&&e.tech.evo_animalism===2?1:0},emblem(){return at("genus_omnivore")}},celestial:{id:"evolution-celestial",title:t("evo_celestial_title"),desc:t("evo_celestial_desc"),reqs:{evo:6,evo_angelic:1},grant:["evo",7],condition(){return!!(e.city.biome==="eden"||e.blood.unbound&&e.blood.unbound>=3)&&qt(6)},cost:{DNA(){return 260}},effect(){return t("evo_celestial_effect")},action(){return _($(this)[0])?(e.tech.evo_angelic=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_angelic")}},demonic:{id:"evolution-demonic",title:t("evo_demonic_title"),desc:t("evo_demonic_desc"),reqs:{evo:6,evo_demonic:1},grant:["evo",7],condition(){return!!(e.city.biome==="hellscape"||e.blood.unbound&&e.blood.unbound>=3)&&qt(6)},cost:{DNA(){return 260}},effect(){return e.city.biome==="hellscape"&&e.race.universe==="evil"?`
${t("evo_demonic_effect")}
${t("evo_warn_unwise")}
`:t("evo_demonic_effect")},action(){return _($(this)[0])?(e.tech.evo_demonic=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_demonic")}},eldritch:{id:"evolution-eldritch",title:t("evo_eldritch_title"),desc:t("evo_eldritch_desc"),reqs:{evo:5,evo_eldritch:1},grant:["evo",7],condition(){return!!(e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_eldritch_effect"),action(){return _($(this)[0])?(e.tech.evo_eldritch=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_eldritch")}},aquatic:{id:"evolution-aquatic",title:t("evo_aquatic_title"),desc:t("evo_aquatic_desc"),reqs:{evo:5,evo_aquatic:1},grant:["evo",7],condition(){return!!(["oceanic","swamp"].includes(e.city.biome)||e.blood.unbound)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_aquatic_effect"),action(){return _($(this)[0])?(e.tech.evo_aquatic=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_aquatic")}},fey:{id:"evolution-fey",title:t("evo_fey_title"),desc:t("evo_fey_desc"),reqs:{evo:5,evo_fey:1},grant:["evo",7],condition(){return!!(["forest","swamp","taiga"].includes(e.city.biome)||e.blood.unbound)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_fey_effect"),action(){return _($(this)[0])?(e.tech.evo_fey=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_fey")}},heat:{id:"evolution-heat",title:t("evo_heat_title"),desc:t("evo_heat_desc"),reqs:{evo:5,evo_heat:1},grant:["evo",7],condition(){return!!(["volcanic","ashland"].includes(e.city.biome)||e.blood.unbound)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_heat_effect"),action(){return _($(this)[0])?(e.tech.evo_heat=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_heat")}},polar:{id:"evolution-polar",title:t("evo_polar_title"),desc:t("evo_polar_desc"),reqs:{evo:5,evo_polar:1},grant:["evo",7],condition(){return!!(["tundra","taiga"].includes(e.city.biome)||e.blood.unbound)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_polar_effect"),action(){return _($(this)[0])?(e.tech.evo_polar=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_polar")}},sand:{id:"evolution-sand",title:t("evo_sand_title"),desc:t("evo_sand_desc"),reqs:{evo:5,evo_sand:1},grant:["evo",7],condition(){return!!(["desert","ashland"].includes(e.city.biome)||e.blood.unbound)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_sand_effect"),action(){return _($(this)[0])?(e.tech.evo_sand=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_sand")}},eggshell:{id:"evolution-eggshell",title:t("evo_eggshell_title"),desc:t("evo_eggshell_desc"),reqs:{evo:5,evo_eggshell:1},grant:["evo",6],condition(){return e.tech.evo&&e.tech.evo===5&&!e.evolution.gselect},cost:{DNA(){return 245}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_eggshell_effect")}
${t("evo_warn_unwise")}
`:t("evo_eggshell_effect")},action(){return _($(this)[0])?(e.tech.evo_eggshell=2,e.evolution.final=90,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0}},endothermic:{id:"evolution-endothermic",title(){return e.evolution.gselect?t("genelab_genus_avian"):t("evo_endothermic_title")},desc:t("evo_endothermic_desc"),reqs:{evo:6,evo_eggshell:2},grant:["evo",7],condition(){return qt(6)},cost:{DNA(){return 260}},effect:t("evo_endothermic_effect"),action(){return _($(this)[0])?(e.tech.evo_avian=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_avian")}},ectothermic:{id:"evolution-ectothermic",title(){return e.evolution.gselect?t("genelab_genus_reptilian"):t("evo_ectothermic_title")},desc:t("evo_ectothermic_desc"),reqs:{evo:6,evo_eggshell:2},grant:["evo",7],condition(){return qt(6)},cost:{DNA(){return 260}},effect:t("evo_ectothermic_effect"),action(){return _($(this)[0])?(e.tech.evo_reptilian=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_reptilian")}},sentience:{id:"evolution-sentience",title:t("evo_sentience_title"),desc:t("evo_sentience_desc"),reqs:{evo:7},grant:["evo",8],condition(){return e.tech.evo&&e.tech.evo===7&&e.evolution.final===100},cost:{RNA(){return 300},DNA(){return 300}},effect(){return e.evolution.exterminate?t("evo_sentience_ai_effect"):t("evo_sentience_effect")},action(){if(_($(this)[0])){let r=[],a="humanoid";for(let i in xt)if(e.tech[`evo_${i}`]&&e.tech[`evo_${i}`]>=2){a=i;break}if(e.race.junker||e.race.sludge||e.race.ultra_sludge){let i=e.race.sludge?"sludge":e.race.ultra_sludge?"ultra_sludge":"junker";e.race.jtype=a,r.push(i)}else for(let i in yi){let s=yi[i];x[s].type===a&&r.push(s)}e.race.species=r[Math.floor(T(0,r.length))],e.stats.achieve[`extinct_${e.race.species}`]&&e.stats.achieve[`extinct_${e.race.species}`].l>=1&&(e.race.species=r[Math.floor(T(0,r.length))]),en()}return!1},emblem(){for(let r in yi){let a=yi[r];if(e.tech[`evo_${x[a].type}`]&&e.tech[`evo_${x[a].type}`]>=2)return at(`genus_${x[a].type}`)}return""},queue_complete(){return e.tech.evo&&e.tech.evo===7?1:0}}},city:{gift:{id:"city-gift",title:t("city_gift"),desc:t("city_gift_desc"),wiki:!1,category:"outskirts",reqs:{primitive:1},queue_complete(){return 0},not_tech:["santa"],not_trait:["cataclysm","lone_survivor"],class:["hgift"],condition(){let r=new Date;if(r.getMonth()!==11||r.getMonth()===11&&(r.getDate()<=16||r.getDate()>=25)){let a=!1;return e.special&&e.special.gift&&Object.keys(e.special.gift).forEach(function(i){e.special.gift[i]&&(a=!0)}),a}return!1},count(){let r=0;return e.special&&e.special.gift&&Object.keys(e.special.gift).forEach(function(a){e.special.gift[a]&&r++}),r},action(){if(!e.settings.pause){let r=new Date,a=!1;if(e.special&&e.special.gift&&Object.keys(e.special.gift).forEach(function(i){e.special.gift[i]&&(a=i)}),r.getMonth()!==11||r.getMonth()===11&&(r.getDate()<=16||r.getDate()>=25)){if(a==="g2019")e.special&&e.special.gift&&(delete e.special.gift[a],e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=100,e.stats.antiplasmid+=100,I(t("city_gift_msg",[100,t("arpa_genepool_effect_antiplasmid")]),"info",!1,["events"])):(e.prestige.Plasmid.count+=100,e.stats.plasmid+=100,I(t("city_gift_msg",[100,t("arpa_genepool_effect_plasmid")]),"info",!1,["events"])),Ht());else if(e.special&&e.special.gift){delete e.special.gift[a];let i=e.stats.hasOwnProperty("reset")?e.stats.reset:0,s=e.stats.hasOwnProperty("mad")?e.stats.mad:0,n=e.stats.hasOwnProperty("bioseed")?e.stats.bioseed:0,c=e.stats.hasOwnProperty("cataclysm")?e.stats.cataclysm:0,o=100+i+s,l=n+c,u=[];if(e.stats.died+e.stats.tdied>0){let p=e.stats.died+e.stats.tdied;e.resource.Coal.amount+=p,u.push(`${p.toLocaleString()} ${t("resource_Coal_name")}`)}if(e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o,e.stats.antiplasmid+=o,u.push(`${o.toLocaleString()} ${t("resource_AntiPlasmid_plural_name")}`)):(e.prestige.Plasmid.count+=o,e.stats.plasmid+=o,u.push(`${o.toLocaleString()} ${t("resource_Plasmid_plural_name")}`)),l>0&&(e.prestige.Phage.count+=l,e.stats.phage+=l,u.push(`${l.toLocaleString()} ${t("resource_Phage_name")}`)),e.stats.hasOwnProperty("achieve")){let p=e.stats.achieve.whitehole?e.stats.achieve.whitehole.l:0;p+=e.stats.achieve.heavy?e.stats.achieve.heavy.l:0,p+=e.stats.achieve.canceled?e.stats.achieve.canceled.l:0,p+=e.stats.achieve.eviltwin?e.stats.achieve.eviltwin.l:0,p+=e.stats.achieve.microbang?e.stats.achieve.microbang.l:0,p+=e.stats.achieve.pw_apocalypse?e.stats.achieve.pw_apocalypse.l:0;let h=e.stats.achieve.ascended?e.stats.achieve.ascended.l:0,d=e.stats.achieve.corrupted?e.stats.achieve.corrupted.l:0,g=e.stats.achieve.obsolete?e.stats.achieve.obsolete.l:0;if(p>30&&(p=30),h>5&&(h=5),d>5&&(d=5),p>0){let w=+(p/7.5).toFixed(2);e.prestige.Dark.count+=w,e.stats.dark+=w,u.push(`${w} ${t("resource_Dark_name")}`)}if(h>0&&(e.prestige.Harmony.count+=h,e.stats.harmony+=h,u.push(`${h} ${t("resource_Harmony_name")}`)),d>0){let w=d*5,k=d;e.prestige.Blood_Stone.count+=w,e.stats.blood+=w,e.prestige.Artifact.count+=k,e.stats.artifact+=k,u.push(`${w} ${t("resource_Blood_Stone_name")}`),u.push(`${k} ${t("resource_Artifact_name")}`)}a!=="g2020"&&g>0&&(e.prestige.AICore.count+=g,e.stats.cores+=g,u.push(`${g} ${t("resource_AICore_name")}`))}I(t("city_gift2_msg",[u.join(", ")]),"info",!1,["events"]),Ht()}}}return!1},touchlabel:t("open")},food:{id:"city-food",title(){return Dt().active?e.tech.conjuring?t("city_trick_conjure"):t("city_trick"):e.tech.conjuring?t("city_food_conjure"):t("city_food")},desc(){let r=$(this)[0].val(!1),a=Dt();return e.race.fasting?t("city_food_fasting"):a.active?e.tech.conjuring?t("city_trick_conjure_desc",[r]):t("city_trick_desc",[r]):e.tech.conjuring?t("city_food_conjure_desc",[r]):t("city_food_desc",[r])},category:"outskirts",reqs:{primitive:1},not_trait:["cataclysm","artifical"],condition(){return Dt()&&e.race.soul_eater&&!e.race.evil?!0:!e.race.soul_eater},queue_complete(){return 0},cost:{Mana(){return e.tech.conjuring?1:0}},action(){return e.settings.pause||(e.resource.Food.amount=1&&(a*=10,e.resource.Food.amount=2?t("city_dig_conjour"):t("city_dig"):e.tech.conjuring&&e.tech.conjuring>=2?t("city_lumber_conjure"):t("city_lumber")},desc(){let r=$(this)[0].val(!1);return Dt().active?e.tech.conjuring&&e.tech.conjuring>=2?t("city_dig_conjour_desc",[r]):t("city_dig_desc",[r]):e.tech.conjuring&&e.tech.conjuring>=2?t("city_lumber_conjure_desc",[r]):t("city_lumber_desc",[r])},category:"outskirts",reqs:{},not_trait:["evil","cataclysm"],queue_complete(){return 0},cost:{Mana(){return e.tech.conjuring&&e.tech.conjuring>=2?1:0}},action(){return e.settings.pause||(e.resource.Lumber.amount=2&&e.resource.Mana.amount>=1&&(a*=10,e.resource.Lumber.amount=2?t("city_conjour",[e.resource.Stone.name]):t("city_gather",[e.resource.Stone.name])},desc(){let r=$(this)[0].val(!1);return e.tech.conjuring&&e.tech.conjuring>=2?t("city_stone_conjour_desc",[r,e.resource.Stone.name]):t(e.race.sappy?"city_amber_desc":"city_stone_desc",[r,e.resource.Stone.name])},category:"outskirts",reqs:{primitive:2},not_trait:["cataclysm","lone_survivor"],queue_complete(){return 0},cost:{Mana(){return e.tech.conjuring&&e.tech.conjuring>=2?1:0}},action(){return e.settings.pause||(e.resource.Stone.amount=2&&e.resource.Mana.amount>=1&&(a*=10,e.resource.Stone.amount=2?t("city_chrysotile_conjour"):t("city_gather",[e.resource.Chrysotile.name])},desc(){let r=$(this)[0].val(!1);return e.tech.conjuring&&e.tech.conjuring>=2?t("city_stone_conjour_desc",[r,e.resource.Chrysotile.name]):t("city_stone_desc",[r,e.resource.Chrysotile.name])},category:"outskirts",reqs:{primitive:2},trait:["smoldering"],not_trait:["cataclysm","lone_survivor"],queue_complete(){return 0},cost:{Mana(){return e.tech.conjuring&&e.tech.conjuring>=2?1:0}},action(){return e.settings.pause||e.resource.Chrysotile.amount=2&&e.resource.Mana.amount>=1&&(a*=10,e.resource.Chrysotile.amounte.resource.Slave.amount&&_($(this)[0])?(e.resource.Slave.amount++,!0):!1},touchlabel:t("purchase")},s_alter:{id:"city-s_alter",title:t("city_s_alter"),desc(){return e.city.hasOwnProperty("s_alter")&&e.city.s_alter.count>=1?`
${t("city_s_alter")}
${t("city_s_alter_desc")}
`:t("city_s_alter")},category:"outskirts",reqs:{mining:1},trait:["cannibalize"],not_trait:["cataclysm","lone_survivor"],inflation:!1,cost:{Stone(r){return(r||0)+(e.city.hasOwnProperty("s_alter")?e.city.s_alter.count:0)>=1?0:100}},effect(){let r=e.civic[e.civic.d_job]?e.civic[e.civic.d_job].workers:0,a=`
${t("city_s_alter_sacrifice",[r])}
`;if(e.city.hasOwnProperty("s_alter")&&e.city.s_alter.rage>0&&(a=a+`
${t("city_s_alter_rage",[v.cannibalize.vars()[0],ut(e.city.s_alter.rage)])}
`),e.city.hasOwnProperty("s_alter")&&e.city.s_alter.regen>0&&(a=a+`
${t("city_s_alter_regen",[v.cannibalize.vars()[0],ut(e.city.s_alter.regen)])}
`),e.city.hasOwnProperty("s_alter")&&e.city.s_alter.mind>0&&(a=a+`
${t("city_s_alter_mind",[v.cannibalize.vars()[0],ut(e.city.s_alter.mind)])}
`),e.city.hasOwnProperty("s_alter")&&e.city.s_alter.mine>0&&(a=a+`
${t("city_s_alter_mine",[v.cannibalize.vars()[0],ut(e.city.s_alter.mine)])}
`),e.city.hasOwnProperty("s_alter")&&e.city.s_alter.harvest>0){let i=e.race.evil&&!e.race.soul_eater?t("job_reclaimer"):t("job_lumberjack");a=a+`
${t("city_s_alter_harvest",[v.cannibalize.vars()[0],ut(e.city.s_alter.harvest),i])}
`}return a},action(){if(_($(this)[0])){if(e.city.s_alter.count===0)S("s_alter","city");else if(e.civic[e.civic.d_job].workers>0){e.resource[e.race.species].amount--,e.civic[e.civic.d_job].workers--,e.stats.sac++,Br(1),yt("Food",Math.rand(250,1e3),!0);let a=300,i=600;if(e.tech.sacrifice)switch(e.tech.sacrifice){case 1:a=600,i=1500;break;case 2:a=1800,i=3600;break;case 3:a=5400,i=16200;break}switch(e.race.kindling_kindred||e.race.smoldering?Math.rand(0,4):Math.rand(0,5)){case 0:e.city.s_alter.rage+=Math.rand(a,i);break;case 1:e.city.s_alter.mind+=Math.rand(a,i);break;case 2:e.city.s_alter.regen+=Math.rand(a,i);break;case 3:e.city.s_alter.mine+=Math.rand(a,i);break;case 4:e.city.s_alter.harvest+=Math.rand(a,i);break}}return!0}return!1},struct(){return{d:{count:0,rage:0,mind:0,regen:0,mine:0,harvest:0},p:["s_alter","city"]}},touchlabel:t("tech_dist_sacrifice")},basic_housing:{id:"city-basic_housing",title(){return Oe("small")},desc(){return $(this)[0].citizens()===1?t("city_basic_housing_desc"):t("city_basic_housing_desc_plural",[$(this)[0].citizens()])},category:"residential",reqs:{housing:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.basic_housing?e.city.basic_housing.count:0)+r>=5?F("basic_housing",r,20,1.17):0},Lumber(r){return e.race.kindling_kindred||e.race.smoldering?0:F("basic_housing",r,10,1.23)},Stone(r){return e.race.kindling_kindred?F("basic_housing",r,10,1.23):0},Chrysotile(r){return e.race.smoldering?F("basic_housing",r,10,1.23):0},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=$(this)[0].citizens();return e.race.sappy?`
${t("plus_max_resource",[r,t("citizen")])}
${t("city_grove_effect",[2.5])}
`:t("plus_max_resource",[r,t("citizen")])},action(){return _($(this)[0])?(e.resource[e.race.species].display=!0,e.resource[e.race.species].max+=$(this)[0].citizens(),S($(this)[0]),e.settings.showCivic=!0,!0):!1},struct(){return{d:{count:0},p:["basic_housing","city"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},cottage:{id:"city-cottage",title(){return Oe("medium")},desc(){return t("city_cottage_desc",[$(this)[0].citizens()])},category:"residential",reqs:{housing:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("cottage",r,900,1.15)},Plywood(r){return F("cottage",r,25,1.25)},Brick(r){return F("cottage",r,20,1.25)},Wrought_Iron(r){return F("cottage",r,15,1.25)},Iron(r){return e.city.ptrait.includes("unstable")?F("cottage",r,5,1.25):0},Horseshoe(){return e.race.hooved?2:0}},effect(){let r=$(this)[0].citizens();if(e.tech.home_safe){let a=G(e.tech.home_safe>=2?e.tech.home_safe>=3?5e3:2e3:1e3);return`
${t("plus_max_citizens",[r])}
${t("plus_max_resource",[`$${a.toLocaleString()}`,t("resource_Money_name")])}
`}else return t("plus_max_citizens",[r])},action(){return _($(this)[0])?(e.resource[e.race.species].max+=$(this)[0].citizens(),S("cottage","city"),!0):!1},struct(){return{d:{count:0},p:["cottage","city"]}},citizens(){let r=2;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},apartment:{id:"city-apartment",title(){return Oe("large")},desc(){return`
${t("city_apartment_desc",[$(this)[0].citizens()])}
${t("requires_power")}
`},category:"residential",reqs:{housing:3},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("apartment",r,1750,1.26)-500},Crystal(r){return e.race.universe==="magic"?F("apartment",r,25,1.22):0},Furs(r){return F("apartment",r,725,1.32)-500},Copper(r){return F("apartment",r,650,1.32)-500},Cement(r){return F("apartment",r,700,1.32)-500},Steel(r){return F("apartment",r,800,1.32)-500},Horseshoe(){return e.race.hooved?5:0}},effect(){let r=Q("extravagant",2),a=$(this)[0].citizens();if(e.tech.home_safe){let i=G(e.tech.home_safe>=2?e.tech.home_safe>=3?1e4:5e3:2e3);return r&&(i*=2),`
${t("plus_max_citizens",[a])}. ${t("minus_power",[$(this)[0].powered()])}
${t("plus_max_resource",[`$${i.toLocaleString()}`,t("resource_Money_name")])}
`}else return`${t("plus_max_citizens",[a])}. ${t("minus_power",[$(this)[0].powered()])}`},powered(){let r=Q("extravagant",1);return V(r||1)},action(){return _($(this)[0])?(S("apartment","city"),L($(this)[0])&&(e.resource[e.race.species].max+=$(this)[0].citizens()),!0):!1},struct(){return{d:{count:0,on:0},p:["apartment","city"]}},citizens(){let r=Q("extravagant",2),a=r?5+r:5;return e.race.high_pop&&(a*=v.high_pop.vars()[0]),a}},lodge:{id:"city-lodge",title:t("city_lodge"),desc(){return e.race.detritivore?t("city_lodge_desc_alt"):t("city_lodge_desc")},category:"residential",reqs:{housing:1,currency:1},not_trait:["cataclysm","lone_survivor"],condition(){return!!((e.race.soul_eater||e.race.detritivore||e.race.artifical||e.race.unfathomable)&&e.tech.s_lodge||e.tech.hunting&&e.tech.hunting>=2)},cost:{Money(r){return F("lodge",r,50,1.32)},Lumber(r){return F("lodge",r,20,1.36)},Stone(r){return F("lodge",r,10,1.36)},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=$(this)[0].citizens();return e.race.carnivore&&!e.race.artifical?`
${t("plus_max_resource",[r,t("citizen")])}
${t("city_lodge_effect",[5])}
`:t("plus_max_resource",[r,t("citizen")])},action(){return _($(this)[0])?(S("lodge","city"),e.resource[e.race.species].display=!0,e.resource[e.race.species].max+=1,e.settings.showCivic=!0,!0):!1},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r},struct(){return{d:{count:0},p:["lodge","city"]}}},smokehouse:{id:"city-smokehouse",title(){return e.race.hrt&&["wolven","vulpine"].includes(e.race.hrt)?t("city_smokehouse_easter"):t("city_smokehouse")},desc:t("city_smokehouse_desc"),category:"trade",reqs:{hunting:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("smokehouse",r,85,1.32)},Lumber(r){return F("smokehouse",r,65,1.36)},Stone(r){return F("smokehouse",r,50,1.36)}},effect(){let r=rr(G(100));return`
${t("plus_max_resource",[r,t("resource_Food_name")])}
${t("city_smokehouse_effect",[10])}
`},action(){return _($(this)[0])?(S("smokehouse","city"),e.resource.Food.max+=rr(G(100)),!0):!1},struct(){return{d:{count:0},p:["smokehouse","city"]}}},soul_well:{id:"city-soul_well",title:t("city_soul_well"),desc:t("city_soul_well_desc"),category:"trade",reqs:{soul_eater:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.soul_well?e.city.soul_well.count:0)+r>=3?F("soul_well",r,50,1.32):0},Lumber(r){return F("soul_well",r,20,1.36)},Stone(r){return F("soul_well",r,10,1.36)}},effect(){let r=rr(G(500)),a=e.race.ghostly?2+v.ghostly.vars()[1]:2;return`
${t("city_soul_well_effect",[a])}
${t("plus_max_resource",[r,t("resource_Souls_name")])}
`},action(){return _($(this)[0])?(S("soul_well","city"),e.resource.Food.max+=rr(G(500)),!0):!1},struct(){return{d:{count:0},p:["soul_well","city"]}}},slave_pen:{id:"city-slave_pen",title(){return t("city_slave_housing",[e.resource.Slave.name])},desc(){return t("city_slave_housing",[e.resource.Slave.name])},category:"commercial",reqs:{slaves:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("slave_pen",r,250,1.32)},Lumber(r){return F("slave_pen",r,100,1.36)},Stone(r){return F("slave_pen",r,75,1.36)},Copper(r){return F("slave_pen",r,10,1.36)},Nanite(r){return e.race.deconstructor?F("slave_pen",r,4,1.36):0}},effect(){return`
${t("plus_max_resource",[4,e.resource.Slave.name])}
`},action(){return _($(this)[0])?(S("slave_pen","city"),e.resource.Slave.display=!0,e.resource.Slave.max=e.city.slave_pen.count*4,!0):!1},struct(){return{d:{count:0},p:["slave_pen","city"]}}},transmitter:{id:"city-transmitter",title:t("city_transmitter"),desc(){return`
${t("city_transmitter_desc")}
${t("requires_power")}
`},category:"residential",reqs:{high_tech:4},trait:["artifical"],cost:{Money(r){return e.city.transmitter&&e.city.transmitter.count>=3?F("transmitter",r,50,1.32):0},Copper(r){return F("transmitter",r,20,1.36)},Steel(r){return F("transmitter",r,10,1.36)}},effect(){let r=+ie("transmitter").toFixed(2),a=G(100);return`
${t("gain",[r,e.resource.Food.name])}
${t("city_transmitter_effect",[a])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(.5)},powerBalancer(){return[{r:"Food",k:"lpmod"}]},action(){return _($(this)[0])?(S("transmitter","city"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["transmitter","city"]}}},captive_housing:zt("captive_housing","city"),farm:{id:"city-farm",title(){return Ce("farm")},desc:t("city_farm_desc"),category:"residential",reqs:{agriculture:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.farm?e.city.farm.count:0)+r>=3?F("farm",r,50,1.32):0},Lumber(r){return F("farm",r,20,1.36)},Stone(r){return F("farm",r,10,1.36)},Horseshoe(r){return e.race.hooved&&(e.city.farm?e.city.farm.count:0)+(r||0)>=2?1:0}},effect(){let r=$(this)[0].citizens();return e.tech.farm?`
${t("city_farm_effect")}
${t("plus_max_resource",[r,t("citizen")])}
`:t("city_farm_effect")},action(){return _($(this)[0])?(S("farm","city"),e.race.fasting?(e.civic.farmer.display=!1,e.civic.farmer.assigned=0):e.civic.farmer.display=!0,e.tech.farm&&(e.resource[e.race.species].display=!0,e.resource[e.race.species].max+=$(this)[0].citizens(),e.settings.showCivic=!0),!0):!1},struct(){return{d:{count:0},p:["farm","city"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r},flair(){return e.tech.agriculture>=7?t("city_farm_flair2"):t("city_farm_flair1")}},compost:{id:"city-compost",title:t("city_compost_heap"),desc:t("city_compost_heap_desc"),category:"residential",reqs:{compost:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.compost?e.city.compost.count:0)+r>=3?F("compost",r,50,1.32):0},Lumber(r){return F("compost",r,12,1.36)},Stone(r){return F("compost",r,12,1.36)}},effect(){let r=1.2+(e.tech.compost?e.tech.compost:0)*.8;r*=e.city.biome==="grassland"?xe.grassland.vars()[0]:1,r*=e.city.biome==="savanna"?xe.savanna.vars()[0]:1,r*=e.city.biome==="ashland"?xe.ashland.vars()[0]:1,r*=e.city.biome==="volcanic"?xe.volcanic.vars()[0]:1,r*=e.city.biome==="hellscape"?xe.hellscape.vars()[0]:1,r*=e.city.ptrait.includes("trashed")?Ie.trashed.vars()[0]:1,r=+r.toFixed(2);let a=rr(G(200)),i=e.race.kindling_kindred||e.race.smoldering?"":`
${t("city_compost_heap_effect2",[.5,e.resource.Lumber.name])}
`;return`
${t("city_compost_heap_effect",[r])}
${t("city_compost_heap_effect3",[a])}
${i}`},switchable(){return!0},action(){return _($(this)[0])?(S("compost","city"),e.city.compost.on++,e.resource.Food.max+=rr(G(200)),!0):!1},struct(){return{d:{count:0,on:0},p:["compost","city"]}}},mill:{id:"city-mill",title(){return e.tech.agriculture>=5?Ce("windmill"):t("city_mill_title1")},desc(){let r=e.tech.agriculture>=5?5:3;if(e.tech.agriculture>=6){let a=$(this)[0].powered()*-1;return t("city_mill_desc2",[r,a])}else return t("city_mill_desc1",[r])},category:"utility",reqs:{agriculture:4},not_tech:["wind_plant"],not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("mill",r,1e3,1.31)},Lumber(r){return F("mill",r,600,1.33)},Iron(r){return F("mill",r,150,1.33)},Cement(r){return F("mill",r,125,1.33)}},powered(){return e.race.environmentalist?-1.5:-1},power_reqs:{agriculture:6},effect(){return e.tech.agriculture>=6?`${t("city_on")} ${t("city_mill_effect1")} ${t("city_off")} ${t("city_mill_effect2")}`:!1},action(){return _($(this)[0])?(S("mill","city"),!0):!1},struct(){return{d:{count:0,on:0},p:["mill","city"]}}},windmill:{id:"city-windmill",title(){return e.race.unfathomable?t("tech_watermill"):Ce("windmill")},desc(){return e.race.unfathomable?t("tech_watermill"):Ce("windmill")},wiki:!1,category:"utility",reqs:{wind_plant:1},not_trait:["cataclysm","lone_survivor"],powered(){return e.race.environmentalist?-1.5:-1},power_reqs:{false:1},cost:{Money(r){return F("windmill",r,1e3,1.31)},Lumber(r){return F("windmill",r,600,1.33)},Iron(r){return F("windmill",r,150,1.33)},Cement(r){return F("windmill",r,125,1.33)}},effect(){let r=$(this)[0].powered()*-1;return`
${t("space_dwarf_reactor_effect1",[r])}
`},action(){return _($(this)[0])?(S("windmill","city"),!0):!1},struct(){return{d:{count:0,on:0},p:["windmill","city"]}}},silo:{id:"city-silo",title:t("city_silo"),desc:t("city_food_storage"),category:"trade",reqs:{agriculture:3},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("silo",r,85,1.32)},Lumber(r){return F("silo",r,65,1.36)},Stone(r){return F("silo",r,50,1.36)},Iron(r){return(e.city.silo?e.city.silo.count:0)+(r||0)>=4&&e.city.ptrait.includes("unstable")?F("silo",r,10,1.36):0}},effect(){let r=rr(G(500));return t("plus_max_resource",[r,t("resource_Food_name")])},action(){return _($(this)[0])?(S("silo","city"),e.resource.Food.max+=rr(G(500)),!0):!1},struct(){return{d:{count:0},p:["silo","city"]}}},assembly:zt("assembly","city"),garrison:{id:"city-garrison",title(){return e.race.flier?t("city_garrison_flier"):t("city_garrison")},desc:t("city_garrison_desc"),category:"military",reqs:{military:1,housing:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("garrison",r,240,1.5)},Stone(r){return F("garrison",r,260,1.46)},Iron(r){return(e.city.garrison?e.city.garrison.count:0)+(r||0)>=4&&e.city.ptrait.includes("unstable")?F("garrison",r,50,1.4):0},Horseshoe(){return e.race.hooved?e.race.chameleon?1:2:0}},effect(){let r=$(this)[0].soldiers();return t("plus_max_resource",[r,t("civics_garrison_soldiers")])},switchable(){return!0},action(){return _($(this)[0])?(e.settings.showMil=!0,e.settings.msgFilters.combat.unlocked||(e.settings.msgFilters.combat.unlocked=!0,e.settings.msgFilters.combat.vis=!0),e.civic.garrison.display||(e.civic.garrison.display=!0,C({el:"#garrison"},"update"),C({el:"#c_garrison"},"update")),e.civic.garrison.max+=$(this)[0].soldiers(),S("garrison","city"),e.city.garrison.on++,e.resource.Furs.display=!0,!0):!1},struct(){return{d:{count:0,on:0},p:["garrison","city"]}},soldiers(){let r=e.tech.military>=5?3:2;return e.race.chameleon&&r--,e.race.grenadier&&r--,r<=0?1:E(r)}},hospital:{id:"city-hospital",title(){return Ce("hospital")},desc:t("city_hospital_desc"),category:"military",reqs:{medic:1},not_trait:["cataclysm","artifical"],cost:{Money(r){return F("hospital",r,22e3,1.32)},Furs(r){return F("hospital",r,4e3,1.32)},Iron(r){return e.city.ptrait.includes("unstable")?F("hospital",r,500,1.32):0},Aluminium(r){return F("hospital",r,1e4,1.32)}},effect(){let r=e.tech.reproduction&&e.tech.reproduction>=2?`
${t("city_hospital_effect2")}
`:"",a=e.tech.medic*5,i=`
${t("city_hospital_effect",[a])}
${r}`;return!e.race.artifical&&e.race.hasOwnProperty("vax")&&(i=i+`
${t("tau_home_disease_lab_vax",[+e.race.vax.toFixed(2)])}
`),i},action(){return _($(this)[0])?(S("hospital","city"),!0):!1},struct(){return{d:{count:0},p:["hospital","city"]}}},boot_camp:{id:"city-boot_camp",title(){return e.race.artifical?t("city_boot_camp_art"):t("city_boot_camp")},desc(){return e.race.artifical?t("city_boot_camp_art_desc",[x[e.race.species].name]):t("city_boot_camp_desc")},category:"military",reqs:{boot_camp:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("boot_camp",r,5e4,1.32)},Lumber(r){return F("boot_camp",r,21500,1.32)},Iron(r){return e.city.ptrait.includes("unstable")?F("boot_camp",r,300,1.32):0},Aluminium(r){return F("boot_camp",r,12e3,1.32)},Brick(r){return F("boot_camp",r,1400,1.32)}},effect(){let r=e.tech.boot_camp>=2?8:5;e.blood.lust&&(r+=e.blood.lust*.2);let a=Q("militant",0);a&&(r*=1+a/100);let i=e.tech.spy&&e.tech.spy>=3?`
${t("city_boot_camp_effect",[r])}
${t("city_boot_camp_effect2",[10])}
`:`
${t("city_boot_camp_effect",[r])}
`;if(e.race.artifical&&!e.race.orbit_decayed){let s=e.tech.medic||1;i+=`
${t("city_boot_camp_art_effect",[s*5])}
`}return e.race.artifical&&e.race.hasOwnProperty("vax")&&(i+=`
${t("tau_home_disease_lab_vax",[+e.race.vax.toFixed(2)])}
`),i},action(){return _($(this)[0])?(S("boot_camp","city"),!0):!1},struct(){return{d:{count:0},p:["boot_camp","city"]}}},shed:{id:"city-shed",title(){return e.tech.storage<=2?t("city_shed_title1"):e.tech.storage>=4?t("city_shed_title3"):t("city_shed_title2")},desc(){let r=e.tech.storage>=3?e.tech.storage>=4?t("city_shed_desc_size3"):t("city_shed_desc_size2"):t("city_shed_desc_size1");return t("city_shed_desc",[r])},category:"trade",reqs:{storage:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("shed",r,75,1.22)},Lumber(r){return e.tech.storage&&e.tech.storage<4?F("shed",r,55,1.32):0},Stone(r){return e.tech.storage&&e.tech.storage<3?F("shed",r,45,1.32):0},Iron(r){return e.tech.storage&&e.tech.storage>=4?F("shed",r,22,1.32):0},Cement(r){return e.tech.storage&&e.tech.storage>=3?F("shed",r,18,1.32):0}},res(){let r=["Lumber","Stone","Chrysotile","Crystal","Furs","Copper","Iron","Aluminium","Cement","Coal"];return e.tech.storage>=3&&e.resource.Steel.display&&r.push("Steel"),e.tech.storage>=4&&e.resource.Titanium.display&&r.push("Titanium"),e.tech.shelving&&e.tech.shelving>=3&&e.resource.Graphene.display&&r.push("Graphene"),e.tech.shelving&&e.tech.shelving>=3&&e.resource.Stanene.display&&r.push("Stanene"),e.race.unfathomable&&r.push("Food"),r},val(r){switch(r){case"Food":return 50;case"Lumber":return 300;case"Stone":return 300;case"Chrysotile":return 300;case"Crystal":return 8;case"Furs":return 125;case"Copper":return 90;case"Iron":return 125;case"Aluminium":return 90;case"Cement":return 100;case"Coal":return 75;case"Steel":return 40;case"Titanium":return 20;case"Graphene":return 15;case"Stanene":return 25;default:return 0}},effect(r){let a='
',i=Pa(r);for(let s of $(this)[0].res())if(e.resource[s].display){let n=X(+(G($(this)[0].val(s))*i).toFixed(0),1);a=a+`${t("plus_max_resource",[n,e.resource[s].name])}`}return a=a+"
",a},wide:!0,action(){if(_($(this)[0])){S("shed","city");let r=Pa();for(let a of $(this)[0].res())e.resource[a].display&&(e.resource[a].max+=G($(this)[0].val(a)*r));return!0}return!1},struct(){return{d:{count:0},p:["shed","city"]}}},storage_yard:{id:"city-storage_yard",title(){return Ce("storage_yard")},desc:t("city_storage_yard_desc"),category:"trade",reqs:{container:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("storage_yard",r,10,gi(1.36))},Brick(r){return F("storage_yard",r,3,gi(1.35))},Wrought_Iron(r){return F("storage_yard",r,5,gi(1.35))}},effect(){let r=e.tech.container>=3?20:10;return e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=1&&(r+=10),e.tech.world_control&&(r+=10),e.tech.particles&&e.tech.particles>=2&&(r*=2),e.tech.trade&&e.tech.trade>=3?`
${t("plus_max_resource",[r,t("resource_Crates_name")])}
${t("city_trade_effect",[1])}
`:t("plus_max_resource",[r,t("resource_Crates_name")])},action(){if(_($(this)[0])){S("storage_yard","city");let r=e.tech.container>=3?20:10;return e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=1&&(r+=10),e.tech.world_control&&(r+=10),e.tech.particles&&e.tech.particles>=2&&(r*=2),e.resource.Crates.max+=r,e.resource.Crates.display||Yo(),!0}return!1},struct(){return{d:{count:0},p:["storage_yard","city"]}}},warehouse:{id:"city-warehouse",title:t("city_warehouse"),desc:t("city_warehouse_desc"),category:"trade",reqs:{steel_container:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("warehouse",r,400,gi(1.26))},Cement(r){return F("warehouse",r,75,gi(1.26))},Sheet_Metal(r){return F("warehouse",r,25,gi(1.25))}},effect(){let r=e.tech.steel_container>=2?20:10;return e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=2&&(r+=10),e.tech.world_control&&(r+=10),e.tech.particles&&e.tech.particles>=2&&(r*=2),t("plus_max_resource",[r,t("resource_Containers_name")])},action(){if(_($(this)[0])){S("warehouse","city");let r=e.tech.steel_container>=2?20:10;return e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=2&&(r+=10),e.tech.world_control&&(r+=10),e.tech.particles&&e.tech.particles>=2&&(r*=2),e.resource.Containers.max+=r,e.resource.Containers.display||wr(),!0}return!1},struct(){return{d:{count:0},p:["warehouse","city"]}}},bank:{id:"city-bank",title:t("city_bank"),desc(){let r=x[e.race.species].home;return t("city_bank_desc",[r])},category:"commercial",reqs:{banking:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("bank",r,ee("untrustworthy",250),1.35)},Lumber(r){return F("bank",r,ee("untrustworthy",75),1.32)},Stone(r){return F("bank",r,ee("untrustworthy",100),1.35)},Iron(r){return(e.city.bank?e.city.bank.count:0)+(r||0)>=2&&e.city.ptrait.includes("unstable")?F("bank",r,ee("untrustworthy",30),1.3):0}},effect(){let r=kr();return r=G(r),r=(+r.toFixed(0)).toLocaleString(),e.tech.banking>=2?`
${t("plus_max_resource",[`$${r}`,t("resource_Money_name")])}
${t("plus_max_resource",[E(1),t("banker_name")])}
`:t("plus_max_resource",[`$${r}`,t("resource_Money_name")])},action(){return _($(this)[0])?(e.resource.Money.max+=G(1800),S("bank","city"),e.civic.banker.max=E(e.city.bank.count),!0):!1},struct(){return{d:{count:0},p:["bank","city"]}}},pylon:{id:"city-pylon",title:t("city_pylon"),desc:t("city_pylon"),category:"industrial",reqs:{magic:2},not_trait:["cataclysm","orbit_decayed"],cost:{Money(r){return r=r||0,(e.city.pylon?e.city.pylon.count:0)+r>=2?F("pylon",r,10,1.48):0},Stone(r){return F("pylon",r,12,1.42)},Crystal(r){return F("pylon",r,8,1.42)-3}},effect(){let r=G(5),a=+(.01*Me("magic")).toFixed(3);return`
${t("gain",[a,e.resource.Mana.name])}
${t("plus_max_resource",[r,e.resource.Mana.name])}
`},special(){return!!(e.tech.magic&&e.tech.magic>=3)},action(){return _($(this)[0])?(S("pylon","city"),e.resource.Mana.max+=G(5),!0):!1},struct(){return{d:{count:0},p:["pylon","city"]}}},conceal_ward:{id:"city-conceal_ward",title:t("city_conceal_ward"),desc:t("city_conceal_ward"),category:"industrial",reqs:{roguemagic:3},not_trait:["cataclysm","orbit_decayed"],cost:{Money(r){return F("conceal_ward",r,500,1.25)},Mana(r){return F("conceal_ward",r,r_(42),1.25)},Crystal(r){return F("conceal_ward",r,5,1.25)}},effect(){let r=e.tech.roguemagic&&e.tech.roguemagic>=8?1.25:1;return`
${t("city_conceal_ward_effect",[r])}
`},action(){return _($(this)[0])?(S("conceal_ward","city"),!0):!1},struct(){return{d:{count:0},p:["conceal_ward","city"]}}},graveyard:{id:"city-graveyard",title:t("city_graveyard"),desc:t("city_graveyard_desc"),category:"industrial",reqs:{reclaimer:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.graveyard?e.city.graveyard.count:0)+r>=5?F("graveyard",r,5,1.85):0},Lumber(r){return F("graveyard",r,2,1.95)},Stone(r){return F("graveyard",r,6,1.9)}},effect(){let r=rr(G(100));return`
${t("city_graveyard_effect",[8])}
${t("plus_max_resource",[r,e.resource.Lumber.name])}
`},action(){return _($(this)[0])?(S("graveyard","city"),e.resource.Lumber.max+=rr(G(100)),!0):!1},struct(){return{d:{count:0},p:["graveyard","city"]}}},lumber_yard:{id:"city-lumber_yard",title(){return Ce("lumberyard")},desc(){return Ce("lumberyard")},category:"industrial",reqs:{axe:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.lumber_yard?e.city.lumber_yard.count:0)+r>=5?F("lumber_yard",r,5,1.85):0},Lumber(r){return F("lumber_yard",r,6,1.9)},Stone(r){return F("lumber_yard",r,2,1.95)}},effect(){let r=rr(G(100));return`
${t("production",[2,e.resource.Lumber.name])}
${t("plus_max_resource",[r,e.resource.Lumber.name])}
`},action(){return _($(this)[0])?(S("lumber_yard","city"),e.civic.lumberjack.display=!0,e.resource.Lumber.max+=rr(G(100)),!0):!1},struct(){return{d:{count:0},p:["lumber_yard","city"]}}},sawmill:{id:"city-sawmill",title(){return Ce("sawmill")},desc(){return Ce("sawmill")},category:"industrial",reqs:{saw:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("sawmill",r,3e3,1.26)},Iron(r){return F("sawmill",r,400,1.26)},Cement(r){return F("sawmill",r,420,1.26)}},effect(){let r=e.tech.saw>=2?8:5,a=rr(G(200)),i=`
${t("plus_max_resource",[a,e.resource.Lumber.name])}
${t("production",[r,e.resource.Lumber.name])}
`;return e.tech.foundry&&e.tech.foundry>=4&&(i=i+`
${t("crafting",[2,e.resource.Plywood.name])}
`),e.city.powered&&(i=i+`
${t("city_sawmill_effect3",[4,$(this)[0].powered()])}
`),i},powered(){return V(1)},powerBalancer(){return e.city.sawmill.hasOwnProperty("psaw")?[{r:"Lumber",k:"psaw"}]:!1},action(){return _($(this)[0])?(S("sawmill","city"),e.resource.Lumber.max+=rr(G(200)),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["sawmill","city"]}}},rock_quarry:{id:"city-rock_quarry",title(){return e.race.flier?t("city_rock_quarry_alt"):t("city_rock_quarry")},desc(){return e.race.flier?t("city_rock_quarry_desc_alt",[e.resource.Stone.name]):t("city_rock_quarry_desc")},category:"industrial",reqs:{mining:1},not_trait:["cataclysm","sappy"],cost:{Money(r){return r=r||0,(e.city.rock_quarry?e.city.rock_quarry.count:0)+r>=2?F("rock_quarry",r,20,1.45):0},Lumber(r){return F("rock_quarry",r,50,1.36)},Stone(r){return F("rock_quarry",r,10,1.36)}},effect(){let r=rr(G(100)),a=e.race.smoldering?`
${t("plus_max_resource",[r,e.resource.Chrysotile.name])}
`:"";return e.tech.mine_conveyor?`
${t("city_rock_quarry_effect1",[2])}
${t("plus_max_resource",[r,e.resource.Stone.name])}
${a}
${t("city_rock_quarry_effect2",[4,$(this)[0].powered()])}
`:`
${t("city_rock_quarry_effect1",[2])}
${t("plus_max_resource",[r,e.resource.Stone.name])}
${a}`},special(){return!!e.race.smoldering},powered(){return V(1)},powerBalancer(){return e.city.rock_quarry.hasOwnProperty("cnvay")?e.city.hasOwnProperty("metal_refinery")&&e.city.rock_quarry.hasOwnProperty("almcvy")?[{r:"Stone",k:"cnvay"},{r:"Aluminium",k:"almcvy"}]:[{r:"Stone",k:"cnvay"}]:!1},power_reqs:{mine_conveyor:1},action(){if(_($(this)[0])){S("rock_quarry","city"),e.civic.quarry_worker.display=!0;let r=rr(G(100));return e.resource.Stone.max+=r,e.race.smoldering&&e.resource.Chrysotile.display&&(e.settings.showCivic=!0,e.settings.showIndustry=!0,e.resource.Chrysotile.max+=r),e.tech.mine_conveyor&&L($(this)[0]),!0}return!1},struct(){return{d:{count:0,on:0,asbestos:50},p:["rock_quarry","city"]}}},cement_plant:{id:"city-cement_plant",title:t("city_cement_plant"),desc:t("city_cement_plant_desc"),category:"industrial",reqs:{cement:1},not_trait:["cataclysm","lone_survivor","flier"],cost:{Money(r){return F("cement_plant",r,3e3,1.5)},Lumber(r){return F("cement_plant",r,1800,1.36)},Stone(r){return F("cement_plant",r,2e3,1.32)},Iron(r){return e.city.ptrait.includes("unstable")?F("cement_plant",r,275,1.32):0}},effect(){if(e.tech.cement>=5){let r=e.tech.cement>=6?8:5;return`
${t("plus_max_resource",[E(2),t("job_cement_worker")])}
${t("city_cement_plant_effect2",[$(this)[0].powered(),r])}
`}else return t("plus_max_resource",[E(2),t("job_cement_worker")])},powered(){return V(2)},powerBalancer(){return e.city.cement_plant.hasOwnProperty("cnvay")?[{r:"Cement",k:"cnvay"}]:!1},power_reqs:{cement:5},action(){return _($(this)[0])?(e.resource.Cement.display=!0,S("cement_plant","city"),e.civic.cement_worker.display=!0,e.civic.cement_worker.max=e.city.cement_plant.count*E(2),e.tech.cement&&e.tech.cement>=5&&L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["cement_plant","city"]}}},foundry:{id:"city-foundry",title:t("city_foundry"),desc:t("city_foundry_desc"),category:"industrial",reqs:{foundry:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("foundry",r,750,1.36)},Stone(r){return F("foundry",r,100,1.36)},Copper(r){return F("foundry",r,250,1.36)},Iron(r){return e.city.ptrait.includes("unstable")?F("foundry",r,40,1.36):0}},effect(){let r=`
${t("city_foundry_effect1",[E(1)])}
`;if(e.tech.foundry>=2){let a=e.tech.foundry>=5?e.tech.foundry>=8?8:5:3;r=r+`
${t("city_crafted_mats",[a])}
`}return e.tech.foundry>=6&&(r=r+`
${t("city_foundry_effect2",[2])}
`),r},action(){return _($(this)[0])?(e.city.foundry.count===0&&(e.race.no_craft?I(t("city_foundry_msg2"),"info",!1,["progress"]):I(t("city_foundry_msg1"),"info",!1,["progress"])),S("foundry","city"),e.civic.craftsman.max+=E(1),e.civic.craftsman.display=!0,!e.race.kindling_kindred&&!e.race.smoldering&&(e.resource.Plywood.display=!0),e.resource.Brick.display=!0,e.resource.Iron.display&&(e.resource.Wrought_Iron.display=!0),e.resource.Aluminium.display&&(e.resource.Sheet_Metal.display=!0),gt(),!0):!1},struct(){return{d:{count:0,crafting:0,Plywood:0,Brick:0,Bronze:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0,Quantium:0},p:["foundry","city"]}}},factory:{id:"city-factory",title(){return Ce("factory")},desc:`
${t("city_factory_desc")}
${t("requires_power")}
`,category:"industrial",reqs:{high_tech:3},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("factory",r,25e3,De(1.32))},Cement(r){return F("factory",r,1e3,De(1.32))},Steel(r){return F("factory",r,7500,De(1.32))},Titanium(r){return F("factory",r,2500,De(1.32))}},effect(){let r=`
${t("city_factory_effect")}
${t("minus_power",[$(this)[0].powered()])}
`;return e.tech.foundry>=7&&(r=r+`
${t("city_crafted_mats",[5])}
`),r},powered(){return V(3)},special:!0,action(){return _($(this)[0])?(S("factory","city"),e.resource.Alloy.display=!0,e.tech.polymer&&(e.resource.Polymer.display=!0),L($(this)[0])&&e.city.factory.Alloy++,e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,on:0,Lux:0,Furs:0,Alloy:0,Polymer:0,Nano:0,Stanene:0},p:["factory","city"]}}},nanite_factory:zt("nanite_factory","city"),smelter:{id:"city-smelter",title:t("city_smelter"),desc:t("city_smelter_desc"),category:"industrial",reqs:{smelting:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("smelter",r,1e3,De(1.32))},Iron(r){return F("smelter",r,500,De(1.33))}},effect(){var r=e.tech.smelting>=3?e.tech.smelting>=7?15:12:10;return e.race.pyrophobia&&(r*=.9),e.tech.smelting>=2&&!e.race.steelen?t("city_smelter_effect2",[r]):t("city_smelter_effect1",[r])},special:!0,action(){return _($(this)[0])?(S("smelter","city"),e.race.kindling_kindred||e.race.smoldering||e.race.artifical?e.race.artifical?e.city.smelter.Oil++:e.race.evil?e.city.smelter.Wood++:e.city.smelter.Coal++:e.city.smelter.Wood++,e.city.smelter.Iron++,e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,cap:0,Wood:0,Coal:0,Oil:0,Star:0,StarCap:0,Inferno:0,Iron:0,Steel:0,Iridium:0},p:["smelter","city"]}},flair:`
${t("city_smelter_flair1")}
${t("city_smelter_flair2")}
`},metal_refinery:{id:"city-metal_refinery",title:t("city_metal_refinery"),desc:t("city_metal_refinery_desc"),category:"industrial",reqs:{alumina:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("metal_refinery",r,2500,1.35)},Iron(r){return e.city.ptrait.includes("unstable")?F("metal_refinery",r,125,1.35):0},Steel(r){return F("metal_refinery",r,350,1.35)}},powered(){return V(2)},powerBalancer(){return e.city.metal_refinery.hasOwnProperty("pwr")?[{r:"Aluminium",k:"cnvay"}]:!1},power_reqs:{alumina:2},effect(){let r=e.race.sappy?"city_metal_refinery_effect_alt":"city_metal_refinery_effect";return e.tech.alumina>=2?`${t(r,[6])} ${t("city_metal_refinery_effect2",[6,12,$(this)[0].powered()])}`:t(r,[6])},action(){return _($(this)[0])?(S("metal_refinery","city"),e.resource.Aluminium.display=!0,e.city.foundry&&e.city.foundry.count>0&&!e.resource.Sheet_Metal.display&&(e.resource.Sheet_Metal.display=!0,gt()),e.tech.alumina>=2&&L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["metal_refinery","city"]}}},mine:{id:"city-mine",title(){return Ce("mine")},desc:t("city_mine_desc"),category:"industrial",reqs:{mining:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("mine",r,60,De(1.6))},Lumber(r){return F("mine",r,175,De(1.38))}},effect(){return e.tech.mine_conveyor?`
${t("plus_max_resource",[E(1),t("job_miner")])}
${t("city_mine_effect2",[$(this)[0].powered(),5])}
`:t("plus_max_resource",[E(1),t("job_miner")])},powered(){return V(1)},powerBalancer(){return e.city.mine.hasOwnProperty("cpow")&&e.city.mine.hasOwnProperty("ipow")?[{r:"Copper",k:"cpow"},{r:"Iron",k:"ipow"}]:!1},power_reqs:{mine_conveyor:1},action(){return _($(this)[0])?(S($(this)[0]),e.resource.Copper.display=!0,e.civic.miner.display=!0,e.civic.miner.max=E(e.city.mine.count),e.tech.mine_conveyor&&L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["mine","city"]}},flair(){return x[e.race.species].type==="avian"?t("city_mine_flair_avian"):""}},coal_mine:{id:"city-coal_mine",title(){return Ce("coal_mine")},desc:t("city_coal_mine_desc"),category:"industrial",reqs:{mining:4},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("coal_mine",r,480,De(1.4))},Lumber(r){return F("coal_mine",r,250,De(1.36))},Iron(r){return e.city.ptrait.includes("unstable")?F("coal_mine",r,28,De(1.36)):0},Wrought_Iron(r){return F("coal_mine",r,18,De(1.36))}},effect(){return e.tech.mine_conveyor?`
${t("plus_max_resource",[E(1),t("job_coal_miner")])}
${t("city_coal_mine_effect2",[$(this)[0].powered(),5])}
`:t("plus_max_resource",[E(1),t("job_coal_miner")])},powered(){return V(1)},powerBalancer(){return e.city.coal_mine.hasOwnProperty("cpow")&&e.city.coal_mine.hasOwnProperty("upow")&&e.resource.Uranium.display?[{r:"Coal",k:"cpow"},{r:"Uranium",k:"upow"}]:e.city.coal_mine.hasOwnProperty("cpow")?[{r:"Coal",k:"cpow"}]:!1},power_reqs:{mine_conveyor:1},action(){return _($(this)[0])?(S($(this)[0]),e.resource.Coal.display=!0,e.civic.coal_miner.display=!0,e.civic.coal_miner.max=E(e.city.coal_mine.count),e.tech.mine_conveyor&&L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["coal_mine","city"]}}},oil_well:{id:"city-oil_well",title(){return e.race.blubber?t("tech_oil_refinery"):t("city_oil_well")},desc(){return e.race.blubber?t("city_oil_well_blubber"):t("city_oil_well_desc")},category:"industrial",reqs:{oil:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("oil_well",r,5e3,De(1.5))},Iron(r){return e.city.ptrait.includes("unstable")?F("oil_well",r,450,De(1.5)):0},Cement(r){return F("oil_well",r,5250,De(1.5))},Steel(r){return F("oil_well",r,6e3,De(1.5))}},effect(){let r=+ie("oil_well").toFixed(2),a=G(500),i=`
${t("city_oil_well_effect",[r,a])}
`;if(e.race.blubber&&e.city.hasOwnProperty("oil_well")){let s=e.city.oil_well.count+(e.space.oil_extractor?e.space.oil_extractor.count:0);i+=`
${t("city_oil_well_bodies",[+e.city.oil_well.dead.toFixed(1),50*s])}
`,i+=`
${t("city_oil_well_consume",[v.blubber.vars()[0]])}
`}return i},action(){return _($(this)[0])?(S("oil_well","city"),e.resource.Oil.max+=G(500),e.city.oil_well.count===1&&(e.resource.Oil.display=!0,Fe()),!0):!1},struct(){return{d:{count:0,dead:0},p:["oil_well","city"]}},flair:t("city_oil_well_flair")},oil_depot:{id:"city-oil_depot",title:t("city_oil_depot"),desc:t("city_oil_depot_desc"),category:"trade",reqs:{oil:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("oil_depot",r,2500,De(1.46))},Iron(r){return e.city.ptrait.includes("unstable")?F("oil_depot",r,325,De(1.36)):0},Cement(r){return F("oil_depot",r,3750,De(1.46))},Sheet_Metal(r){return F("oil_depot",r,100,De(1.45))}},effect(){let r=G(1e3);r*=e.tech.world_control?1.5:1;let a=`
${t("plus_max_resource",[r,e.resource.Oil.name])}.
`;if(e.resource.Helium_3.display){let i=G(400);i*=e.tech.world_control?1.5:1,a=a+`
${t("plus_max_resource",[i,e.resource.Helium_3.name])}.
`}if(e.tech.uranium>=2){let i=G(250);i*=e.tech.world_control?1.5:1,a=a+`
${t("plus_max_resource",[i,e.resource.Uranium.name])}.
`}return a},action(){return _($(this)[0])?(S("oil_depot","city"),e.resource.Oil.max+=G(1e3)*(e.tech.world_control?1.5:1),e.resource.Helium_3.display&&(e.resource.Helium_3.max+=G(400)*(e.tech.world_control?1.5:1)),e.tech.uranium>=2&&(e.resource.Uranium.max+=G(250)*(e.tech.world_control?1.5:1)),!0):!1},struct(){return{d:{count:0},p:["oil_depot","city"]}}},trade:{id:"city-trade",title:t("city_trade"),desc:t("city_trade_desc"),category:"trade",reqs:{trade:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("trade",r,500,1.36)},Lumber(r){return F("trade",r,125,1.36)},Stone(r){return F("trade",r,50,1.36)},Iron(r){return e.city.ptrait.includes("unstable")?F("trade",r,15,1.36):0},Furs(r){return F("trade",r,65,1.36)}},effect(){let r=e.race.xenophobic||e.race.nomadic?e.tech.trade:e.tech.trade+1;return e.tech.trade&&e.tech.trade>=3&&r--,e.race.flier&&(r+=v.flier.vars()[1]),t("city_trade_effect",[r])},action(){if(_($(this)[0])){S("trade","city");let r=e.race.xenophobic||e.race.nomadic?e.tech.trade:e.tech.trade+1;return e.tech.trade&&e.tech.trade>=3&&r--,e.city.market.mtrade+=r,!0}return!1},struct(){return{d:{count:0},p:["trade","city"]}}},wharf:{id:"city-wharf",title:t("city_wharf"),desc:t("city_wharf_desc"),category:"trade",era:"industrialized",reqs:{wharf:1},not_trait:["thalassophobia","cataclysm"],cost:{Money(r){return F("wharf",r,62e3,1.32)},Lumber(r){return F("wharf",r,44e3,1.32)},Iron(r){return e.city.ptrait.includes("unstable")?F("wharf",r,200,1.32):0},Cement(r){return F("wharf",r,3e3,1.32)},Oil(r){return F("wharf",r,750,1.32)}},effect(){let r=e.tech.world_control?15:10;return e.tech.particles&&e.tech.particles>=2&&(r*=2),`
${t("city_trade_effect",[2])}
${t("city_wharf_effect")}
${t("plus_max_crates",[r])}
${t("plus_max_containers",[r])}
`},action(){if(_($(this)[0])){S("wharf","city"),e.city.market.mtrade+=2;let r=e.tech.world_control?15:10;return e.tech.particles&&e.tech.particles>=2&&(r*=2),e.resource.Crates.max+=r,e.resource.Containers.max+=r,e.resource.Containers.display||wr(),!0}return!1},struct(){return{d:{count:0},p:["wharf","city"]}}},tourist_center:{id:"city-tourist_center",title:t("city_tourist_center"),desc:t("city_tourist_center_desc"),category:"commercial",reqs:{monument:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("tourist_center",r,1e5,1.36)},Stone(r){return F("tourist_center",r,25e3,1.36)},Iron(r){return e.city.ptrait.includes("unstable")?F("tourist_center",r,1e3,1.36):0},Furs(r){return F("tourist_center",r,7500,1.36)},Plywood(r){return F("tourist_center",r,5e3,1.36)}},effect(r){let a=e.tech.monument&&e.tech.monument>=3&&ur(r)?3:1,i=(e.civic.govern.type==="corpocracy"?2:1)*a,s=(e.civic.govern.type==="corpocracy"?10:5)*a,n=(e.civic.govern.type==="corpocracy"?4:2)*a,c=`
${t("city_tourist_center_effect1",[e.resource.Food.name])}
`;c+=`
${t("city_tourist_center_effect2",[i,m.city.amphitheatre.title()])}
`,c+=`
${t("city_tourist_center_effect2",[s,Ce("casino")])}
`,c+=`
${t("city_tourist_center_effect2",[n,t("arpa_project_monument_title")])}
`,e.stats.achieve.banana&&e.stats.achieve.banana.l>=4&&(c+=`
${t("city_tourist_center_effect2",[(e.civic.govern.type==="corpocracy"?6:3)*a,t("city_trade")])}
`);let o=Q("pious",1);return o&&(c+=`
${t("city_tourist_center_effect2",[(e.civic.govern.type==="corpocracy"?o*2:o)*a,Ce("temple")])}
`),c},powered(){return 0},action(){return _($(this)[0])?(S("tourist_center","city"),e.city.tourist_center.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["tourist_center","city"]}}},amphitheatre:{id:"city-amphitheatre",title(){return Q("athleticism",0)?t("city_stadium"):t("city_amphitheatre")},desc(){return Q("athleticism",0)?t("city_stadium"):t("city_amphitheatre_desc")},category:"commercial",reqs:{theatre:1},not_trait:["joyless","cataclysm"],cost:{Money(r){return F("amphitheatre",r,500,1.55)},Lumber(r){return F("amphitheatre",r,50,1.75)},Stone(r){return F("amphitheatre",r,200,1.75)},Iron(r){return e.city.ptrait.includes("unstable")?F("amphitheatre",r,18,1.36):0}},effect(){let r=Q("athleticism",0),a=Q("athleticism",1);return`
${t("plus_max_resource",[E(a||1),t("job_entertainer")])}
${t("city_max_morale",[r||1])}
`},action(){if(_($(this)[0])){S("amphitheatre","city");let r=Q("athleticism",1);return e.civic.entertainer.max+=E(r||1),e.civic.entertainer.display=!0,!0}return!1},struct(){return{d:{count:0},p:["amphitheatre","city"]}},flair(){return Q("athleticism",0)?t("city_stadium_flair"):t("city_amphitheatre_flair")}},casino:{id:"city-casino",title(){return Ce("casino")},desc(){return Ce("casino")},category:"commercial",reqs:{gambling:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("casino",r,ee("untrustworthy",35e4),1.35)},Iron(r){return e.city.ptrait.includes("unstable")?F("casino",r,ee("untrustworthy",2e3),1.35):0},Furs(r){return F("casino",r,ee("untrustworthy",6e4),1.35)},Plywood(r){return F("casino",r,ee("untrustworthy",1e4),1.35)},Brick(r){return F("casino",r,ee("untrustworthy",6e3),1.35)}},effect(){let r=Gi();return r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=2?2:3)},action(){return _($(this)[0])?(S("casino","city"),e.race.joyless||(e.civic.entertainer.max+=E(1),e.civic.entertainer.display=!0),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["casino","city"]}},flair:t("city_casino_flair")},temple:{id:"city-temple",title(){return Ce("temple")},desc(){let r=e.race.gods!=="none"?x[e.race.gods.toLowerCase()].entity:x[e.race.species].entity;return t("city_temple_desc",[r])},category:"commercial",reqs:{theology:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("temple",r,50,1.36)},Lumber(r){return F("temple",r,25,1.36)},Iron(r){return e.city.ptrait.includes("unstable")?F("temple",r,6,1.36):0},Furs(r){return F("temple",r,15,1.36)},Cement(r){return F("temple",r,10,1.36)}},effect(){let r=Qn();return e.genes.ancients&&e.genes.ancients>=2&&(r=r+`
${t("plus_max_resource",[E(1),t("job_priest")])}
`),r},action(){return _($(this)[0])?(e.genes.ancients&&e.genes.ancients>=2&&(e.civic.priest.display=!0,e.civic.priest.max+=E(1)),S("temple","city"),!0):!1},struct(){return{d:{count:0},p:["temple","city"]}}},wonder_lighthouse:{id:"city-wonder_lighthouse",title(){return t("city_wonder_lighthouse",[x[e.race.species].home])},desc(){return t("city_wonder_lighthouse",[x[e.race.species].home])},category:"commercial",reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.city.wonder_lighthouse)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}},wonder_pyramid:{id:"city-wonder_pyramid",title(){return t("city_wonder_pyramid",[x[e.race.species].name])},desc(){return t("city_wonder_pyramid",[x[e.race.species].name])},category:"commercial",reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.city.wonder_pyramid)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}},shrine:{id:"city-shrine",title:t("city_shrine"),desc(){return t("city_shrine_desc")},category:"commercial",reqs:{theology:2},trait:["magnificent"],not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("shrine",r,75,1.32)},Stone(r){return F("shrine",r,65,1.32)},Furs(r){return F("shrine",r,10,1.32)},Copper(r){return F("shrine",r,15,1.32)}},effect(){let r=vi("morale"),a=vi("metal"),i=vi("know"),s=vi("tax"),n=`
${t("city_shrine_effect")}
`;return e.city.shrine&&r.active&&(n=n+`
${t("city_shrine_morale",[+r.add.toFixed(1)])}
`),e.city.shrine&&a.active&&(n=n+`
${t("city_shrine_metal",[+((a.mult-1)*100).toFixed(1)])}
`),e.city.shrine&&i.active&&(n=n+`
${t("city_shrine_know",[(+i.add.toFixed(1)).toLocaleString()])}
`,n=n+`
${t("city_shrine_know2",[+((i.mult-1)*100).toFixed(1)])}
`),e.city.shrine&&s.active&&(n=n+`
${t("city_shrine_tax",[+((s.mult-1)*100).toFixed(1)])}
`),n},action(){return _($(this)[0])?(S("shrine","city"),e.city.calendar.moon>0&&e.city.calendar.moon<7?e.city.shrine.morale++:e.city.calendar.moon>7&&e.city.calendar.moon<14?e.city.shrine.metal++:e.city.calendar.moon>14&&e.city.calendar.moon<21?e.city.shrine.know++:e.city.calendar.moon>21?e.city.shrine.tax++:e.city.shrine.cycle++,!0):!1},struct(){return{d:{count:0,morale:0,metal:0,know:0,tax:0,cycle:0},p:["shrine","city"]}}},meditation:{id:"city-meditation",title:t("city_meditation"),desc:t("city_meditation"),category:"commercial",reqs:{primitive:3},trait:["calm"],not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("meditation",r,50,1.2)},Stone(r){return F("meditation",r,25,1.2)},Furs(r){return F("meditation",r,8,1.2)}},effect(){let r=e.resource.Zen.amount/(e.resource.Zen.amount+5e3);return`
${t("city_meditation_effect",[v.calm.vars()[0]])}
${t("city_meditation_effect2",[2])}
${t("city_meditation_effect3",[1])}
${t("city_meditation_effect4",[`${(r*100).toFixed(2)}%`])}
`},action(){return _($(this)[0])?(S("meditation","city"),e.resource.Zen.max+=v.calm.vars()[0],!0):!1},struct(){return{d:{count:0},p:["meditation","city"]}}},banquet:{id:"city-banquet",title:t("city_banquet"),desc:t("city_banquet_desc"),category:"commercial",reqs:{banquet:1},queue_complete(){return e.stats.achieve.endless_hunger?e.stats.achieve.endless_hunger.l-e.city.banquet.count:0},no_multi:!0,condition(){return!!(e.stats.achieve.endless_hunger&&e.stats.achieve.endless_hunger.l>=1)},cost:{Money(r){switch((r||0)+(e.city.banquet?e.city.banquet.count:0)){case 0:return 45e3;case 1:return 18e4;case 2:return 24e5;case 3:return 3e7;case 4:return 14e7;default:return 0}},Food(r){let a=(r||0)+(e.city.banquet?e.city.banquet.count:0);return(()=>{switch(a){case 0:return 4e4;case 1:return 124e3;case 2:return 3e5;case 3:return 72e4;case 4:return 12e5;default:return 0}})()*(e.race.artifical?.25:1)},Brick(r){switch((r||0)+(e.city.banquet?e.city.banquet.count:0)){case 0:return 1600;case 1:return 18e3;case 2:return 75e3;default:return 0}},Wrought_Iron(r){switch((r||0)+(e.city.banquet?e.city.banquet.count:0)){case 0:return 0;case 1:return 26e3;case 2:return 88e3;case 3:return 144e3;case 4:return 24e4;default:return 0}},Iridium(r){switch((r||0)+(e.city.banquet?e.city.banquet.count:0)){case 2:return 5e4;case 3:return 27e4;case 4:return 7e5;default:return 0}},Aerogel(r,a){let i=(r||0)+(e.city.banquet?e.city.banquet.count:0);if(a?a.truepath:e.race.truepath)return 0;switch(i){case 3:return 4e4;case 4:return 15e4;default:return 0}},Quantium(r,a){let i=(r||0)+(e.city.banquet?e.city.banquet.count:0);if(a?!a.truepath:!e.race.truepath)return 0;switch(i){case 3:return 4e4;case 4:return 15e4;default:return 0}},Bolognium(r){switch(r||0||(e.city.banquet?e.city.banquet.count:0)){case 4:return 15e4;default:return 0}}},effect(r){let a=e.city.banquet?e.city.banquet.strength:0,i=(r?.count??0)+(e.city.banquet?e.city.banquet.count:0),s=`
Strength: ${a}
`;return s+=`
${t("city_banquet_effect1",[X(((i>=5?1.02:1.022)**a-1)*100)])}
`,i>=1&&(s+=`
${t("city_banquet_effect2",[(a**.75).toFixed(2)])}
`),i>=2&&(s+=`
${t("city_banquet_effect3",[(a**.65).toFixed(2)])}
`),i>=3&&(s+=`
${t("city_banquet_effect4",[(a**.65).toFixed(2)])}
`),i>=4&&(s+=`
${t("city_banquet_effect5",[(a**.75).toFixed(2)])}
`),s},powered(){return 0},action(){return e.city.banquet.count=3&&e.city.ptrait.includes("unstable")?F("university",r,25,1.36):0}},effect(r){let a=+$(this)[0].knowVal(r).toFixed(0);return`
${t("city_university_effect",[E(1)])}
${t("city_max_knowledge",[a.toLocaleString()])}
`},knowVal(r){let a=1,i=e.tech.science&&e.tech.science>=8?700:500;e.city.ptrait.includes("permafrost")&&(i+=Ie.permafrost.vars()[1]),e.tech.science>=4&&(a+=e.city.library.count*.02),e.space.observatory&&e.space.observatory.count>0&&(a+=(r?e.space.observatory.on:be.observatory)*.05),e.portal.sensor_drone&&e.tech.science>=14&&(a+=(r?e.portal.sensor_drone.on:H.sensor_drone)*.02),e.race.hard_of_hearing&&(a*=1-v.hard_of_hearing.vars()[0]/100),e.race.curious&&(a*=1+v.curious.vars()[0]/100*e.resource[e.race.species].amount);let s=re("cath");s>0&&(a*=1+v.curious.vars(3)[0]*s);let c=ur(r)?r?e.galaxy?.scavenger?.on??0:Mr.scavenger:0;if(c>0){let p=Gt("gxy_alien2",!1,!1,r),h=c*p/4;a*=1+h}let o=Q("teacher",0);o&&(a*=1+o/100);let l=Q("athleticism",2);if(l&&(a*=1-l/100),mc()){let p=vi("know");a*=p.mult}let u=i*a;if(e.tech.supercollider){let p=e.tech.tp_particles||e.tech.particles&&e.tech.particles>=3?12.5:25;u*=e.tech.supercollider/p+1}return e.race.orbit_decayed&&(e.space.satellite&&(u*=1+e.space.satellite.count*.12),e.tech.biotech&&e.tech.biotech>=1&&(u*=2)),u},action(){if(_($(this)[0])){let r=e.tech.science&&e.tech.science>=8?700:500;if(e.tech.science>=4&&(r*=1+e.city.library.count*.02),e.tech.supercollider){let a=e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/a+1}return e.resource.Knowledge.max+=r,S("university","city"),e.civic.professor.display=!0,e.civic.professor.max=E(e.city.university.count),!0}return!1},struct(){return{d:{count:0},p:["university","city"]}}},library:{id:"city-library",title:t("city_library"),desc(){let r=x[e.race.species].home;return t("city_library_desc",[r])},category:"science",reqs:{science:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("library",r,45,1.2)},Crystal(r){return e.race.universe==="magic"?F("library",r,2,1.2):0},Iron(r){return e.city.ptrait.includes("unstable")?F("library",r,4,1.2):0},Furs(r){return F("library",r,22,1.2)},Plywood(r){return F("library",r,20,1.2)},Brick(r){return F("library",r,15,1.2)}},effect(){let r=125;e.race.nearsighted&&(r*=1-v.nearsighted.vars()[0]/100),e.race.studious&&(r*=1+v.studious.vars()[1]/100);let a=re("elven");if(a>0&&(r*=1+v.studious.vars(1)[1]/100*a),e.tech.science&&e.tech.science>=8&&(r*=1.4),e.tech.anthropology&&e.tech.anthropology>=2&&(r*=1+e.city.temple.count*.05),e.tech.science&&e.tech.science>=5){let l=Xe(e.civic.scientist.workers,"scientist");e.race.high_pop&&(l=he(l)),r*=1+l*.12}let i=Q("teacher",0);i&&(r*=1+i/100);let s=Q("athleticism",2);s&&(r*=1-s/100);let n=Q("muckraker",1);n&&(r*=1+n/100),r=+r.toFixed(0);let c=Q("muckraker",2),o=c?5-c:5;return e.race.autoignition&&(o-=v.autoignition.vars()[0],o<0&&(o=0)),`
${t("city_max_knowledge",[r.toLocaleString()])}
${t("city_library_effect",[o])}
`},action(){if(_($(this)[0])){let r=125;return e.race.nearsighted&&(r*=1-v.nearsighted.vars()[0]/100),e.tech.science&&e.tech.science>=8&&(r*=1.4),e.tech.anthropology&&e.tech.anthropology>=2&&(r*=1+e.city.temple.count*.05),e.tech.science&&e.tech.science>=5&&(r*=1+Xe(e.civic.scientist.workers,"scientist")*.12),r=+r.toFixed(1),e.resource.Knowledge.max+=r,S("library","city"),e.tech.science&&e.tech.science>=3&&(e.civic.professor.impact=.5+e.city.library.count*.01),!0}return!1},struct(){return{d:{count:0},p:["library","city"]}},flair:t("city_library_flair")},wardenclyffe:{id:"city-wardenclyffe",title(){return Kt()},desc:t("city_wardenclyffe_desc"),category:"science",reqs:{high_tech:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("wardenclyffe",r,5e3,1.22)},Knowledge(r){return F("wardenclyffe",r,e.race.logical?1e3-v.logical.vars()[0]:1e3,1.22)},Crystal(r){return e.race.universe==="magic"?F("wardenclyffe",r,100,1.22):0},Copper(r){return F("wardenclyffe",r,500,1.22)},Iron(r){return e.city.ptrait.includes("unstable")?F("wardenclyffe",r,75,1.22):0},Cement(r){return F("wardenclyffe",r,350,1.22)},Sheet_Metal(r){return F("wardenclyffe",r,125,1.2)},Nanite(r){return e.race.deconstructor?F("wardenclyffe",r,50,1.18):0}},effect(){let r=1e3;if(e.city.ptrait.includes("magnetic")&&(r+=Ie.magnetic.vars()[1]),e.tech.supercollider){let s=e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/s+1}e.space.satellite&&(r*=1+e.space.satellite.count*.04);let a=Q("athleticism",2);a&&(r*=1-a/100),r=+r.toFixed(0);let i=`
${t("city_wardenclyffe_effect1",[E(1),e.civic.scientist?e.civic.scientist.name:t("job_scientist")])}
${t("city_max_knowledge",[r.toLocaleString()])}
`;if(e.city.powered){let s=e.tech.science>=7?2500:2e3;if(e.city.ptrait.includes("magnetic")&&(s+=Ie.magnetic.vars()[1]),e.space.satellite&&(s*=1+e.space.satellite.count*.04),e.tech.supercollider){let c=e.tech.particles&&e.tech.particles>=3?12.5:25;s*=e.tech.supercollider/c+1}let n=Q("athleticism",2);if(n&&(s*=1-n/100),s=+s.toFixed(1),e.tech.science>=15&&(i=i+`
${t("city_wardenclyffe_effect4",[2])}
`),e.race.universe==="magic"){let c=G(8);i=i+`
${t("plus_max_resource",[c,e.resource.Mana.name])}
`}if(e.tech.broadcast){let c=e.tech.broadcast;i=i+`
${t("city_wardenclyffe_effect3",[$(this)[0].powered(),s.toLocaleString(),c])}
`}else i=i+`
${t("city_wardenclyffe_effect2",[$(this)[0].powered(),s.toLocaleString()])}
`;e.race.artifical&&(i=i+`
${t("city_transmitter_effect",[G(250)])}=7?2500:2e3),e.tech.supercollider){let a=e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/a+1}return e.resource.Knowledge.max+=r,!0}return!1},struct(){return{d:{count:0,on:0},p:["wardenclyffe","city"]}},flair(){return e.race.universe==="magic"?`
${t("city_wizard_tower_flair")}
`:e.race.evil?`
${t("city_babel_flair")}
`:`
${t("city_wardenclyffe_flair1")}
${t("city_wardenclyffe_flair2")}
`}},biolab:{id:"city-biolab",title:t("city_biolab"),desc:`
${t("city_biolab_desc")}
${t("requires_power")}
`,category:"science",reqs:{genetics:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("biolab",r,25e3,1.3)},Knowledge(r){return F("biolab",r,5e3,1.3)},Copper(r){return F("biolab",r,1250,1.3)},Iron(r){return e.city.ptrait.includes("unstable")?F("biolab",r,160,1.3):0},Alloy(r){return F("biolab",r,350,1.3)}},effect(r){let a=3e3;return e.portal.sensor_drone&&e.tech.science>=14&&(a*=1+(r?e.portal.sensor_drone.on:H.sensor_drone)*.02),e.tech.science>=20&&(a*=3),e.tech.science>=21&&(a*=1.45),e.tech.biotech>=1&&(a*=2.5),e.race.elemental&&v.elemental.vars()[0]==="frost"&&(a*=1+v.elemental.vars()[4]*e.resource[e.race.species].amount/100),a=+a.toFixed(0),`${t("city_max_knowledge",[a.toLocaleString()])}, ${t("minus_power",[$(this)[0].powered()])}`},powered(){return V(2)},action(){return _($(this)[0])?(S("biolab","city"),L($(this)[0])&&(e.resource.Knowledge.max+=3e3),!0):!1},struct(){return{d:{count:0,on:0},p:["biolab","city"]}}},coal_power:{id:"city-coal_power",title(){return e.race.environmentalist?t("city_hydro_power"):t(e.race.universe==="magic"?"city_mana_engine":"city_coal_power")},desc(){return e.race.environmentalist?`
${t("city_hydro_power_desc")}
`:`
${t(e.race.universe==="magic"?"city_mana_engine_desc":"city_coal_power_desc")}
${t("requires_res",[t(e.race.universe==="magic"?"resource_Mana_name":"resource_Coal_name")])}
`},category:"utility",reqs:{high_tech:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("coal_power",r,1e4,De(1.22))},Crystal(r){return e.race.universe==="magic"?F("coal_power",r,125,De(1.22)):0},Copper(r){return F("coal_power",r,1800,De(1.22))-1e3},Iron(r){return e.city.ptrait.includes("unstable")?F("coal_power",r,175,De(1.22)):0},Cement(r){return F("coal_power",r,600,De(1.22))},Steel(r){return F("coal_power",r,2e3,De(1.22))-1e3}},effect(){let r=e.race.universe==="magic"?.05:.35,a=-$(this)[0].powered();return e.race.environmentalist?`+${a}MW`:`+${a}MW. ${t(e.race.universe==="magic"?"city_mana_engine_effect":"city_coal_power_effect",[r])}`},powered(){let r=e.race.environmentalist?e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=1?-5:-4:e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=1?-6:-5,a=Q("dirty_jobs",1);return a&&(r-=a),nt(r)},p_fuel(){return e.race.universe==="magic"?{r:"Mana",a:e.race.environmentalist?0:.05}:{r:"Coal",a:e.race.environmentalist?0:.35}},action(){return _($(this)[0])?(S("coal_power","city"),e.city.coal_power.on++,e.city.power+=5,!0):!1},struct(){return{d:{count:0,on:0},p:["coal_power","city"]}}},oil_power:{id:"city-oil_power",title(){return e.race.environmentalist?t("city_wind_power"):t("city_oil_power")},desc(){return e.race.environmentalist?`
${t("city_wind_power_desc")}
`:`
${t("city_oil_power_desc")}
${t("requires_res",[t("resource_Oil_name")])}
`},category:"utility",reqs:{oil:3},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("oil_power",r,5e4,De(1.22))},Copper(r){return F("oil_power",r,6500,De(1.22))+1e3},Iron(r){return e.city.ptrait.includes("unstable")?F("oil_power",r,180,De(1.22)):0},Aluminium(r){return F("oil_power",r,12e3,De(1.22))},Cement(r){return F("oil_power",r,5600,De(1.22))+1e3}},effect(){let r=.65,a=-$(this)[0].powered();return e.race.environmentalist?`+${a}MW`:`+${a}MW. ${t("city_oil_power_effect",[r])}`},powered(){let r=0;if(e.race.environmentalist)if(e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=3){let i=e.city.calendar.wind===1?-7:-5;r=e.stats.achieve.dissipated.l>=5?i-2:i-1}else r=e.city.calendar.wind===1?-7:-5;else e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=3?r=e.stats.achieve.dissipated.l>=5?-8:-7:r=-6;let a=Q("dirty_jobs",1);return a&&(r-=a),nt(r)},p_fuel(){return{r:"Oil",a:e.race.environmentalist?0:.65}},action(){return _($(this)[0])?(S("oil_power","city"),e.city.oil_power.on++,e.city.power+=6,!0):!1},struct(){return{d:{count:0,on:0},p:["oil_power","city"]}}},fission_power:{id:"city-fission_power",title:t("city_fission_power"),desc:`
${t("city_fission_power_desc")}
${t("requires_res",[t("resource_Uranium_name")])}
`,category:"utility",reqs:{high_tech:5},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("fission_power",r,25e4,1.36)},Copper(r){return F("fission_power",r,13500,1.36)},Iron(r){return e.city.ptrait.includes("unstable")?F("fission_power",r,1750,1.36):0},Cement(r){return F("fission_power",r,10800,1.36)},Titanium(r){return F("fission_power",r,7500,1.36)}},effect(){let r=.1;return`+${-$(this)[0].powered()}MW. ${t("city_fission_power_effect",[r])}`},powered(){return nt(e.tech.uranium>=4?-18:-14)},p_fuel(){return{r:"Uranium",a:.1}},action(){return _($(this)[0])?(S("fission_power","city"),e.city.fission_power.on++,e.city.power+=14,!0):!1},struct(){return{d:{count:0,on:0},p:["fission_power","city"]}}},mass_driver:{id:"city-mass_driver",title:t("city_mass_driver"),desc:`
${t("city_mass_driver_desc")}
${t("requires_power")}
`,category:"utility",reqs:{mass:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("mass_driver",r,375e3,1.32)},Copper(r){return F("mass_driver",r,33e3,1.32)},Iron(r){return F("mass_driver",r,42500,1.32)},Iridium(r){return F("mass_driver",r,2200,1.32)}},effect(){return`${e.tech.mass>=2?`
${t("city_mass_driver_effect2",[1,e.civic.scientist.name])}
`:""}${t("city_mass_driver_effect",[e.race.truepath?6:5,lt("name")])} ${t("minus_power",[$(this)[0].powered()])}`},powered(){let r=e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=4?4:5;return V(e.tech.mass>=2?r-1:r)},action(){return _($(this)[0])?(S("mass_driver","city"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["mass_driver","city"]}}},replicator:{id:"city-replicator",title:t("tech_replicator"),desc:t("tech_replicator"),category:"utility",reqs:{special_hack:1},cost:{},wiki:!1,effect(){return"fake structure"},powered(){return 1},action(){return!1}}},tech:as(),arpa:Pe("PhysicsTech"),genes:Pe("GeneTech"),blood:Pe("BloodTech"),space:Ps(),interstellar:yo(),galaxy:bo(),starDock:{probes:{id:"starDock-probes",title:t("star_dock_probe"),desc(){return`
${t("star_dock_probe_desc")}
`},reqs:{genesis:4},cost:{Money(r){return F("probes",r,35e4,e.race.truepath?1.125:1.25,"starDock")},Alloy(r){return F("probes",r,75e3,e.race.truepath?1.125:1.25,"starDock")},Polymer(r){return F("probes",r,85e3,e.race.truepath?1.125:1.25,"starDock")},Iridium(r){return F("probes",r,12e3,e.race.truepath?1.125:1.25,"starDock")},Mythril(r){return F("probes",r,3500,e.race.truepath?1.125:1.25,"starDock")}},effect(){return`
${t("star_dock_probe_effect")}
`},action(){return _($(this)[0])?(S("probes","starDock"),!0):!1},struct(){return{d:{count:0},p:["probes","starDock"]}}},geck:{id:"starDock-geck",title:t("tech_geck"),desc(){return`
${t("tech_geck_desc")}
`},reqs:{geck:1},condition(){return!!(e.stats.achieve.lamentis&&e.stats.achieve.lamentis.l>=5)},queue_complete(){return 0},no_multi:!0,cost:{Money(r){return F("geck",r,1e6,1.25,"starDock")},Elerium(r){return F("geck",r,1e3,1.25,"starDock")},Plasmid(r){return F("geck",r,25,1.4,"starDock")}},effect(){return`
${t("star_dock_geck_effect")}
`},action(){return _($(this)[0])?(S("geck","starDock"),!0):!1},struct(){return{d:{count:0},p:["geck","starDock"]}}},seeder:{id:"starDock-seeder",title(){return e.race.cataclysm?t("star_dock_exodus"):t("star_dock_seeder")},desc(){let r=e.race.cataclysm?t("star_dock_exodus"):t("star_dock_seeder");return e.starDock.seeder&&e.starDock.seeder.count>=100?`
${r}
${t("star_dock_seeder_desc2")}
`:`
${r}
${t("star_dock_seeder_desc1")}
`},reqs:{genesis:5},queue_size:10,queue_complete(){return 100-e.starDock.seeder.count},cost:{Money(r){return(r||0)+(e.starDock.hasOwnProperty("seeder")?e.starDock.seeder.count:0)<100?1e5:0},Steel(r){return(r||0)+(e.starDock.hasOwnProperty("seeder")?e.starDock.seeder.count:0)<100?25e3:0},Neutronium(r){return(r||0)+(e.starDock.hasOwnProperty("seeder")?e.starDock.seeder.count:0)<100?240:0},Elerium(r){return(r||0)+(e.starDock.hasOwnProperty("seeder")?e.starDock.seeder.count:0)<100?10:0},Nano_Tube(r){return(r||0)+(e.starDock.hasOwnProperty("seeder")?e.starDock.seeder.count:0)<100?12e3:0}},effect(r){let a=(r?.count??0)+(e.starDock.seeder?e.starDock.seeder.count:0),i=a<100?t("star_dock_seeder_status1",[100-a]):t("star_dock_seeder_status2");return`
${e.race.cataclysm?t("star_dock_exodus_effect"):t("star_dock_seeder_effect")}
${i}
`},action(){if(e.starDock.seeder.count<100&&_($(this)[0])){if(S("seeder","starDock"),e.starDock.seeder.count>=100){e.tech.genesis=6,le("starDock-seeder"),K($("#modalBox"));let r=m.space.spc_gas.star_dock;_c(r,"star_dock")}return!0}return!1},struct(){return{d:{count:0},p:["seeder","starDock"]}}},prep_ship:{id:"starDock-prep_ship",title:t("star_dock_prep"),desc(){return`
${e.race.cataclysm?t("star_dock_prep_cata_desc"):t("star_dock_prep_desc")}
${t("star_dock_genesis_desc2")}
`},reqs:{genesis:6},queue_complete(){return 0},cost:{Helium_3(r,a){return+ve(e.race.gravity_well?15e4:75e3,!1,a).toFixed(0)}},effect(){let r=$e("bioseed"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${e.race.cataclysm?t("star_dock_prep_cata_effect"):t("star_dock_prep_effect")}
${t("star_dock_genesis_effect2",[r.plasmid,a])}
${t("star_dock_genesis_effect3",[r.phage])}
`},action(){if(_($(this)[0])){e.tech.genesis=7,le("starDock-prep_ship"),K($("#modalBox"));let r=m.space.spc_gas.star_dock;return _c(r,"star_dock"),!0}return!1}},launch_ship:{id:"starDock-launch_ship",title:t("star_dock_genesis"),desc(){return`
${e.race.cataclysm?t("star_dock_prep_cata_effect"):t("star_dock_genesis_desc1")}
${t("star_dock_genesis_desc2")}
`},reqs:{genesis:7},queue_complete(){return 0},cost:{},effect(){let r=$e("bioseed"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${e.race.cataclysm?t("star_dock_genesis_cata_effect1"):t("star_dock_genesis_effect1")}
${t("star_dock_genesis_effect2",[r.plasmid,a])}
${t("star_dock_genesis_effect3",[r.phage])}
`},action(){return Jc(),!1}}},portal:Ds(),tauceti:no(),eden:Os()};function Ys(){let r=$("#evolution .evolving").nextAll();Object.values(r).forEach(function(a){K($(a),!0)}),K($("#evolution .evolving"),!0),e.evolution.bunker={count:1},na(m.evolution.bunker.id),sl(),e.race.truepath||e.race.lone_survivor?(e.evolution.nerfed={count:0},e.evolution.badgenes={count:0}):(e.race.universe==="antimatter"?e.evolution.mastery={count:0}:e.evolution.plasmid={count:0},e.evolution.crispr={count:0}),e.evolution.trade={count:0},e.evolution.craft={count:0},e.evolution.junker={count:0},e.evolution.joyless={count:0},e.evolution.steelen={count:0},(e.stats.achieve.whitehole||e.sim)&&(e.evolution.decay={count:0}),(e.stats.achieve.ascended||e.sim)&&(e.evolution.emfield={count:0}),(e.stats.achieve.scrooge||e.sim)&&(e.evolution.inflation={count:0}),(e.stats.achieve.shaken||e.sim)&&(e.evolution.cataclysm={count:0}),(e.stats.achieve.whitehole||e.stats.achieve.ascended||e.sim)&&(e.evolution.banana={count:0},e.evolution.orbit_decay={count:0}),e.race.universe==="standard"&&(e.stats.achieve.whitehole||e.sim),e.race.universe==="heavy"&&(e.stats.achieve.seeder&&e.stats.achieve.seeder.h||e.sim)&&(e.evolution.gravity_well={count:0}),e.race.universe==="magic"&&(e.stats.achieve.ascended&&e.stats.achieve.ascended.mg||e.sim)&&(e.evolution.witch_hunter={count:0}),e.race.universe==="evil"&&(e.stats.achieve.godslayer&&e.stats.achieve.godslayer.e||e.sim),(e.stats.achieve.ascended||e.stats.achieve.corrupted||e.sim)&&(e.evolution.truepath={count:0}),((e.stats.achieve.ascended||e.stats.achieve.corrupted)&&e.stats.achieve.extinct_junker||e.sim)&&(e.evolution.sludge={count:0}),(e.stats.achieve.godslayer&&e.stats.achieve.extinct_sludge||e.sim)&&(e.evolution.ultra_sludge={count:0}),(e.stats.achieve.bluepill||e.sim)&&(e.evolution.simulation={count:0}),(e.stats.achieve.retired||e.sim)&&(e.evolution.lone_survivor={count:0}),(e.stats.achieve.corrupted||e.sim)&&(e.evolution.fasting={count:0}),a_(),e.race.truepath||e.race.lone_survivor?Ee("evolution","nerfed"):e.race.universe==="antimatter"?Ee("evolution","mastery"):Ee("evolution","plasmid"),Ee("evolution","trade"),Ee("evolution","craft"),e.race.truepath||e.race.lone_survivor?Ee("evolution","badgenes"):Ee("evolution","crispr"),i_(),Ee("evolution","joyless"),Ee("evolution","steelen"),(e.stats.achieve.whitehole||e.sim)&&Ee("evolution","decay"),(e.stats.achieve.ascended||e.sim)&&Ee("evolution","emfield"),(e.stats.achieve.scrooge||e.sim)&&Ee("evolution","inflation"),((e.stats.achieve.ascended||e.stats.achieve.corrupted)&&e.stats.achieve.extinct_junker||e.sim)&&Ee("evolution","sludge"),(e.stats.achieve.godslayer&&e.stats.achieve.extinct_sludge||e.sim)&&Ee("evolution","ultra_sludge"),(e.stats.achieve.whitehole||e.stats.achieve.ascended||e.sim)&&Ee("evolution","orbit_decay"),e.race.universe==="standard"&&(e.stats.achieve.whitehole||e.sim),e.race.universe==="heavy"&&(e.stats.achieve.seeder&&e.stats.achieve.seeder.h||e.sim)&&Ee("evolution","gravity_well"),e.race.universe==="magic"&&(e.stats.achieve.ascended&&e.stats.achieve.ascended.mg||e.sim)&&Ee("evolution","witch_hunter"),e.race.universe==="evil"&&(e.stats.achieve.godslayer&&e.stats.achieve.godslayer.e||e.sim),e.hasOwnProperty("beta")&&!e.sim&&Ee("evolution","simulation"),s_(),Ee("evolution","junker"),(e.stats.achieve.shaken||e.sim)&&Ee("evolution","cataclysm"),(e.stats.achieve.whitehole||e.stats.achieve.ascended||e.sim)&&Ee("evolution","banana"),(e.stats.achieve.ascended||e.stats.achieve.corrupted||e.sim)&&Ee("evolution","truepath"),(e.stats.achieve.retired||e.sim)&&Ee("evolution","lone_survivor"),(e.stats.achieve.corrupted||e.sim)&&Ee("evolution","fasting"),e.sim?n_():e.race.simulation&&c_()}function zt(r,a){let i=e.race.orbit_decay?"orbit_decayed":"cataclysm",s=function(n,c,o){return o==="space"?n.hasOwnProperty("trait")?n.trait.push(c):n.trait=[c]:o==="tauceti"?n.reqs.isolation=1:n.hasOwnProperty("not_trait")?n.not_trait.push(c):n.not_trait=[c],n};switch(r){case"bonfire":{let n={id:`${a}-bonfire`,title:t("city_bonfire"),desc:t("city_bonfire_desc"),category:"outskirts",wiki:!1,reqs:{primitive:3},condition(){return ke("summer")},queue_complete(){return 0},effect(){let c=e.resource.Thermite.diff*2.5/(e.resource.Thermite.diff*2.5+500)*500,o=1e5+e.stats.reset*9e3;o>1e6&&(o=1e6);let l=e.resource.Thermite.amount${t("city_bonfire_effect3",[o.toLocaleString()])}
${t("city_bonfire_effect4",[(+e.resource.Thermite.amount.toFixed(0)).toLocaleString(),o.toLocaleString()])}
`:"";return`
${t("city_bonfire_effect",[e.resource.Thermite.diff])}
${t("city_bonfire_effect2",[+c.toFixed(1)])}
${l}`},action(){return!1},flair(){return t("city_bonfire_flair")}};return s(n,i,a)}case"firework":{let n={id:`${a}-firework`,title:t("city_firework"),desc:t("city_firework"),category:"outskirts",wiki:!1,reqs:{mining:3},condition(){return ke("firework")&&e[a].firework&&(e.tech.cement||e.race.flier)},cost:{Money(){return e[a].firework.count===0?5e4:0},Iron(){return e[a].firework.count===0?7500:0},Cement(){return e[a].firework.count===0?1e4:0}},queue_complete(){return 1-e[a].firework.count},switchable(){return!0},effect(){return e[a].firework.count===0?t("city_firework_build"):t("city_firework_effect")},action(){return e[a].firework.count===0&&_($(this)[0])?(e[a].firework.count=1,!0):!1}};return s(n,i,a)}case"assembly":{let n=function(o){let l=he(o);return e.race.promiscuous&&(l/=1+v.promiscuous.vars()[1]*e.race.promiscuous),Math.round(l)},c={id:`${a}-assembly`,title:t("city_assembly"),desc(){return t("city_assembly_desc",[x[e.race.species].name])},category:"military",reqs:{},trait:["artifical"],queue_complete(){return e.resource[e.race.species].max-e.resource[e.race.species].amount},cost:{Money(o){return e.resource[e.race.species].amount?F("citizen",o,n(125),1.01):0},Copper(o){return e.race.deconstructor?0:e.resource[e.race.species].amount>=5?F("citizen",o,n(50),1.01):0},Aluminium(o){return e.race.deconstructor?0:e.resource[e.race.species].amount>=5?F("citizen",o,n(50),1.01):0},Nanite(o){return e.race.deconstructor&&e.resource[e.race.species].amount>=3?F("citizen",o,n(500),1.01):0}},effect(){let o="";return e.resource[e.race.species].max===e.resource[e.race.species].amount&&(o=`
${t("city_assembly_effect_warn")}
`),`
${t("city_assembly_effect",[x[e.race.species].name])}
${o}`},action(){return e.race.vax&&e.race.vax>=100?!0:e.resource[e.race.species].max>e.resource[e.race.species].amount&&_($(this)[0])?(e.resource[e.race.species].amount++,!0):!1}};return s(c,i,a)}case"nanite_factory":{let n={id:`${a}-nanite_factory`,title:t("city_nanite_factory"),desc:t("city_nanite_factory"),category:"industrial",reqs:{},trait:["deconstructor"],region:"city",cost:{Money(c){return F("nanite_factory",c,25e3,De(1.25))},Copper(c){return F("nanite_factory",c,1200,De(1.25))},Steel(c){return F("nanite_factory",c,1e3,De(1.25))}},effect(){let c=G(2500);return`
${t("city_nanite_factory_effect",[e.resource.Nanite.name])}
${t("plus_max_resource",[c,e.resource.Nanite.name])}.
`},special:!0,action(){return _($(this)[0])?(S("nanite_factory","city"),e.settings.showIndustry=!0,Fe(),!0):!1},flair:t("city_nanite_factory_flair")};return s(n,i,a)}case"captive_housing":{let n={id:`${a}-captive_housing`,title:t("city_captive_housing"),desc:t("city_captive_housing_desc"),category:"residential",reqs:{unfathomable:1},trait:["unfathomable"],region:"city",cost:{Money(c){return F("captive_housing",c,40,1.35)},Lumber(c){return F("captive_housing",c,30,1.35)},Stone(c){return F("captive_housing",c,18,1.35)}},effect(){let c="";if(!e.race.artifical&&!e.race.detritivore&&!e.race.carnivore&&!e.race.soul_eater){let u=e.city.hasOwnProperty("captive_housing")?e.city.captive_housing.cattle:0,p=e.city.hasOwnProperty("captive_housing")?e.city.captive_housing.cattleCap:0;c+=`
${t("city_captive_housing_cattle",[u,p])}
`}let o=0;if(e.city.hasOwnProperty("surfaceDwellers"))for(let u=0;u${t("city_captive_housing_broken",[x[p].name,h])}`,c+=`
${t("city_captive_housing_untrained",[x[p].name,d])}
`}let l=e.city.hasOwnProperty("captive_housing")?e.city.captive_housing.raceCap:0;return c+=`
${t("city_captive_housing_capacity",[o,l])}
`,e.tech.unfathomable&&e.tech.unfathomable>=2&&(c+=`
${t("plus_max_resource",[1,t("job_torturer")])}
`),c},action(){if(_($(this)[0])){S("captive_housing","city");let c=e.city.captive_housing.count;return e.city.captive_housing.raceCap=c*(e.tech.unfathomable&&e.tech.unfathomable>=3?3:2),e.city.captive_housing.cattleCap=c*5,!0}return!1},struct(){return{d:{count:0,cattle:0,cattleCatch:0,race0:0,jailrace0:0,race1:0,jailrace1:0,race2:0,jailrace2:0,raceCap:0,cattleCap:0},p:["captive_housing","city"]}}};return s(n,i,a)}case"horseshoe":{let n={id:`${a}-horseshoe`,title(){return t(`city_${Lt(!0)}`,[Lt(!1)])},desc(){return t(`city_${Lt(!0)}_desc`,[Lt(!1)])},category:"outskirts",reqs:{primitive:3},condition(){return e.race.hooved||ke("fool",2023)},inflation:!1,cost:{Lumber(c){let o=(e.race.shoecnt||0)+(c||0);return!e.race.kindling_kindred&&!e.race.smoldering&&(!e.resource.Copper.display||o<=12)?Math.round((o>12?25:5)*(o<=5?1:o-4)*(v.hooved.vars()[0]/100)):0},Copper(c){let o=(e.race.shoecnt||0)+(c||0),l=!(e.race.kindling_kindred||e.race.smoldering);return!!((!l||l&&o>12&&e.resource.Copper.display)&&(!e.resource.Iron.display||o<=75))?Math.round((o>75?20:5)*(o<=12?1:o-11)*(v.hooved.vars()[0]/100)):0},Iron(c){let o=(e.race.shoecnt||0)+(c||0);return e.resource.Iron.display&&o>75&&(!e.resource.Steel.display||o<=150)?Math.round((o<=150?12:28)*o*(v.hooved.vars()[0]/100)):0},Steel(c){let o=(e.race.shoecnt||0)+(c||0);return e.resource.Steel.display&&o>150&&(!e.resource.Adamantite.display||o<=500)?Math.round((o<=500?40:100)*o*(v.hooved.vars()[0]/100)):0},Adamantite(c){let o=(e.race.shoecnt||0)+(c||0);return e.resource.Adamantite.display&&o>500&&(!e.resource.Orichalcum.display||o<=5e3)?Math.round((o<=5e3?5:25)*o*(v.hooved.vars()[0]/100)):0},Orichalcum(c){let o=(e.race.shoecnt||0)+(c||0);return e.resource.Orichalcum.display&&o>5e3?Math.round((25*o-12e4)*(v.hooved.vars()[0]/100)):0}},action(){return!e.race.hooved&&ke("fool",2023)?!0:e.resource.Horseshoe.display&&_($(this)[0])?(e.resource.Horseshoe.amount++,e.race.shoecnt++,e.race.shoecnt===5001&&e.resource.Orichalcum.display||e.race.shoecnt===501&&e.resource.Adamantite.display||e.race.shoecnt===151&&e.resource.Steel.display||e.race.shoecnt===76&&e.resource.Iron.display||e.race.shoecnt===13&&e.resource.Copper.display&&e.resource.Lumber.display?0:!0):!1}};return s(n,i,a)}}}function qt(r,a){a=a||"evo";let i=e.evolution.final||0;return(e.tech[a]&&e.tech[a]===r||e.evolution.gselect)&&i<100}var yi=["human","orc","elven","troll","ogre","cyclops","kobold","goblin","gnome","cath","wolven","vulpine","centaur","rhinotaur","capybara","tortoisan","gecko","slitheryn","arraak","pterodacti","dracnid","sporgar","shroomi","moldling","mantis","scorpid","antid","entish","cacti","pinguicula","sharkin","octigoran","dryad","satyr","phoenix","salamander","yeti","wendigo","tuskin","kamel","imp","balorg","seraph","unicorn","synth","nano","ghast","shoggoth","dwarf","raccoon","lichen","wyvern","beholder","djinn","narwhal","bombardier","nephilim","custom","hybrid"];yi.forEach(function(r){(!["custom","hybrid"].includes(r)||r==="custom"&&e.custom.hasOwnProperty("race0")||r==="hybrid"&&e.custom.hasOwnProperty("race1"))&&(m.evolution[r]={id:`evolution-${r}`,title(){return x[r].name},desc(){return`${t("evo_evolve")} ${x[r].name}`},reqs:{evo:7},grant:["evo",8],condition(){let a=e.stats.achieve.godslayer&&x[r].type==="hybrid"?x[r].hybrid:[x[r].type],i=!1;return a.forEach(function(s){e.tech[`evo_${s}`]>=2&&(i=!0)}),(e.race.seeded||e.stats.achieve.mass_extinction&&e.stats.achieve.mass_extinction.l>=1||e.stats.achieve[`extinct_${r}`]&&e.stats.achieve[`extinct_${r}`].l>=1)&&i&&e.evolution.final===100&&!e.race.evoFinalMenu},cost:{RNA(){return 320},DNA(){return 320}},race:!0,effect(){return`${typeof x[r].desc=="string"?x[r].desc:x[r].desc()} ${t("evo_complete")}`},action(){if(_($(this)[0])){if(["synth","custom"].includes(r))return d_(r);e.race.species=r,en()}return!1},queue_complete(){return e.tech.evo&&e.tech.evo===7?1:0},emblem(){return at(`extinct_${r}`)}})});Object.keys(e.stats.synth).length>1&&Re(yi.filter(a=>!["nano","synth"].includes(a))).forEach(a=>m.evolution[`s-${a}`]={id:`evolution-s-${a}`,title(){return x[a].name},desc(){return`${t("evo_imitate")} ${x[a].name}`},reqs:{evo:8},grant:["evo",9],condition(){return a==="custom"&&!e.custom.hasOwnProperty("race0")||a==="hybrid"&&!e.custom.hasOwnProperty("race1")?!1:(e.stats.synth[a]||e.beta)&&e.race.evoFinalMenu},cost:{},wiki:!1,race:!0,effect(){return t("evo_imitate_race",[x[a].name])},action(){return(e.stats.synth[a]||e.beta)&&(e.race.species=e.race.evoFinalMenu,e.race.srace=a,en()),!1},queue_complete(){return e.tech.evo&&e.tech.evo===8?1:0}});var aa={plasmid:"no_plasmid",mastery:"weak_mastery",trade:"no_trade",craft:"no_craft",crispr:"no_crispr",nerfed:"nerfed",badgenes:"badgenes"};Object.keys(aa).forEach(r=>m.evolution[r]={id:`evolution-${r}`,title:t(`evo_challenge_${r}`),desc:t(`evo_challenge_${r}`),condition(){return e.evolution.hasOwnProperty(r)},cost:{DNA(){return 10}},challenge:!0,effect(){return rl(r)},action(){return _($(this)[0])&&(e.race[aa[r]]?(delete e.race[aa[r]],$(`#${$(this)[0].id}`).removeClass("hl"),(e.race.truepath||e.race.lone_survivor)&&(delete e.race.nerfed,delete e.race.badgenes),["junker","cataclysm","banana","truepath","lone_survivor","fasting"].forEach(function(a){delete e.race[a],$(`#evolution-${a}`).removeClass("hl")})):(e.race[aa[r]]=1,$(`#${$(this)[0].id}`).addClass("hl")),Ys(),rn()),!1},highlight(){return!!e.race[aa[r]]},queue_complete(){return 0}});var Zs={joyless:{t:"c",e:"joyless"},steelen:{t:"c",e:"steelen"},decay:{t:"c",e:"dissipated"},emfield:{t:"c",e:"technophobe"},inflation:{t:"c",e:"wheelbarrow"},sludge:{t:"c",e:"extinct_sludge"},ultra_sludge:{t:"c",e:"extinct_ultra_sludge"},orbit_decay:{t:"c",e:"lamentis"},gravity_well:{t:"c",e:"escape_velocity"},witch_hunter:{t:"c",e:"soul_sponge"},simulation:{t:"c",e:"thereisnospoon"},junker:{t:"s",e:"extinct_junker"},cataclysm:{t:"s",e:"iron_will"},banana:{t:"s",e:"banana"},truepath:{t:"s",e:"pathfinder"},lone_survivor:{t:"s",e:"adam_eve"},fasting:{t:"s",e:"endless_hunger"}};Object.keys(Zs).forEach(r=>m.evolution[r]={id:`evolution-${r}`,title:t(`evo_challenge_${r}`),desc(){let a="";return e.race.universe==="micro"&&(a=a+`
${t("evo_challenge_micro_warn")}
`),a=a+`
${t(`evo_challenge_${r}_desc`)}
`,["sludge","junker","ultra_sludge"].includes(r)&&(a=a+`
${t("evo_start")}
`),a},condition(){return e.evolution.hasOwnProperty(r)},cost:{DNA(){return Zs[r].t==="c"?25:50}},challenge:!0,effect(){return rl(r)},action(){return _($(this)[0])&&(Zs[r].t==="c"?Uu(r):Wu(r)),!1},emblem(){return at(Zs[r].e)},highlight(){return!!e.race[r]},queue_complete(){return 0}});m.evolution.bunker={id:"evolution-bunker",title:t("evo_bunker"),desc(){return`
${t("evo_bunker")}
${t("evo_challenge")}
`},reqs:{evo:6},grant:["evo_challenge",1],condition(){return e.genes.challenge&&e.evolution.final===100&&!e.race.evoFinalMenu},cost:{DNA(){return 10}},effect:t("evo_bunker_effect"),action(){return!!_($(this)[0])},queue_complete(){return e.tech.evo_challenge?0:1},flair:t("evo_bunker_flair")};function As(){if(!(!e.settings.tabLoad&&e.settings.civTabs!==0)&&!(e.race.universe==="bigbang"||e.race.seeded&&!e.race.chose)){if(e.tech.evo_challenge){let r=$("#evolution .evolving").nextAll();Object.values(r).forEach(function(a){K($(a),!0)}),K($("#evolution .evolving"),!0)}Object.keys(m.evolution).forEach(function(r){if(!m.evolution[r].challenge){na(m.evolution[r].id);var a=!0;m.evolution[r].hasOwnProperty("reqs")&&Object.keys(m.evolution[r].reqs).forEach(function(i){(!e.tech[i]||e.tech[i]=2&&sl(),e.tech.evo_challenge&&Ys())}}function rl(r){switch(r){case"nerfed":let a=e.race.universe==="antimatter"?["20%","50%","50%","33%"]:["50%","20%","50%","33%"];return t(`evo_challenge_${r}_effect`,a);case"badgenes":return t(`evo_challenge_${r}_effect`,[1,2]);case"orbit_decay":return jt()>=100?`
${t("evo_challenge_orbit_decay_effect",[5e3])}
${t("evo_challenge_scenario_failwarn")}
`:`
${t("evo_challenge_orbit_decay_effect",[5e3])}
${t("evo_challenge_scenario_failwarn")}
${t("evo_challenge_scenario_warn")}
`;case"junker":return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_challenge_junker_effect")}
${t("evo_warn_unwise")}
`:t("evo_challenge_junker_effect");case"cataclysm":return jt()>=50?`
${t("evo_challenge_cataclysm_effect")}
${t("evo_challenge_cataclysm_warn")}
`:`
${t("evo_challenge_cataclysm_effect")}
${t("evo_challenge_scenario_warn")}
`;default:return t(`evo_challenge_${r}_effect`)}}function Qn(){let r;if(e.race.universe==="antimatter"||e.race.no_plasmid){let a=lc(100);if(a=+a.toFixed(3),r=`
${t("city_temple_effect1",[a])}
`,e.race.universe==="antimatter"){let i=6;if(e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display){let s=e.genes.ancients>=5?.12:e.genes.ancients>=3?.1:.08;e.race.high_pop&&(s=he(s)),i+=s*Xe(e.civic.priest.workers,"priest")}r+=`
${t("city_temple_effect5",[i.toFixed(2)])}
`}}else{let a=uc(100);a=+a.toFixed(3),r=`
${t("city_temple_effect2",[a])}
`}return e.tech.fanaticism&&e.tech.fanaticism>=3&&(r=r+`
${t("city_temple_effect3")}
`),e.tech.anthropology&&e.tech.anthropology>=4&&(r=r+`
${e.race.truepath?t("city_temple_effect_tp",[2,25]):t("city_temple_effect4")}
`),r}function Gi(){let r=e.tech.gambling>=3?6e4:4e4;e.tech.gambling>=5&&(r+=e.tech.gambling>=6?24e4:6e4),r=G(r),e.race.gambler&&(r*=1+e.race.gambler*.04),e.tech.world_control&&(r=r*1.25),e.race.truepath&&(r=r*1.5),e.tech.stock_exchange&&e.tech.gambling>=4&&(r*=1+e.tech.stock_exchange*.05),e.race.inflation&&(r*=1+e.race.inflation/100),e.tech.isolation&&(r*=5.5),r=Math.round(r);let a=e.race.joyless?"":`
${t("plus_max_resource",[E(1),t("job_entertainer")])}
`,i=e.race.orbit_decayed||e.tech.isolation?`
${t("plus_max_resource",[E(1),t("banker_name")])}
`:"",s=`
${t("plus_max_resource",[`$${r.toLocaleString()}`,t("resource_Money_name")])}
${a}${i}
${t("city_max_morale",[1])}
`,n=Math.log2(1+e.resource[e.race.species].amount)*(e.race.gambler?2.5+e.race.gambler/10:2.5);return e.tech.gambling&&e.tech.gambling>=2&&(n*=e.tech.gambling>=5?2:1.5),e.tech.stock_exchange&&e.tech.gambling>=4&&(n*=1+e.tech.stock_exchange*.01),e.civic.govern.type==="corpocracy"&&(n*=3),e.civic.govern.type==="socialist"&&(n*=.8),e.race.inflation&&(n*=1+e.race.inflation/1250),e.tech.isolation&&(n*=1.25,e.tech.iso_gambling&&(n*=1+Xe(e.civic.banker.workers,"banker")*.05)),e.race.wish&&e.race.wishStats&&e.race.wishStats.casino&&(n*=1.35),n=+n.toFixed(2),s=s+`
${t("tech_casino_effect2",[n])}
`,s}function ha(r,a,i,s){return((e.evolution.hasOwnProperty(r)?e.evolution[r].count:0)+(s||0))*i+a}function Uu(r){e.race[r]?(delete e.race[r],$(`#evolution-${r}`).removeClass("hl"),r==="sludge"&&Object.keys(x).forEach(function(a){a!=="junker"&&a!=="sludge"&&a!=="ultra_sludge"&&$(`#evolution-${a}`).removeClass("is-hidden")})):(e.race[r]=1,$(`#evolution-${r}`).addClass("hl"),(r==="sludge"||r==="ultra_sludge")&&(Object.keys(x).forEach(function(a){a!=="junker"&&a!=="sludge"&&a!=="ultra_sludge"&&$(`#evolution-${a}`).addClass("is-hidden")}),e.race.junker&&delete e.race.junker,r!=="sludge"&&delete e.race.sludge,r!=="ultra_sludge"&&delete e.race.ultra_sludge),r==="orbit_decay"&&(delete e.race.cataclysm,e.race.lone_survivor&&(delete e.race.lone_survivor,["nerfed","badgenes"].forEach(function(a){delete e.race[aa[a]]})))),Ys(),rn()}function Wu(r){if(e.race.sludge||Object.keys(x).forEach(function(a){a!=="junker"&&a!=="sludge"&&a!=="ultra_sludge"&&$(`#evolution-${a}`).removeClass("is-hidden")}),e.race[r])delete e.race[r],$(`#evolution-${r}`).removeClass("hl"),["nerfed","badgenes"].forEach(function(a){delete e.race[aa[a]]});else{["junker","cataclysm","banana","truepath","lone_survivor","fasting"].forEach(function(i){delete e.race[i],$(`#evolution-${i}`).removeClass("hl")}),e.race[r]=1,$(`#evolution-${r}`).addClass("hl"),r==="junker"&&(Object.keys(x).forEach(function(i){i!=="junker"&&i!=="sludge"&&i!=="ultra_sludge"&&$(`#evolution-${i}`).addClass("is-hidden")}),e.race.sludge&&delete e.race.sludge,e.race.ultra_sludge&&delete e.race.ultra_sludge),(r==="cataclysm"||r==="lone_survivor")&&delete e.race.orbit_decay,r==="truepath"||r==="lone_survivor"?(e.race.nerfed=1,["crispr","plasmid","mastery"].forEach(function(i){delete e.race[aa[i]]})):(["nerfed","badgenes"].forEach(function(i){delete e.race[aa[i]]}),e.race.universe==="antimatter"?(e.race.weak_mastery=1,$("#evolution-mastery").hasClass("hl")||$("#evolution-mastery").addClass("hl")):(e.race.no_plasmid=1,$("#evolution-plasmid").hasClass("hl")||$("#evolution-plasmid").addClass("hl")));let a=r==="truepath"||r==="lone_survivor"?["badgenes","trade","craft"]:["crispr","trade","craft"];for(let i=0;i=3&&(i*=e.tech.storage>=4?3:1.5),e.race.pack_rat&&(i*=1+v.pack_rat.vars()[1]/100);let s=re("kobold");return s>0&&(i*=1+v.pack_rat.vars(1)[1]/100*s),e.tech.storage>=6&&(i*=1+e.tech.supercollider/20),e.tech.tp_depot&&(i*=1+e.tech.tp_depot/20),e.tech.shelving&&e.tech.shelving>=3&&(i*=1.5),e.stats.achieve.blackhole&&(i*=1+e.stats.achieve.blackhole.l*.05),i*=e.tech.world_control?3:1,e.race.ascended&&(i*=1.1),e.blood.hoarder&&(i*=1+e.blood.hoarder/100),e.tech.storage>=7&&e.interstellar.cargo_yard&&(i*=1+e.interstellar.cargo_yard.count*Cr(a)/100),i*r}function Kr(r){if((e.race.kindling_kindred||e.race.smoldering)&&r==="lumber")return!1;if((e.race.kindling_kindred||e.race.smoldering)&&r==="stone")return!0;let a=e.race.truepath?"truepath":"standard";if(m.city[r].hasOwnProperty("path")&&!m.city[r].path.includes(a))return!1;var i=!0;return Object.keys(m.city[r].reqs).forEach(function(s){(!e.tech[s]||e.tech[s]=3&&(s=!0,e.r_queue.queue.forEach(function(c){dc(c.type,!1)&&(a[m[c.action][c.type].grant[0]]={v:m[c.action][c.type].grant[1],a:c.type})}),Object.keys(n).forEach(function(c){let o=e.tech[c]||0;tl(c,e.tech[c]||0)||(!a[c]||a[c].vo+1)&&(s=!1)})),(i||s)&&(!e.tech[m.tech[r].grant[0]]||e.tech[m.tech[r].grant[0]]=m.tech[r].grant[1])switch(r){case"fanaticism":return!!e.tech.fanaticism;case"anthropology":return!!e.tech.anthropology;case"deify":return!!e.tech.ancient_deify;case"study":return!!e.tech.ancient_study;case"isolation_protocol":return!!e.tech.isolation;case"focus_cure":return!!e.tech.focus_cure;case"vax_strat1":return!!e.tech.vax_p;case"vax_strat2":return!!e.tech.vax_f;case"vax_strat3":return!!e.tech.vax_s;case"vax_strat4":return!!e.tech.vax_c;default:return!0}return!1}function pc(r){let a=!0;return r.power_reqs&&Object.keys(r.power_reqs).forEach(function(i){(!e.tech[i]||e.tech[i]`).appendTo("#city").append(`

${t(`city_dist_${i}`)}

`),r[i].forEach(function(s){Ee("city",s)}),N(`dist-${i}`,function(){return t(`city_dist_${i}_desc`)},{elm:`#city-dist-${i} h3`,classes:"has-background-light has-text-dark"})}})}function ae(){if(!e.settings.tabLoad&&e.settings.civTabs!==3)return;let r={},a={},i={},s=[],n=[],c=[];["primitive","civilized","discovery","industrialized","globalized","early_space","deep_space","interstellar","intergalactic"].forEach(function(u){i[u]=[]});let o={interstellar:"solar"},l={};Object.keys(m.tech).forEach(function(u){if(!Qu(u))return;na(m.tech[u].id);let p=Ju(u),h=m.tech[u],d="category"in h?h.category:"research";if(!p&&s.indexOf(d)===-1&&s.push(d),p&&n.indexOf(d)===-1&&n.push(d),c.indexOf(d)===-1&&c.push(d),p===!0)d in a||(a[d]=[]),a[d].push(u);else{let g=m.tech[u];if(!ma(g,u))return;let w=dc(u,l);if(!w)return;d in r||(r[d]=[]);let k=e.race.truepath&&o[g.era]?o[g.era]:g.era;i.hasOwnProperty(k)||(i[k]=[]),i[k].push({t:u,p:w==="precog"})}}),K($("#tech")),Object.keys(i).forEach(function(u){i[u].length>0&&($("#tech").append(`

${t(`tech_era_${u}`)}

`),i[u].sort(function(p,h){return m.tech[p.t].cost.Knowledge==null?-1:m.tech[h.t].cost.Knowledge==null?1:m.tech[p.t].cost.Omniscience!=null&&m.tech[h.t].cost.Omniscience!=null?m.tech[p.t].cost.Omniscience()>m.tech[h.t].cost.Omniscience()?1:-1:m.tech[p.t].cost.Knowledge()>m.tech[h.t].cost.Knowledge()?1:-1}),i[u].forEach(function(p){Ee("tech",p.t,!1,p.p?l:!1)}))}),c.forEach(function(u){K($(`#tech-dist-${u}`),!0),K($(`#tech-dist-old-${u}`),!0)}),n.forEach(function(u){if(!(u in a))return;$(`
`).appendTo("#oldTech").append(`

${t(`tech_dist_${u}`)}

`);let p=mt(4,12,!1);p.length>0&&u==="science"&&$("#tech-dist-old-science h3").append(p),a[u].forEach(function(h){Ee("tech",h,!0,!1)})})}function Ee(r,a,i,s){let n=m[r][a];er(n,r,a,i,s)}function er(r,a,i,s,n){if(ma(r,i)===!1)return;let c=a;a==="outerSol"&&(a="space"),r.region&&(a=r.region),r.powered&&!e[a][i].on&&(e[a][i].on=0);let o=r.id;na(o);let l="";n&&r&&r.reqs&&Object.keys(r.reqs).forEach(function(d){n[d]&&(l+=` data-req-${d}="${n[d].a}"`)});let u=r.highlight&&r.highlight()?$(`
`):$(`
`);_r(r,!1,["genes","blood"].includes(a))||u.addClass("cna"),_r(r,!0,["genes","blood"].includes(a))||u.addClass("cnam");let p;if(s)p=$('{{ title }}');else{let d="",g="";if(r.cost){let M=a!=="genes"&&a!=="blood"?Ct(r):r.cost;Object.keys(M).forEach(function(q){let P=M[q]();P>0&&(d=d+` res-${q}`,g=g+` data-${q}="${P}"`)})}let w="";r.class&&(w=typeof r.class=="function"?` ${r.class()}`:` ${r.class}`),n&&(w=" precog");let k=r.highlight?r.highlight()?`${t("active")}`:`${t("not_active")}`:"";p=$(`${k}{{ title }} description`)}if(u.append(p),r.hasOwnProperty("special")&&(typeof r.special=="function"&&r.special()||r.special===!0)){let d=$(`
+ `);a.append(i),$("#r_civics").append(a),C({el:"#government .govTabs2",data:{t:e.civic.taxes,s:e.settings},methods:{vis(){return!!e.tech.govern}}}),ju($("#r_govern0")),Au($("#r_govern0"));var s=$('
');$("#r_govern0").append(s),Ne()}}function Ni(){if(Wi(),!(!e.settings.tabLoad&&(e.settings.civTabs!==2||e.settings.govTabs!==3))){var r=$('
');$("#military").append(r),$("#military").append($('
')),jr(r,!0),Eu()}}function Wi(){e.civic.garrison||(e.civic.garrison={display:!1,disabled:!1,rate:0,progress:0,tactic:0,workers:0,wounded:0,raid:0,max:0}),e.civic.garrison.mercs||(e.civic.garrison.mercs=!1),e.civic.garrison.fatigue||(e.civic.garrison.fatigue=0),e.civic.garrison.protest||(e.civic.garrison.protest=0),e.civic.garrison.m_use||(e.civic.garrison.m_use=0),e.civic.garrison.crew||(e.civic.garrison.crew=0),e.civic.mad||(e.civic.mad={display:!1,armed:!0})}function Ti(r){if(e.race.truepath){if(e.civic.foreign[`gov${r}`].hstl<10)return 1+(10-e.civic.foreign[`gov${r}`].hstl)/40;if(e.civic.foreign[`gov${r}`].hstl>60)return 1-(-60+e.civic.foreign[`gov${r}`].hstl)/160}return 1}function pt(r){if(typeof e.civic.foreign[`gov${r}`].name>"u"){let a=Gr();e.civic.foreign[`gov${r}`].name={s0:a.s0,s1:a.s1}}return t(`civics_gov${e.civic.foreign[`gov${r}`].name.s0}`,[e.civic.foreign[`gov${r}`].name.s1])}var Fo=function(){return{anarchy:t("govern_anarchy_effect"),autocracy:t("govern_autocracy_effect",Be.autocracy()),democracy:t("govern_democracy_effect",Be.democracy()),oligarchy:e.tech.high_tech&&e.tech.high_tech>=12?t("govern_oligarchy_effect_alt",[Be.oligarchy()[1]]):t("govern_oligarchy_effect",[Be.oligarchy()[0],Be.oligarchy()[1]]),theocracy:t("govern_theocracy_effect",Be.theocracy()),theocracy_alt:t("govern_theocracy_effect_alt",Be.theocracy()),republic:t("govern_republic_effect",Be.republic()),socialist:t("govern_socialist_effect",Be.socialist()),corpocracy:t("govern_corpocracy_effect",Be.corpocracy()),technocracy:e.tech.high_tech&&e.tech.high_tech>=16?t("govern_technocracy_effect_alt",[Be.technocracy()[0],Be.technocracy()[2]]):t("govern_technocracy_effect",Be.technocracy()),federation:t("govern_federation_effect",[Be.federation()[0],Be.federation()[1]]),federation_alt:t("govern_federation_effect_alt",[25,Be.federation()[2],Be.federation()[1]]),magocracy:t("govern_magocracy_effect",Be.magocracy()),dictator:t("govern_dictator_effect",Be.dictator())}},Be={autocracy(){let r=e.tech.high_tech&&e.tech.high_tech>=2?e.tech.high_tech>=12?10:18:25,a=Q("organizer",0)?40:35;return e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(a+=Q("organizer",0)?10:5),[r,a]},democracy(){let r=e.tech.high_tech&&e.tech.high_tech>=2?e.tech.high_tech>=12?30:25:20,a=Q("organizer",0)?1:5;return e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(r+=Q("organizer",0)?10:5),[r,a]},oligarchy(){let r=e.tech.high_tech&&e.tech.high_tech>=12?0:e.tech.high_tech&&e.tech.high_tech>=2?2:5,a=Q("organizer",0)?25:20;return e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(a+=Q("organizer",0)?10:5),[r,a]},theocracy(){let r=12,a=Q("organizer",0)?10:25,i=e.tech.high_tech&&e.tech.high_tech>=12?e.tech.high_tech>=16?25:40:50;return e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(r+=Q("organizer",0)?2:1),[r,a,i]},republic(){let r=Q("organizer",0)?30:25,a=e.tech.high_tech&&e.tech.high_tech>=12?e.tech.high_tech>=16?40:30:20;return e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(a+=Q("organizer",0)?10:5,r+=Q("organizer",0)?10:5),[r,a]},socialist(){let r=e.tech.high_tech&&e.tech.high_tech>=12?e.tech.high_tech>=16?50:42:35,a=Q("organizer",0)?12:10,i=10,s=Q("organizer",0)?10:20;return e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(s-=5,r+=Q("organizer",0)?10:5,a+=Q("organizer",0)?3:2),[r,a,i,s]},corpocracy(){let r=Q("organizer",0)?220:200,a=Q("organizer",0)?175:150,i=Q("organizer",0)?110:100,s=e.tech.high_tech&&e.tech.high_tech>=12?5:10,n=e.tech.high_tech&&e.tech.high_tech>=16?40:30;return e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(r+=Q("organizer",0)?30:20,a+=Q("organizer",0)?15:10,i+=Q("organizer",0)?15:10,n+=Q("organizer",0)?10:5),[r,a,i,s,n]},technocracy(){let r=8,a=e.tech.high_tech&&e.tech.high_tech>=16?0:e.tech.high_tech&&e.tech.high_tech>=12?1:2,i=Q("organizer",0)?18:10;return e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(i+=Q("organizer",0)?7:5),[r,a,i]},federation(){let r=3,a=Q("organizer",0)?12:10,i=e.tech.high_tech&&e.tech.high_tech>=12?e.tech.high_tech>=16?40:36:32;return e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(a+=Q("organizer",0)?6:2,i+=Q("organizer",0)?4:2),[r,a,i]},magocracy(){let r=Q("organizer",0)?30:25,a=e.tech.high_tech&&e.tech.high_tech>=12?e.tech.high_tech>=16?50:40:25;return e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(r+=Q("organizer",0)?10:5,a+=Q("organizer",0)?10:5),[r,a]},dictator(){let r=Q("organizer",0)?25:30,a=e.tech.high_tech&&e.tech.high_tech>=12?12:10,i=e.tech.high_tech&&e.tech.high_tech>=16?6:4;return e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(r-=Q("organizer",0)?10:5,a+=Q("organizer",0)?3:2,i+=Q("organizer",0)?4:2),[r,a,i]}};function ju(r){var a=$('
');r.append(a);var i=$(`
${t("civics_government_type")} {{ type | govern }}
`);a.append(i);var s=$("
");a.append(s);var n=$('');s.append(n);var c={template:''};C({el:"#govType",data:e.civic.govern,filters:{govern(o){return t(`govern_${o}`)},set(o){return o==="anarchy"?t("civics_set_gov"):t("civics_revolution")}},methods:{trigModal(){this.$buefy.modal.open({parent:this,component:c});var o=setInterval(function(){$("#modalBox").length>0&&(clearInterval(o),zu())},50)},startrev(){e.civic.govern.fr=e.civic.govern.rev,e.civic.govern.rev=0},force(){return e.civic.govern.rev>0?t("civics_force_rev_desc"):t("civics_force_rev_desc2")},vis(){return!!e.tech.govern}}}),N("govLabel",function(){let o=e.tech.unify&&e.tech.unify>=2&&e.civic.govern.type==="federation"?"federation_alt":e.civic.govern.type;return o==="theocracy"&&e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display&&(o="theocracy_alt"),$(`
${Ao(e.civic.govern.type)}
${Fo()[o]}
`)}),N("govTypeChange",function(){return e.civic.govern.rev>0?t("civics_change_desc",[e.civic.govern.rev]):t("civics_change_desc2")},{elm:"#govType .change"})}function Ao(r){return e.race.witch_hunter&&r==="magocracy"?t("witch_hunter_magocracy"):t(`govern_${r}_desc`)}function zu(){$("#modalBox").append($(`

${t("civics_government_type")}

`));let r=ht(6,10);r.length>0&&$("#modalBoxTitle").append(r);let a=mt(6,14,!1);a.length>0&&$("#modalBoxTitle").append(a);var i=$('
');$("#modalBox").append(i),e.tech.govern&&(e.civic.govern.type!=="autocracy"&&i.append($(``)),e.civic.govern.type!=="democracy"&&i.append($(``)),e.civic.govern.type!=="oligarchy"&&i.append($(``)),e.tech.gov_theo&&e.civic.govern.type!=="theocracy"&&i.append($(``)),e.tech.govern>=2&&e.civic.govern.type!=="republic"&&i.append($(``)),e.tech.gov_soc&&e.civic.govern.type!=="socialist"&&i.append($(``)),e.tech.gov_corp&&e.civic.govern.type!=="corpocracy"&&i.append($(``)),e.tech.govern>=3&&e.civic.govern.type!=="technocracy"&&i.append($(``)),e.tech.gov_fed&&e.civic.govern.type!=="federation"&&i.append($(``)),e.tech.gov_mage&&e.civic.govern.type!=="magocracy"&&i.append($(``)),e.race.wish&&e.race.wishStats&&e.race.wishStats.gov&&e.civic.govern.type!=="dictator"&&i.append($(``))),C({el:"#govModal",data:e.civic.govern,methods:{setGov(s){if(e.civic.govern.rev===0){let n=e.genes.governor&&e.civic.govern.type==="anarchy";e.civic.govern.type=s;let c=1e3;e.tech.high_tech&&(c+=250,e.tech.high_tech>=3&&(c+=250),e.tech.high_tech>=6&&(c+=250)),e.tech.space_explore&&e.tech.space_explore>=3&&(c+=250),e.race.unorganized&&(c=Math.round(c*(1+v.unorganized.vars()[0]/100))),e.stats.achieve.anarchist&&(c=Math.round(c*(1-e.stats.achieve.anarchist.l/10))),e.race.lawless&&(c=Math.round(c*((100-v.lawless.vars()[0])/100)));let o=re("tuskin");o>0&&(c=Math.round(c*((100-v.lawless.vars(1)[0]*o)/100)));let l=Q("aristocrat",0);l&&(c=Math.round(c*(1-l/100))),e.civic.govern.rev=c+e.civic.govern.fr,n&&ae(),C({el:"#govModal"},"destroy"),$(".modal-background").click(),ue()}}}}),N("GovPop",function(s){let n=$(s.this).data("gov"),c=e.tech.unify&&e.tech.unify>=2&&n==="federation"?"federation_alt":n;return c==="theocracy"&&e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display&&(c="theocracy_alt"),$(`
${Ao(n)}
${Fo()[c]}
`)},{elm:"#govModal button",self:!0,classes:"has-background-light has-text-dark"})}function Ri(){if($("#foreign").length===0&&!e.race.cataclysm&&(!e.tech.world_control||e.race.truepath)&&!e.tech.isolation){let a=$('
');a.append($(`

${t("civics_foreign")}

`)),$("#r_govern0").append(a);var r={template:''};let i=e.race.truepath?5:3;for(let n=0;n{{ '${n}' | gov }} - ${t("civics_garrison_occupy")} - ${t("civics_garrison_annex")} - ${t("civics_garrison_purchase")}
`);a.append(c);let o=$("
");o.append($(``)),o.append($(``)),o.append($(``)),c.append(o),c.append($(`
${t("civics_gov_mil_rate")}: {{ f${n}.mil | military(${n}) }} ({{ f${n}.mil }})
`)),c.append($(`
${t("civics_gov_relations")}: {{ f${n}.hstl | relation }} ({{ f${n}.hstl | hate }})
`)),c.append($(`
${t("civics_gov_eco_rate")}: {{ f${n}.eco | eco(${n}) }} ({{ f${n}.eco }})
`)),c.append($(`
${t("civics_gov_unrest")}: {{ f${n}.unrest | discontent(${n}) }} ({{ f${n}.unrest | turmoil }})
`))}let s={f0:e.civic.foreign.gov0,f1:e.civic.foreign.gov1,f2:e.civic.foreign.gov2,t:e.tech};e.race.truepath&&(s.f3=e.civic.foreign.gov3,s.f4=e.civic.foreign.gov4),C({el:"#foreign",data:s,filters:{military(n,c){return e.civic.foreign[`gov${c}`].spy>=1?n<50?t("civics_gov_v_weak"):n<75?t("civics_gov_weak"):n>300?t("civics_gov_superpower"):n>200?t("civics_gov_v_strong"):n>160?t("civics_gov_strong"):n>125?t("civics_gov_above_average"):t("civics_gov_average"):"???"},relation(n){return n>80?t("civics_gov_hated"):n>60?t("civics_gov_hostile"):n>40?t("civics_gov_poor"):n>25?t("civics_gov_neutral"):n>10?t("civics_gov_liked"):t("civics_gov_good")},eco(n,c){return e.civic.foreign[`gov${c}`].spy>=2?n<60?t("civics_gov_weak"):n<80?t("civics_gov_recession"):n>120?t("civics_gov_strong"):t("civics_gov_average"):"???"},discontent(n,c){return e.civic.foreign[`gov${c}`].spy>=3?n<=0?t("civics_gov_none"):n<30?t("civics_gov_low"):n<60?t("civics_gov_medium"):n<90?t("civics_gov_high"):t("civics_gov_extreme"):"???"},gov(n){return pt(n)},sab(n){return n==="none"?"":t(`civics_spy_${n}`)},hate(n){return`${100-n}%`},turmoil(n){return`${n}%`}},methods:{campaign(n){Io(n)},battleAssessment(n){return ic(n)},trigModal(n){this.$buefy.modal.open({parent:this,component:r});var c=setInterval(function(){$("#modalBox").length>0&&(clearInterval(c),Fu(n))},50)},spy_disabled(n){return e.civic.foreign[`gov${n}`].trn>0||Ks(n)>e.resource.Money.amount},spy(n){To(n)},spyDesc(n){return So(n)},espDesc(){return Co()},vis(){return!!(e.civic.garrison.display&&(!e.tech.world_control||e.race.truepath)&&!e.race.cataclysm&&!e.tech.isolation)},gvis(n){return e.tech.isolation?!1:n<=2?!e.tech.world_control:n===3?!!e.tech.rival:!1}}});for(let n=0;n{{ label() }}"},{elm:`#gov${n} .attack`,in:function(c){C({el:`#${c.id} > span`,data:{test:"val"},methods:{label(){return ic(n)}}})},out:function(c){C({el:c.id},"destroy")}}),N(`gov${n}ts`,function(){return"{{ label() }}"},{elm:`#gov${n} .tspy`,in:function(c){C({el:`#${c.id} > span`,data:{test:"val"},methods:{label(){return So(n)}}})},out:function(c){C({el:c.id},"destroy")}}),N(`gov${n}s`,function(){return Co()},{elm:`#gov${n} .sspy`});e.race.truepath&&N("garRivaldesc1",function(){return t("civics_gov_tp_rival",[pt(3),x[e.race.species].home])},{elm:"#gov3 > span"})}}function So(r){if(e.civic.foreign[`gov${r}`].trn>0)return t("civics_progress");let a=X(Ks(r));return t("civics_gov_spy_desc",[a])}function Co(){return t("civics_gov_esp_desc")}function Ks(r){let a=Math.round(e.civic.foreign[`gov${r}`].mil/2+e.civic.foreign[`gov${r}`].hstl/2-e.civic.foreign[`gov${r}`].unrest)+10;return a<50&&(a=50),e.race.infiltrator&&(a/=3),ja()==="scorpio"&&(a*=1-Zt("scorpio")[0]/100),Math.round(a**(e.civic.foreign[`gov${r}`].spy+1))+500}function To(r){if(e.tech.spy&&e.civic.foreign[`gov${r}`].trn===0){let a=Ks(r);if(e.resource.Money.amount>=a){e.resource.Money.amount-=a;let i=300;e.tech.spy>=3&&e.city.boot_camp&&(i-=(e.race.orbit_decayed&&e.space.space_barracks?e.space.space_barracks.on:e.city.boot_camp.count)*10,i<10&&(i=10)),e.race.infiltrator&&(i=Math.round(i/2)),e.civic.foreign[`gov${r}`].trn=i}}}function jo(r){let a=e.civic.foreign[`gov${r}`].eco*15384;return a*=1+e.civic.foreign[`gov${r}`].hstl*1.6/100,a*=1-e.civic.foreign[`gov${r}`].unrest*.25/100,+a.toFixed(0)}function It(r){return r?e.tech.world_control||e.civic.foreign[r].occ||e.civic.foreign[r].anx||e.civic.foreign[r].buy:e.civic.foreign.gov0.occ||e.civic.foreign.gov1.occ||e.civic.foreign.gov2.occ||e.civic.foreign.gov0.anx||e.civic.foreign.gov1.anx||e.civic.foreign.gov2.anx||e.civic.foreign.gov0.buy||e.civic.foreign.gov1.buy||e.civic.foreign.gov2.buy}function mi(r,a){switch(r){case"influence":if(e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${a}`].spy>=1&&e.civic.foreign[`gov${a}`].sab===0){let i=e.tech.spy>=4?200:300;e.civic.foreign[`gov${a}`].spy===1?i*=1.5:e.civic.foreign[`gov${a}`].spy>=3&&(i-=(e.civic.foreign[`gov${a}`].spy-2)*50),e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(i*=.9),i=Math.ceil(i),e.race.befuddle&&(i=Math.round(i*(1-v.befuddle.vars()[0]/100)));let s=re("dryad");s>0&&(i=Math.round(i*(1-v.befuddle.vars(1)[0]/100*s))),e.civic.foreign[`gov${a}`].sab=i,e.civic.foreign[`gov${a}`].act="influence"}break;case"sabotage":if(e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${a}`].spy>=1&&e.civic.foreign[`gov${a}`].sab===0){let i=e.tech.spy>=4?400:600;e.civic.foreign[`gov${a}`].spy>=2&&(i-=(e.civic.foreign[`gov${a}`].spy-1)*50),e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(i*=.9),i=Math.ceil(i),e.race.befuddle&&(i=Math.round(i*(1-v.befuddle.vars()[0]/100)));let s=re("dryad");s>0&&(i=Math.round(i*(1-v.befuddle.vars(1)[0]/100*s))),e.civic.foreign[`gov${a}`].sab=i,e.civic.foreign[`gov${a}`].act="sabotage"}break;case"incite":{if(a>=3)break;if(e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${a}`].spy>=1&&e.civic.foreign[`gov${a}`].sab===0){let i=e.tech.spy>=4?600:900;e.civic.foreign[`gov${a}`].spy<=2?i*=1.5:e.civic.foreign[`gov${a}`].spy>=4&&(i-=(e.civic.foreign[`gov${a}`].spy-3)*100),e.genes.hasOwnProperty("governor")&&e.genes.governor>=3&&(i*=.9),i=Math.ceil(i),e.race.befuddle&&(i=Math.round(i*(1-v.befuddle.vars()[0]/100)));let s=re("dryad");s>0&&(i=Math.round(i*(1-v.befuddle.vars(1)[0]/100*s))),e.civic.foreign[`gov${a}`].sab=i,e.civic.foreign[`gov${a}`].act="incite"}}break}}function Fu(r){$("#modalBox").append($(`

${t("civics_espionage_actions")}

`));var a=$('
');$("#modalBox").append(a),e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${r}`].spy>=1&&(a.append($(``)),a.append($(``)),r<3&&a.append($(``)),r<3&&e.civic.foreign[`gov${r}`].hstl<=50&&e.civic.foreign[`gov${r}`].unrest>=50&&a.append($(``)),r<3&&e.civic.foreign[`gov${r}`].spy>=3&&a.append($(``))),C({el:"#espModal",data:e.civic.foreign[`gov${r}`],methods:{influence(i){e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${i}`].spy>=1&&(mi("influence",i),C({el:"#espModal"},"destroy"),$(".modal-background").click(),ue())},sabotage(i){e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${i}`].spy>=1&&(mi("sabotage",i),C({el:"#espModal"},"destroy"),$(".modal-background").click(),$("#popGov").hide(),ue())},incite(i){i>=3||e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${i}`].spy>=1&&(mi("incite",i),C({el:"#espModal"},"destroy"),$(".modal-background").click(),ue())},annex(i){if(!(i>=3)&&e.civic.foreign[`gov${r}`].hstl<=50&&e.civic.foreign[`gov${r}`].unrest>=50&&e.city.morale.current>=200+e.civic.foreign[`gov${r}`].hstl-e.civic.foreign[`gov${r}`].unrest&&e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${i}`].spy>=1&&e.civic.foreign[`gov${i}`].sab===0){let s=e.tech.spy>=4?150:300;e.race.befuddle&&(s=Math.round(s*(1-v.befuddle.vars()[0]/100)));let n=re("dryad");n>0&&(s=Math.round(s*(1-v.befuddle.vars(1)[0]/100*n))),e.civic.foreign[`gov${i}`].sab=s,e.civic.foreign[`gov${i}`].act="annex",C({el:"#espModal"},"destroy"),$(".modal-background").click(),ue()}},purchase(i){if(i>=3)return;let s=jo(i);if(s<=e.resource.Money.amount&&e.tech.spy&&e.tech.spy>=2&&e.civic.foreign[`gov${i}`].spy>=3&&e.civic.foreign[`gov${i}`].sab===0){e.resource.Money.amount-=s;let n=e.tech.spy>=4?150:300;e.race.befuddle&&(n=Math.round(n*(1-v.befuddle.vars()[0]/100)));let c=re("dryad");c>0&&(n=Math.round(n*(1-v.befuddle.vars(1)[0]/100*c))),e.civic.foreign[`gov${i}`].sab=n,e.civic.foreign[`gov${i}`].act="purchase",C({el:"#espModal"},"destroy"),$(".modal-background").click(),ue()}}}}),N("GovLabel",function(i){let s=$(i.this).data("esp"),n="";if(s==="purchase"){let o=jo(r).toLocaleString();n=t(`civics_spy_${s}_desc`,[pt(r),o])}else if(s==="annex")if(e.city.morale.current>=200+e.civic.foreign[`gov${r}`].hstl-e.civic.foreign[`gov${r}`].unrest)n=t(`civics_spy_${s}_desc`,[pt(r)]);else{let o=200+e.civic.foreign[`gov${r}`].hstl-e.civic.foreign[`gov${r}`].unrest;n=t(`civics_spy_${s}_goal`,[pt(r),o])}else n=t(`civics_spy_${s}_desc`,[pt(r)]);let c="";return(s==="influence"&&e.civic.foreign[`gov${r}`].hstl===0||s==="sabotage"&&e.civic.foreign[`gov${r}`].spy>=2&&e.civic.foreign[`gov${r}`].mil===50||s==="incite"&&e.civic.foreign[`gov${r}`].spy>=4&&e.civic.foreign[`gov${r}`].unrest===100)&&(c=`
${t("civics_spy_warning")}
`),$(`${c}
${n}
`)},{elm:"#espModal button",self:!0,classes:"has-background-light has-text-dark"})}function rc(r){let a=!!(e.tech.currency&&e.tech.currency>=5);if(r)return(a||e.race.terrifying)&&!e.race.noble?0:e.race.noble?v.noble.vars()[0]:10;{let i=30;e.race.noble?i=v.noble.vars()[1]:(a||e.race.terrifying)&&(i+=20),e.civic.govern.type==="oligarchy"&&(i+=Be.oligarchy()[1]);let s=Q("aristocrat",1);return s&&(i+=s),e.race.wish&&e.race.wishStats&&(i+=e.race.wishStats.tax),i}}function ac(r,a){switch(r){case"add":{let i=a||W(),s=rc(!1);e.race.noble?(e.civic.taxes.tax_rate+=i,e.civic.taxes.tax_rate>(e.civic.govern.type==="oligarchy"?v.noble.vars()[1]+20:v.noble.vars()[1])&&(e.civic.taxes.tax_rate=e.civic.govern.type==="oligarchy"?v.noble.vars()[1]+20:v.noble.vars()[1])):e.civic.taxes.tax_rates&&(e.civic.taxes.tax_rate=s))}break;case"sub":{let i=a||W(),s=rc(!0);e.civic.taxes.tax_rate>s&&(e.civic.taxes.tax_rate-=i,e.civic.taxes.tax_rate');r.append(a);var i=$(`

${t("civics_tax_rates")}

`);a.append(i);var s=$(''),n=$('«'),c=$('»');a.append(n),a.append(s),a.append(c),C({el:"#tax_rates",data:e.civic.taxes,filters:{tax_level(o){let l=ht(11,14),u=mt(2,14,!1);return l.length>0&&(o===0&&!e.race.noble||o===10&&e.race.noble)?l:o===13&&u.length>0?u:`${o}%`}},methods:{add(){ac("add")},sub(){ac("sub")}}}),N("taxRateLabel",function(){return t("civics_tax_rates_desc")},{classes:"has-background-light has-text-dark"})}function Jt(r,a){switch(r){case"m_cost":return Ga();case"m_buy":return Eo(1);case"s_cost":return Ks(a);case"t_spy":return To(a);case"adj_tax":return ac(a,1);case"tax_cap":return rc(a);case"s_influence":return mi("influence",a);case"s_sabotage":return mi("sabotage",a);case"s_incite":return mi("incite",a)}}function Ga(){let r=Math.round(1.24**e.civic.garrison.workers*75)-50;r>25e3&&(r=25e3),e.civic.garrison.m_use>0&&(r*=1.1**e.civic.garrison.m_use),e.race.brute&&(r*=1-v.brute.vars()[0]/100);let a=re("orc");return a>0&&(r*=1-v.brute.vars(1)[0]/100*a),e.race.inflation&&(r*=1+e.race.inflation/500),e.race.high_pop&&(r*=v.high_pop.vars()[1]/100),Math.round(r)}function Eo(r){let a=0;if(e.tech.mercs){let i=r||W(),s=!0;for(;s&&i>0;){let n=Ga();e.civic.garrison.workers=n?(e.resource.Money.amount-=n,e.civic.garrison.workers++,e.civic.garrison.m_use++,a++):s=!1,i--}}return a}function jr(r,a){K(r),e.tech.world_control&&!e.race.truepath?r.append($(`

${t("civics_garrison")}

- ${t("rating")} {{ g.workers | hell | rating }}
`)):r.append($(`

${t("civics_garrison")}

- ${t("rating")} {{ g.workers | hell | rating }} / {{ g.raid | rating }}
`));var i=$("
");r.append(i);var s=$('
');i.append(s);var n=$('
');s.append(n);let c=e.tech.world_control&&!e.race.truepath?t("civics_garrison_peacekeepers"):t("civics_garrison_soldiers");if(e.tech.isolation||(n.append($(`
${c} / {{ g.max | s_max }}
`)),n.append($(`
${t("civics_garrison_crew")} {{ g.crew }}
`)),n.append($(`
${t("civics_garrison_wounded")}
`)),s.append($(`
`))),a){let P="";e.tech.isolation&&(P=ht(8,12)),r.append($(`
${t("civics_garrison_training")} - ${t("arpa_to_complete")} {{ g.rate, g.progress | trainTime }}${P} {{ g.progress }}%
`))}var o=$('
');i.append(o);var l=$('
');if(o.append(l),(!e.tech.world_control||e.race.truepath)&&!e.race.cataclysm&&!e.tech.isolation){var u=$(`
${t("civics_garrison_campaign")}
`);l.append(u);var p=$('{{ g.tactic | tactics }}'),h=$('«'),d=$('»');u.append(h),u.append(p),u.append(d);var g=$(`
${t("civics_garrison_battalion")}
`);l.append(g);var w=$('{{ g.raid }}'),k=$('«'),M=$('»');g.append(k),g.append(w),g.append(M),a&&(e.race.truepath&&e.tech.rival&&o.append($(`
${pt(3)}
`)),e.tech.world_control||(o.append($(`
${pt(0)}
`)),o.append($(`
${pt(1)}
`)),o.append($(`
${pt(2)}
`))))}let q={g:e.civic.garrison,g0:e.civic.foreign.gov0,g1:e.civic.foreign.gov1,g2:e.civic.foreign.gov2};if(e.race.truepath&&(q.g3=e.civic.foreign.gov3,q.g4=e.civic.foreign.gov4),C({el:a?"#garrison":"#c_garrison",data:q,methods:{hire(){if(Eo()===1&&!a){let O=mt(8,14,!0);O.length>0&&$("#c_garrison .hire").append(O)}},campaign(P){Io(P)},next(){e.civic.garrison.tactic<4&&e.civic.garrison.tactic++},last(){e.civic.garrison.tactic>0&&e.civic.garrison.tactic--},aNext(){let P=W();e.civic.garrison.raidwe()&&(e.civic.garrison.raid=we()))},aLast(){let P=W();e.civic.garrison.raid>0&&(e.civic.garrison.raid-=P,e.civic.garrison.raid<0&&(e.civic.garrison.raid=0))},vis(){return e.civic.garrison.display},rvis(){return!!(e.tech.rival&&!e.tech.isolation)}},filters:{tactics(P){switch(P){case 0:return t("civics_garrison_tactic_ambush");case 1:return t("civics_garrison_tactic_raid");case 2:return t("civics_garrison_tactic_pillage");case 3:return t("civics_garrison_tactic_assault");case 4:return t("civics_garrison_tactic_siege")}},rating(P){return+Qe(P,"army").toFixed(1)},hell(P){return we()},stationed(P){let O=we(),U=e.race.cataclysm?13:31,Z=O===U&&!a?mt(2,14,!0):!1;return O===U&&Z.length>0?Z:O},s_max(P){return we(!0)},wounded(P){let O=ht(8,12);return a&&P===0&&O.length>0?O:ke("fool",2021)?we()-P:P},trainTime(P,O){return P===0?ut(-1):ut((100-O)/(P*4))}}}),["tactic","bat","soldier","crew","wounded","hmerc","defenseRating","offenseRating"].forEach(function(P){N(a?`garrison${P}`:`cGarrison${P}`,function(){return"{{ label() }}"},{elm:`${a?"#garrison":"#c_garrison"} .${P}`,in:function(O){C({el:`#${O.id} > span`,data:{test:"val"},methods:{label(){switch(P){case"tactic":switch(e.civic.garrison.tactic){case 0:return t("civics_garrison_tactic_ambush_desc");case 1:return t("civics_garrison_tactic_raid_desc");case 2:return t("civics_garrison_tactic_pillage_desc");case 3:return t("civics_garrison_tactic_assault_desc");case 4:return t("civics_garrison_tactic_siege_desc",[E(e.civic.govern.type==="federation"?15:20)])}case"bat":return t("civics_garrison_army_label");case"soldier":return Wn();case"crew":return t("civics_garrison_crew_desc");case"wounded":return t("civics_garrison_wounded_desc");case"hmerc":{let U=Math.round(Ga()).toLocaleString();return t("civics_garrison_hire_mercenary_cost",[U])}case"defenseRating":return t("civics_garrison_defensive_rate");case"offenseRating":return t("civics_garrison_offensive_rate")}}}})},out:function(O){C({el:O.id},"destroy")}})}),a){let P=e.race.truepath?4:3;for(let O=0;O{{ label() }}"},{elm:`#garrison .gov${O} button`,in:function(U){C({el:`#${U.id} > span`,data:{test:"val"},methods:{label(){return ic(O)}}})},out:function(U){C({el:U.id},"destroy")}});e.race.truepath&&!e.tech.isolation&&N("garRivaldesc2",function(){return t("civics_gov_tp_rival",[pt(3),x[e.race.species].home])},{elm:"#garrison .gov3 > div"})}}function Wn(){let r=Qe(we(),"hunting"),a=[];if((!e.race.herbivore||e.race.carnivore)&&!e.race.artifical){let c=+(r/3).toFixed(2);a.push(c,e.resource.Food.name)}let i=+(r/10).toFixed(2);if(a.push(i,e.resource.Furs.name),e.race.evil&&!e.race.kindling_kindred&&!e.race.smoldering){let c=+(r/(e.race.soul_eater?3:5)).toFixed(2);a.push(c,e.resource.Lumber.name)}let s="civics_garrison_soldier_loot"+a.length/2,n=e.race.evil&&e.race.soul_eater?"civics_garrison_soldier_evil_desc":"civics_garrison_soldier_desc";return t(n)+t(s,a)}function ic(r){if(e.civic.foreign[`gov${r}`].occ)return t("civics_garrison_deoccupy_desc");if(e.civic.foreign[`gov${r}`].buy||e.civic.foreign[`gov${r}`].anx)return t("civics_garrison_secede_desc");if(e.civic.garrison.tactic<=1&&e.civic.foreign[`gov${r}`].spy<1||e.civic.garrison.tactic>=2&&e.civic.garrison.tactic<=3&&e.civic.foreign[`gov${r}`].spy<2||e.civic.garrison.tactic===4&&e.civic.foreign[`gov${r}`].spy<3)return t("civics_garrison_no_spy");let a=Qe(e.civic.garrison.raid,"army"),i=0;switch(e.civic.garrison.tactic){case 0:i=5;break;case 1:i=27.5;break;case 2:i=62.5;break;case 3:i=125;break;case 4:i=300;break}return i*=e.civic.foreign[`gov${r}`].mil/100,e.race.banana&&(i*=2),e.city.biome==="swamp"&&(i*=xe.swamp.vars()[0]),ke("fool",2021)&&(i/=1.25),awe()?e.civic.garrison.raid=we():e.civic.garrison.raid<0&&(e.civic.garrison.raid=0),e.civic.garrison.raid===0){I(t("civics_garrison_campaign_no_soldier"),"warning",!1,["combat"]);return}e.stats.attacks++;let a=e.race.claws?20:16,i=e.race.puny?3:5,s=Math.floor(T(i,a,!0))/10,n=Qe(e.civic.garrison.raid,"army")*s,c=0;switch(e.civic.garrison.tactic){case 0:c=T(0,10,!0),e.civic.foreign[`gov${r}`].hstl+=Math.floor(T(0,2,!0));break;case 1:c=T(5,50,!0),e.civic.foreign[`gov${r}`].hstl+=Math.floor(T(0,3,!0));break;case 2:c=T(25,100,!0),e.civic.foreign[`gov${r}`].hstl+=Math.floor(T(1,5,!0));break;case 3:c=T(50,200,!0),e.civic.foreign[`gov${r}`].hstl+=Math.floor(T(4,12,!0));break;case 4:c=T(100,500,!0),e.civic.foreign[`gov${r}`].hstl+=Math.floor(T(10,25,!0));break}c=Math.floor(c*e.civic.foreign[`gov${r}`].mil/100),e.race.banana&&(c*=2),e.city.biome==="swamp"&&(c*=xe.swamp.vars()[0]),e.race.mistrustful&&(e.civic.foreign[`gov${r}`].hstl+=v.mistrustful.vars()[0]),e.civic.foreign[`gov${r}`].hstl>100&&(e.civic.foreign[`gov${r}`].hstl=100),e.race.blood_thirst&&(e.race.blood_thirst_count+=Math.ceil(c/5),e.race.blood_thirst_count>v.blood_thirst.vars()[0]&&(e.race.blood_thirst_count=v.blood_thirst.vars()[0]));let o=0;if(e.civic.garrison.raid>e.civic.garrison.workers-e.civic.garrison.crew-e.civic.garrison.wounded&&(o=e.civic.garrison.raid-(e.civic.garrison.workers-e.civic.garrison.crew-e.civic.garrison.wounded)),e.civic.garrison.fatigue++,n>c){let l=Math.floor(e.civic.garrison.raid/(5-e.civic.garrison.tactic));l+=o,e.city.ptrait.includes("rage")&&(l+=Ie.rage.vars()[2]),l<1&&(l=1),l>is()&&(l=is());let u=Math.floor(T(0,l,!0));e.race.frail&&(u+=v.frail.vars()[0]);let p=Ss(u);if(e.civic.garrison.raid>o&&(u-=p),u<0&&(u=0),u>e.civic.garrison.raid&&(u=e.civic.garrison.raid),e.race.instinct){let z=Math.floor(u*(v.instinct.vars()[1]/100));u-=z,o+=z}Bt(u),e.civic.garrison.protest+=u,u>o?(e.civic.garrison.wounded-=o,o=0):(e.civic.garrison.wounded-=u,o-=u),e.race.ocular_power&&e.race.ocularPowerConfig&&e.race.ocularPowerConfig.p&&(e.race.ocularPowerConfig.ds+=Math.round(c*v.ocular_power.vars()[1])),e.civic.garrison.wounded+=Math.floor(T(o,e.civic.garrison.raid-u,!0));let h={Money:0,Food:0,Lumber:0,Stone:0,Copper:0,Iron:0,Aluminium:0,Coal:0,Cement:0,Steel:0,Titanium:0,Crystal:0,Chrysotile:0,Furs:0,Iridium:0,Alloy:0,Polymer:0,Oil:0},d=r===3&&e.race.truepath?["Food","Lumber","Stone","Copper","Iron"]:["Food","Lumber","Stone"],g=r===3&&e.race.truepath?["Aluminium","Coal","Cement","Steel","Furs"]:["Copper","Iron","Aluminium","Coal"],w=r===3&&e.race.truepath?["Titanium","Oil","Iridium","Alloy","Polymer"]:["Cement","Steel"];(e.race.artifical||e.race.fasting)&&d.shift(),e.race.smoldering&&d.push("Chrysotile"),e.race.terrifying&&r!==3&&w.push("Titanium"),e.tech.magic&&w.push("Crystal");let k=["Money"];switch(e.civic.garrison.tactic){case 0:{let z=["Money"].concat(d,g);k.push(d[Math.floor(T(0,d.length,!0))]),k.push(z[Math.floor(T(0,z.length,!0))]),e.race.beast_of_burden&&k.push(z[Math.floor(T(0,z.length,!0))]),e.resource.Steel.amount<25&&e.tech.smelting&&e.tech.smelting===1&&Math.floor(T(0,20,!0))===0&&k.push("Steel")}break;case 1:{let z=["Money"].concat(d,g,w);k.push(d[Math.floor(T(0,d.length,!0))]),k.push(g[Math.floor(T(0,g.length,!0))]),k.push(z[Math.floor(T(0,z.length,!0))]),e.race.beast_of_burden&&k.push(z[Math.floor(T(0,z.length,!0))])}break;case 2:{let z=["Money"].concat(d,g,w),Y=g.concat(w);k.push(d[Math.floor(T(0,d.length,!0))]),k.push(g[Math.floor(T(0,g.length,!0))]),k.push(z[Math.floor(T(0,z.length,!0))]),k.push(Y[Math.floor(T(0,Y.length,!0))]),e.race.beast_of_burden&&k.push(z[Math.floor(T(0,z.length,!0))])}break;case 3:{let z=["Money"].concat(d,g,w);k.push(d[Math.floor(T(0,d.length,!0))]),k.push(g[Math.floor(T(0,g.length,!0))]),k.push(w[Math.floor(T(0,w.length,!0))]),k.push(z[Math.floor(T(0,z.length,!0))]),e.race.beast_of_burden&&k.push(z[Math.floor(T(0,z.length,!0))])}break;case 4:{let z=["Money"].concat(d,g,w);k.push(d[Math.floor(T(0,d.length,!0))]),k.push(g[Math.floor(T(0,g.length,!0))]),k.push(w[Math.floor(T(0,w.length,!0))]),k.push(z[Math.floor(T(0,z.length,!0))]),e.race.beast_of_burden&&k.push(z[Math.floor(T(0,z.length,!0))])}break}let M=e.race.terrifying&&r!==3?v.terrifying.vars()[0]:12,q=e.race.terrifying&&r!==3?v.terrifying.vars()[1]:32;k.forEach(function(z){switch(z){case"Money":h[z]+=Math.floor(T(100,375,!0));break;case"Food":h[z]+=Math.floor(T(40,175,!0));break;case"Lumber":case"Stone":h[z]+=Math.floor(T(50,250,!0));break;case"Copper":case"Iron":case"Aluminium":h[z]+=Math.floor(T(35,125,!0));break;case"Coal":case"Cement":h[z]+=Math.floor(T(25,100,!0));break;case"Steel":case"Chrysotile":h[z]+=Math.floor(T(20,65,!0));break;case"Titanium":h[z]+=Math.floor(T(M,q,!0));break;case"Crystal":h[z]+=Math.floor(T(1,5,!0));break;case"Oil":h[z]+=Math.floor(T(20,50,!0));break;case"Iridium":h[z]+=Math.floor(T(2,30,!0));break;case"Alloy":case"Polymer":h[z]+=Math.floor(T(5,38,!0));break}});let P=t("civics_garrison_gained");e.resource.Money.display&&h.Money>0&&(h.Money=zo(h.Money,r),P=P+t("civics_garrison_quant_money",[h.Money]),yt("Money",h.Money)),d.concat(g,w).forEach(function(z){h[z]>0&&(e.resource[z].display||z==="Steel"||z==="Titanium")&&(h[z]=zo(h[z],r),P=P+t("civics_garrison_quant_res",[h[z],e.resource[z].name]),yt(z,h[z]),(z==="Steel"||z==="Titanium")&&(e.resource[z].display=!0))}),P=P.slice(0,-2),P=P+".",I(P,"warning",!1,["combat"]);let U=0;if(e.race.revive){switch(e.city.calendar.temp){case 0:U=Math.floor(T(0,Math.floor(u/v.revive.vars()[0]),!0));break;case 1:U=Math.floor(T(0,Math.floor(u/v.revive.vars()[1]),!0));break;case 2:U=Math.floor(T(0,Math.floor(u/v.revive.vars()[2]),!0));break}e.civic.garrison.workers+=U}if(U>0?I(t("civics_garrison_victorious_revive",[u,U]),"success",!1,["combat"]):I(t("civics_garrison_victorious",[u]),"success",!1,["combat"]),e.race.slaver&&e.city.slave_pen){let z=e.city.slave_pen.count*4;if(z>e.resource.Slave.amount){let Y=Math.floor(T(0,e.civic.garrison.tactic+2,!0));Y+e.resource.Slave.amount>z&&(Y=z-e.resource.Slave.amount),Y>0&&(e.resource.Slave.amount+=Y,I(t("civics_garrison_capture",[Y]),"success",!1,["combat"]))}}if(e.race.infectious){let z=0;switch(e.civic.garrison.tactic){case 0:z=Math.floor(T(0,v.infectious.vars()[0],!0));break;case 1:z=Math.floor(T(0,v.infectious.vars()[1],!0));break;case 2:z=Math.floor(T(0,v.infectious.vars()[2],!0));break;case 3:z=Math.floor(T(0,v.infectious.vars()[3],!0));break;case 4:z=Math.floor(T(0,v.infectious.vars()[4],!0));break}e.resource[e.race.species].amount+z>e.resource[e.race.species].max&&(z=e.resource[e.race.species].max-e.resource[e.race.species].amount),z>0&&(e.resource[e.race.species].amount+=z,e.civic.d_job!=="unemployed"&&(e.civic[e.civic.d_job].workers+=z),z===1?I(t("civics_garrison_soldier_infected"),"special",!1,["combat"]):I(t("civics_garrison_soldiers_infected",[z]),"special",!1,["combat"]))}let Z=E(e.civic.govern.type==="federation"?15:20);if(r<=2&&e.civic.garrison.tactic===4&&e.civic.garrison.workers>=Z){let z=!e.tech.gov_fed&&!It();if(e.civic.garrison.max-=Z,e.civic.garrison.workers-=Z,e.civic.foreign[`gov${r}`].occ=!0,e.civic.foreign[`gov${r}`].sab=0,e.civic.foreign[`gov${r}`].act="none",z&&ae(),e.race.banana){let Y=fe();e.stats.banana.b1[Y]=!0,Y!=="m"&&Y!=="l"&&(e.stats.banana.b1.l=!0)}}}else{let l=e.civic.garrison.raid;l+=o,e.civic.garrison.tactic===0&&(l=Math.floor(l/2)),e.city.ptrait.includes("rage")&&(l+=Ie.rage.vars()[2]),l<1&&(l=1),l>is()&&(l=is());let u=Math.floor(T(1,l,!0));e.race.frail&&(u+=e.civic.garrison.tactic+v.frail.vars()[1]);let p=Ss(u);if(e.civic.garrison.raid>o&&(u-=p),e.race.instinct){let d=Math.floor(u*(v.instinct.vars()[1]/100));u-=d,o+=d}u<1&&(u=1),u>e.civic.garrison.raid&&(u=e.civic.garrison.raid),Bt(u),e.civic.garrison.protest+=u,u>o?(e.civic.garrison.wounded-=o,o=0):(e.civic.garrison.wounded-=u,o-=u),e.civic.garrison.wounded+=1+Math.floor(T(o,e.civic.garrison.raid-u,!0));let h=0;if(e.race.revive){switch(e.city.calendar.temp){case 0:h=Math.floor(T(0,Math.floor(u/v.revive.vars()[3]),!0));break;case 1:h=Math.floor(T(0,Math.floor(u/v.revive.vars()[4]),!0));break;case 2:h=Math.floor(T(0,Math.floor(u/v.revive.vars()[5]),!0));break}e.civic.garrison.workers+=h}h>0?I(t("civics_garrison_defeat_revive",[u,h]),"danger",!1,["combat"]):I(t("civics_garrison_defeat",[u]),"danger",!1,["combat"])}e.civic.garrison.wounded>e.civic.garrison.workers-e.civic.garrison.crew?e.civic.garrison.wounded=e.civic.garrison.workers-e.civic.garrison.crew:e.civic.garrison.wounded<0&&(e.civic.garrison.wounded=0)}function Ss(r){let a=0;if(e.race.scales&&(a+=v.scales.vars()[0]),e.tech.armor&&(a+=e.tech.armor),e.race.high_pop&&(a+=Math.floor(T(0,a*v.high_pop.vars()[0],!0))),e.race.armored){let s=v.armored.vars()[0]/100;a+=Math.floor(r*s)}let i=re("tortoisan");if(i>0){let s=v.armored.vars(1)[0]/100*i;a+=Math.floor(r*s)}return a}function is(){let r=0,a=e.civic.garrison.raid;switch(e.civic.garrison.tactic){case 0:r=5;break;case 1:r=10;break;case 2:r=25;break;case 3:r=50;break;case 4:r=999;break}return e.race.high_pop&&(r=E(r)),a>r&&(a=r),a}function zo(r,a){let i=is();e.race.high_pop&&(i=i/E(1));let s=r*Math.log(i+1);switch(e.race.invertebrate&&(s*=1-v.invertebrate.vars()[0]/100),e.race.universe==="evil"&&(s*=Me("evil")),e.race.gravity_well&&(s*=1-.75*Me("heavy")),e.civic.garrison.tactic){case 1:s*=4;break;case 2:s*=30;break;case 3:s*=100;break;case 4:s*=400;break}return e.race.banana&&(s*=.5),e.city.biome==="swamp"&&(s*=xe.swamp.vars()[1]),Math.floor(s*e.civic.foreign[`gov${a}`].eco/100)}function Tu(){let r=e.tech.military?e.tech.military>=5?e.tech.military-1:e.tech.military:1;if(e.tech.military&&e.tech.military>1){r-=e.tech.military>=11?2:1,e.race.sniper&&(r*=1+v.sniper.vars()[0]/100*r);let a=re("centaur");a>0&&(r*=1+v.sniper.vars(1)[0]/100*r*a),r+=e.tech.military>=11?2:1}return r}function Bt(r){let a=r;a>e.civic.garrison.workers&&(a=e.civic.garrison.workers),e.civic.garrison.workers-=a,e.stats.died+=a,Br(a)}function Qe(r,a,i){if(!e.civic.hasOwnProperty("garrison"))return 1;let s=0;typeof i=="number"?s=i:r>e.civic.garrison.workers-e.civic.garrison.wounded&&(s=r-(e.civic.garrison.workers-e.civic.garrison.wounded));let n=Tu(),c=re("rhinotaur"),o=r-s/2;if(e.race.rage||c>0){let u=e.race.rage?s*v.rage.vars()[1]/100:0,p=c>0?s*v.rage.vars(1)[1]/100*c:0;o=r+u+p}let l=e.tech.military?o*n:o;if(a==="army"||a==="hellArmy"||a==="Troops"){e.race.rage&&(l*=1+v.rage.vars()[0]/100*(e.civic.garrison.wounded||0)),c>0&&(l*=1+v.rage.vars(1)[0]/100*c*(e.civic.garrison.wounded||0)),e.race.puny&&(l*=1-v.puny.vars()[0]/100),e.race.claws&&(l*=1+v.claws.vars()[0]/100);let u=re("scorpid");u>0&&(l*=1+v.claws.vars(1)[0]/100*u),e.race.chameleon&&(l*=1+v.chameleon.vars()[0]/100),e.race.cautious&&e.city.calendar.weather===0&&(l*=1-v.cautious.vars()[0]/100),e.race.apex_predator&&(l*=1+v.apex_predator.vars()[0]/100);let p=re("sharkin");p>0&&(l*=1+v.apex_predator.vars(1)[0]/100*p),e.race.swift&&(l*=1+v.swift.vars()[0]/100),e.race.fiery&&(l*=1+v.fiery.vars()[0]/100);let h=re("balorg");h>0&&(l*=1+v.fiery.vars(1)[0]/100*h),e.race.sticky&&(l*=1+v.sticky.vars()[1]/100);let d=re("pinguicula");d>0&&(l*=1+v.sticky.vars(1)[1]/100*d),e.race.pathetic&&(l*=1-v.pathetic.vars()[0]/100),e.race.tactical&&(l*=1+v.tactical.vars()[0]*e.race.tactical/100),e.tech.fanaticism&&e.tech.fanaticism>=4&&(l*=1+e.city.temple.count*.01),e.race.holy&&a==="hellArmy"&&(l*=1+v.holy.vars()[0]/100);let g=re("unicorn");g>0&&a==="hellArmy"&&(l*=1+v.holy.vars(1)[0]/100*g),e.race.banana&&a==="hellArmy"&&(l*=.8),ja()==="aries"&&(l*=1+Zt("aries")[0]/100);let w=Q("tactician",0);if(w&&(l*=1+w/100),e.city.ptrait.includes("rage")&&(l*=Ie.rage.vars()[0]),e.race.elemental&&(l*=1+v.elemental.vars()[5]/100),e.race.ocular_power&&e.race.ocularPowerConfig&&e.race.ocularPowerConfig.d){let k=50*(v.ocular_power.vars()[1]/100);l*=1+k/100}if(e.race.parasite&&(r===1?l+=2:r>1&&(l+=4)),e.tech.psychic&&e.race.psychicPowers&&e.race.psychicPowers.hasOwnProperty("assaultTime")){let k=0;if(e.race.psychicPowers.assaultTime>0&&(k+=v.psychic.vars()[3]/100),e.tech.psychic>=4&&e.race.psychicPowers.channel){let M=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;k+=+(v.psychic.vars()[3]/5e4*M*e.race.psychicPowers.channel.assault).toFixed(3)}l*=1+k}}if(a==="hunting"&&(e.race.unfathomable&&(l*=.66),e.city.banquet&&e.city.banquet.on&&e.city.banquet.count>=3&&(l*=1+e.city.banquet.strength**.65/100),e.race.ocular_power&&e.race.ocularPowerConfig&&e.race.ocularPowerConfig.w)){let u=60*(v.ocular_power.vars()[1]/100);l*=1+u/100}if(e.race.tusk){let u=v.tusk.vars()[1]/100;a==="hellArmy"&&(u/=2),l*=1+u}return e.race.grenadier&&(l*=1+v.grenadier.vars()[0]/100),e.race.rejuvenated&&(l*=1.05),e.civic.govern.type==="autocracy"&&(l*=1+Be.autocracy()[1]/100),l=Math.floor(l),l*$r(r,a)}function we(r,a={}){if(!e.civic.garrison)return 0;let i=r?"max":"workers",s=e.portal.fortress?e.portal.fortress.garrison:0,n=e.space.fob&&!a.nofob?e.space.fob.troops:0,c=e.eden.pillbox&&!a.nopill?e.eden.pillbox.staffed:0;return e.civic.garrison[i]-e.civic.garrison.crew-s-n-c}function Eu(){if(e.race.sludge||e.race.ultra_sludge)return!1;if($("#mad").length===0){let i=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");var r=$('
');$("#military").append(r);var a=$('
');r.append(a),a.append($(`
${t("civics_mad_reset_desc",[i])}
`));let s=!!(e.race.hrt&&["wolven","vulpine"].includes(e.race.hrt));a.append($(`
`)),a.append($(`
`)),e.civic.mad.armed||($("#mad").addClass("armed"),$("#mad .arm").html(t(s?"civics_mad_disarm_grenades":"civics_mad_disarm_missiles"))),C({el:"#mad",data:e.civic.mad,methods:{launch(){if(!e.civic.mad.armed&&!e.race.cataclysm){$("body").addClass("nuke");let n=$('
');$("body").append(n),setTimeout(function(){n.addClass("burn")},500),setTimeout(function(){n.addClass("b")},600),setTimeout(function(){bs()},4e3)}},arm(){e.civic.mad.armed?($("#mad .arm").html(t(s?"civics_mad_disarm_grenades":"civics_mad_disarm_missiles")),e.civic.mad.armed=!1,$("#mad").addClass("armed")):($("#mad .arm").html(t(s?"civics_mad_arm_grenades":"civics_mad_arm_missiles")),e.civic.mad.armed=!0,$("#mad").removeClass("armed"))}}}),["mdarm","mdlaunch"].forEach(function(n){N(`mad${n}`,function(){return"{{ label() }}"},{elm:`#mad .${n}`,in:function(c){C({el:`#${c.id} > span`,data:{test:"val"},methods:{label(){switch(n){case"mdarm":return e.tech.world_control&&!e.race.truepath?t("civics_mad_missiles_world_control_desc"):t(s?"civics_mad_missiles_desc_easter":"civics_mad_missiles_desc");case"mdlaunch":{let o=$e("mad"),l=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return t("civics_mad_missiles_warning",[o.plasmid,l])}}}}})},out:function(c){C({el:`#${c.id} > span`},"destroy")}})})}}var oi={unemployed:function(r){let a=t("job_unemployed_desc");return e.civic.d_job==="unemployed"&&!r&&(a=a+" "+t("job_default",[t("job_unemployed")])),a},hunter:function(r){let a=t("job_hunter_desc",[e.resource.Food.name]);return e.race.unfathomable&&(a=t("job_eld_hunter_desc")),e.race.artifical?a=e.race.soul_eater?t("job_art_demon_hunter_desc",[e.resource.Furs.name,e.resource.Lumber.name]):t("job_art_hunter_desc",[e.resource.Furs.name]):e.race.soul_eater&&e.race.species!=="wendigo"&&(a=t(e.race.evil?"job_evil_hunter_desc":"job_not_evil_hunter_desc",[e.resource.Food.name,e.resource.Lumber.name,e.resource.Furs.name])),e.civic.d_job==="hunter"&&!r&&(a=a+" "+t("job_default",[e.race.unfathomable?t("job_raider"):t("job_hunter")])),a},forager:function(r){let a=t("job_forager_desc");return e.civic.d_job==="forager"&&!r&&(a=a+" "+t("job_default",[t("job_forager")])),a},farmer:function(r){let a=+Lo(!0,r).toFixed(2),i=+Lo(!1,r).toFixed(2);r||(a=+Xe(a,"farmer").toFixed(2),i=+Xe(i,"farmer").toFixed(2));let s=e.race.high_pop&&!r?t("job_farmer_desc_hp",[a,e.resource.Food.name,E(1),i,E(1)*e.city.farm.count]):t("job_farmer_desc",[a,e.resource.Food.name,e.city.farm.count,i]);return e.civic.d_job==="farmer"&&!r&&(s=s+" "+t("job_default",[t("job_farmer")])),s},lumberjack:function(r){let a=r&&e.race.servants?e.race.servants.jobs.lumberjack:e.civic.lumberjack.workers,i=e.civic.lumberjack.impact;if(r||(a=+Xe(a,"lumberjack").toFixed(2),i=+Xe(i,"lumberjack").toFixed(2)),e.race.evil&&(!e.race.soul_eater||e.race.species==="wendigo")){let s=1;r||(s*=$r(a,"lumberjack"));let n=+(i*s).toFixed(2),c=+(i/4*s).toFixed(2),o=e.race.species==="wendigo"?t("job_reclaimer_desc2",[n]):t("job_reclaimer_desc",[n,c]);return e.civic.d_job==="lumberjack"&&!r&&(o=o+" "+t("job_default",[t("job_reclaimer")])),o}else{let s=(e.tech.axe&&e.tech.axe>0?(e.tech.axe-1)*.35:0)+1;r||(s*=$r(a,"lumberjack")),e.city.biome==="forest"&&(i*=xe.forest.vars()[0]),e.city.biome==="savanna"&&(i*=xe.savanna.vars()[2]),e.city.biome==="desert"&&(i*=xe.desert.vars()[2]),e.city.biome==="swamp"&&(i*=xe.swamp.vars()[2]),e.city.biome==="taiga"&&(i*=xe.taiga.vars()[0]);let n=+(i*s).toFixed(2),c=t("job_lumberjack_desc",[n,e.resource.Lumber.name]);return e.civic.d_job==="lumberjack"&&!r&&(c=c+" "+t("job_default",[t("job_lumberjack")])),Dt().active&&(c=c+` ${t("events_halloween_lumberjack")} `),c}},quarry_worker:function(r){let a=r&&e.race.servants?e.race.servants.jobs.quarry_worker:e.civic.quarry_worker.workers,i=e.civic.quarry_worker.impact;r||(a=+Xe(a,"quarry_worker").toFixed(2),i=+Xe(i,"quarry_worker").toFixed(2));let s=(e.tech.hammer&&e.tech.hammer>0?e.tech.hammer*.4:0)+1;r||(s*=$r(a,"miner")),e.city.biome==="desert"&&(s*=xe.desert.vars()[0]),e.city.biome==="swamp"&&(s*=xe.swamp.vars()[3]),e.tech.explosives&&e.tech.explosives>=2&&(s*=e.tech.explosives>=3?1.75:1.5);let n=+(i*s).toFixed(1),c=e.resource.Aluminium.display?t("job_quarry_worker_desc2",[n,e.resource.Stone.name,e.resource.Aluminium.name]):t("job_quarry_worker_desc1",[n,e.resource.Stone.name]);return e.race.smoldering&&(c=c+" "+t("job_quarry_worker_smoldering",[e.resource.Chrysotile.name])),e.civic.d_job==="quarry_worker"&&!r&&(c=c+" "+t("job_default",[t("job_quarry_worker")])),c},crystal_miner:function(r){let a=r&&e.race.servants?e.race.servants.jobs.crystal_miner:e.civic.crystal_miner.workers,i=e.civic.crystal_miner.impact,s=1;r||(a=+Xe(a,"crystal_miner").toFixed(2),i=+Xe(i,"crystal_miner").toFixed(2),s*=$r(a,"miner"));let n=+(i*s).toFixed(2),c=t("job_crystal_miner_desc",[n,e.resource.Crystal.name]);return e.civic.d_job==="crystal_miner"&&!r&&(c=c+" "+t("job_default",[t("job_crystal_miner")])),c},scavenger:function(r){let a=v.scavenger.vars()[0];e.city.ptrait.includes("trashed")&&e.race.scavenger&&(a*=1+v.scavenger.vars()[1]/100),e.race.high_pop&&!r&&(a*=v.high_pop.vars()[1]/100),r||(a=+Xe(a,"scavenger").toFixed(2));let i=t("job_scavenger_desc",[x[e.race.species].home,a]);return e.civic.d_job==="scavenger"&&!r&&(i=i+" "+t("job_default",[t("job_scavenger")])),i},teamster:function(r){let a=t("job_teamster_desc",[On()]);return e.civic.d_job==="teamster"&&!r&&(a=a+" "+t("job_default",[t("job_teamster")])),a},meditator:function(r){let a=t("job_meditator_desc");return e.civic.d_job==="meditator"&&!r&&(a=a+" "+t("job_default",[t("job_meditator")])),a},torturer:function(){return t("job_torturer_desc")},miner:function(){return e.tech.mining>=3?e.race.sappy&&e.tech.alumina?t("job_miner_desc2_amber"):t("job_miner_desc2"):t("job_miner_desc1")},coal_miner:function(){return e.tech.uranium?t("job_coal_miner_desc2"):t("job_coal_miner_desc1")},craftsman:function(){return t("job_craftsman_desc")},cement_worker:function(){let r=e.race.high_pop?3/v.high_pop.vars()[0]:3;e.city.biome==="ashland"&&(r*=xe.ashland.vars()[1]),r=+Xe(r,"cement_worker").toFixed(2);let a=+Xe(e.civic.cement_worker.impact,"cement_worker").toFixed(2),i=e.tech.cement>=4?e.tech.cement>=7?1.45:1.2:1,s=$r(e.civic.cement_worker.workers,"factory"),n=a*i*s;return e.city.biome==="ashland"&&(n*=xe.ashland.vars()[1]),n=+n.toFixed(2),e.race.sappy?t("job_cement_worker_amber_desc",[n]):t("job_cement_worker_desc",[n,r])},banker:function(){let r=+Xe(e.civic.banker.impact,"banker").toFixed(2)*100;return e.tech.banking>=10&&(r+=2*e.tech.stock_exchange),e.race.truthful&&(r*=1-v.truthful.vars()[0]/100),e.civic.govern.type==="republic"&&(r*=1.25),e.race.high_pop&&(r*=v.high_pop.vars()[1]/100),r=+r.toFixed(0),e.race.fasting?t("job_banker_desc_fasting"):t("job_banker_desc",[r])},entertainer:function(){let r=e.tech.theatre;e.race.musical&&(r+=v.musical.vars()[0]),e.race.emotionless&&(r*=1-v.emotionless.vars()[0]/100),e.race.high_pop&&(r*=v.high_pop.vars()[1]/100),r=+Xe(r,"entertainer").toFixed(2);let a=e.race.high_pop?v.high_pop.vars()[1]/100:1;return a=+Xe(a,"entertainer").toFixed(2),e.tech.superstar?t("job_entertainer_desc2",[r,a]):t("job_entertainer_desc",[+r.toFixed(2)])},priest:function(){let r="";return e.civic.govern.type==="theocracy"&&e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display?r=t("job_priest_desc2"):r=t("job_priest_desc"),e.tech.cleric&&(r=r+` ${t("job_priest_desc3")}`),r},professor:function(){let r=+Xe(1,"professor"),a=+(e.race.studious?e.civic.professor.impact+v.studious.vars()[0]:e.civic.professor.impact),i=re("elven");return i>0&&(a+=v.studious.vars(1)[0]*i),r*=a,r*=e.race.pompous?1-v.pompous.vars()[0]/100:1,r*=$r(e.civic.professor.workers,"science"),e.tech.anthropology&&e.tech.anthropology>=3&&(r*=1+e.city.temple.count*.05),e.civic.govern.type==="theocracy"&&(r*=.75),r=+r.toFixed(2),t("job_professor_desc",[r])},scientist:function(){let r=+Xe(e.civic.scientist.impact,"scientist").toFixed(2);return r*=$r(e.civic.scientist.workers,"science"),e.tech.science>=6&&e.city.wardenclyffe&&(r*=1+e.civic.professor.workers*e.city.wardenclyffe.on*.01),e.space.satellite&&(r*=1+e.space.satellite.count*.01),e.civic.govern.type==="theocracy"&&(r*=e.tech.high_tech&&e.tech.high_tech>=12?e.tech.high_tech>=16?.75:.6:.5),r=+r.toFixed(2),e.race.universe==="magic"?t("job_wizard_desc",[r,+(.025*Me("magic")).toFixed(4)]):t("job_scientist_desc",[r])},colonist(){return t(e.race.truepath?"job_colonist_desc_tp":"job_colonist_desc",[A().red])},titan_colonist(){return t("job_colonist_desc_tp",[A().titan])},space_miner(){return t("job_space_miner_desc")},hell_surveyor(){return t("job_hell_surveyor_desc")},archaeologist(){let r=(H.arcology||0)*75,a=(Qe(e.portal.guard_post.on,"hellArmy",0)+r)/5e3;a=a>1?1:a;let i=25e4;e.race.high_pop&&(i*=v.high_pop.vars()[1]/100);let s=Math.round(i*a);return t("job_archaeologist_desc",[s.toLocaleString()])},ghost_trapper(){let r=e.blood.attract?e.blood.attract*5:0,a=Ln(),i=1;if(H.ascension_trigger&&e.eden.hasOwnProperty("encampment")&&e.eden.encampment.asc){let c=m.interstellar.int_sirius.ascension_trigger.heatSink();c=c<0?Math.abs(c):0,c>0&&(i=1+c/12500)}let s=Math.floor((150+r)*a*i),n=Math.floor((250+r)*a*i);return t("job_ghost_trapper_desc",[t("portal_soul_forge_title"),e.resource.Soul_Gem.name,s,n])},elysium_miner(){let r=t("job_elysium_miner_desc",[t("eden_elysium_name")]);return e.tech.elysium&&e.tech.elysium>=12&&(r+=` ${t("eden_restaurant_effect",[.15,t("eden_restaurant_bd")])}.`),r},pit_miner(){return t("job_pit_miner_desc",[t("tau_planet",[x[e.race.species].home])])},crew(){return t("job_crew_desc")}};function Hi(r){r||$("#civics").append($(`

${t("civics_jobs")}

`)),Je("unemployed",r,0,0,"warning"),Je("hunter",r,0,0),Je("forager",r,0,0),Je("farmer",r,.82,5),Je("lumberjack",r,1,5),Je("quarry_worker",r,1,5),Je("crystal_miner",r,.1,5),Je("scavenger",r,.12,5),Je("teamster",r,1,e.tech.teamster?6:4),Je("meditator",r,1,5),Je("torturer",r,1,3,"advanced"),Je("miner",r,1,4,"advanced"),Je("coal_miner",r,.2,4,"advanced"),Je("craftsman",r,1,5,"advanced"),Je("cement_worker",r,.4,5,"advanced"),Je("entertainer",r,1,10,"advanced"),Je("priest",r,1,3,"advanced"),Je("professor",r,.5,6,"advanced"),Je("scientist",r,1,5,"advanced"),Je("banker",r,.1,6,"advanced"),Je("colonist",r,1,5,"advanced"),Je("titan_colonist",r,1,5,"advanced"),Je("space_miner",r,1,5,"advanced"),Je("hell_surveyor",r,1,1,"advanced"),Je("archaeologist",r,1,1,"advanced"),Je("ghost_trapper",r,1,3,"advanced"),Je("elysium_miner",r,1,3,"advanced"),Je("pit_miner",r,1,4.5,"advanced"),Je("crew",r,1,4,"alert"),!r&&!e.race.start_cataclysm&&(gt(),e.race.servants&&Iu())}function Xe(r,a){return e.race.strong&&["hunter","forager","farmer","lumberjack","quarry_worker","crystal_miner","scavenger"].includes(a)&&(r*=v.strong.vars()[1]),(e.race.swift||e.race.living_tool)&&["hunter","forager","farmer","lumberjack","quarry_worker","crystal_miner","scavenger"].includes(a)&&(r*=v.strong.vars(.25)[1]),e.race.lone_survivor&&(["hunter","forager","farmer","lumberjack","quarry_worker","crystal_miner","scavenger"].includes(a)?r*=80:["craftsman"].includes(a)?r*=60:["miner","coal_miner","cement_worker","banker","entertainer","priest","pit_miner"].includes(a)?r*=45:["professor","scientist"].includes(a)&&(r*=125)),r}function E(r){return e.race.high_pop?r*v.high_pop.vars()[0]:r}function Gs(r){let a="";e.race.unfathomable&&r==="hunter"?a=t("job_raider"):e.race.universe==="magic"&&r==="scientist"?a=t("job_wizard"):e.race.truepath&&r==="colonist"?a=t("job_colonist_tp",[A().red]):r==="titan_colonist"?a=t("job_colonist_tp",[A().titan]):a=r==="lumberjack"&&e.race.evil&&(!e.race.soul_eater||e.race.species==="wendigo")?t("job_reclaimer"):t("job_"+r),e.civic[r].name=a}function Je(r,a,i,s,n){let c=!1;if(a==="servant"&&(c=!0,a=!1),e.civic[r]||(e.civic[r]={job:r,display:!1,workers:0,max:0,impact:i}),Gs(r),e.civic[r].assigned||(e.civic[r].assigned=r==="craftsman"?0:e.civic[r].workers),c||(e.civic[r].stress=s,e.civic[r].impact=i),!(r==="craftsman"||a)){var o=c?"servant-"+r:"civ-"+r,l=$(`
`),u=c?$('
'):$(`
`);if(!n||r==="unemployed"){n=n||"info";let d=c?$(`

{{ civic.${r}.name }}

{{ sjob.${r} }}
`):$(``);l.append(d)}else{let d=$(`

{{ civic.${r}.name }}

{{ civic.${r}.workers | adjust('${r}') }} / {{ civic.${r}.max | adjust('${r}') }}
`);l.append(d)}if(l.append(u),$(c?"#servants":"#jobs").append(l),r!=="crew"){var p=$(`«`),h=$(`»`);u.append(p),u.append(h)}c?C({el:`#${o}`,data:{civic:e.civic,sjob:e.race.servants.jobs},methods:{showJob(d){return e.civic[d].display||d==="scavenger"&&e.race.servants.force_scavenger},add(){let d=W();for(let g=0;ge.race.servants.used;g++)e.race.servants.jobs[r]++,e.race.servants.used++},sub(){let d=W();for(let g=0;g0;g++)e.race.servants.jobs[r]--,e.race.servants.used--}}}):C({el:`#${o}`,data:{civic:e.civic},methods:{showJob(d){return e.civic[d].display},add(){let d=W();for(let g=0;g0);g++)e.civic[r].workers++,e.civic[e.civic.d_job].workers--,e.civic[r].assigned=e.civic[r].workers},sub(){let d=W();for(let g=0;g0;g++)e.civic[r].workers--,e.civic[e.civic.d_job].workers++,e.civic[r].assigned=e.civic[r].workers},level(d){return e.civic[d].workers===0?"count has-text-danger":e.civic[d].workers===e.civic[d].max?"count has-text-success":e.civic[d].workers<=e.civic[d].max/3?"count has-text-caution":e.civic[d].workers<=e.civic[d].max*.66?"count has-text-warning":e.civic[d].workers0)return g}return d},adjust(d,g){return g==="titan_colonist"&&H.ai_colonist?d+E(H.ai_colonist):d}}}),N(o,function(){return oi[r](c)},{elm:`#${o} .job_label`,classes:"has-background-light has-text-dark"})}}function Iu(){if(K($("#servants")),e.race.servants&&Object.keys(e.race.servants.jobs).length>0){var r=$(`

${t("civics_servants")}

{{ s.used }} / {{ s.max }}
`);$("#servants").append(r),["hunter","forager","farmer","lumberjack","quarry_worker","crystal_miner","scavenger"].forEach(function(a){Je(a,"servant")}),C({el:"#servantList",data:{s:e.race.servants},methods:{level(){return e.race.servants.used===0?"count has-text-danger":e.race.servants.used===e.race.servants.max?"count has-text-success":e.race.servants.used<=e.race.servants.max/3?"count has-text-caution":e.race.servants.used<=e.race.servants.max*.66?"count has-text-warning":e.race.servants.used=2?1.15:.65),e.race.living_tool&&!a?i*=1+v.living_tool.vars()[0]*(e.tech.science&&e.tech.science>0?e.tech.science/5:0):i*=1+(e.tech.hoe&&e.tech.hoe>0?e.tech.hoe/3:0),i*=e.city.biome==="grassland"?xe.grassland.vars()[0]:1,i*=e.city.biome==="savanna"?xe.savanna.vars()[0]:1,i*=e.city.biome==="ashland"?xe.ashland.vars()[0]:1,i*=e.city.biome==="volcanic"?xe.volcanic.vars()[0]:1,i*=e.city.biome==="hellscape"?xe.hellscape.vars()[0]:1,i*=e.city.ptrait.includes("trashed")?Ie.trashed.vars()[0]:1,a?i*=Do(e.race.servants.jobs.farmer,"farmer"):i*=$r(e.civic.farmer.workers,"farmer"),i*=e.tech.agriculture>=7?1.1:1,i*=e.race.low_light?1-v.low_light.vars()[0]/100:1,i}function gt(r){if(K($(r?"#skilledServants":"#foundry")),e.city.foundry&&e.city.foundry.count>0||e.race.cataclysm||e.race.orbit_decayed||e.tech.isolation){let a=$(r?"#skilledServants":"#foundry"),i=r?"{{ s.sused }} / {{ s.smax }}":"{{ f.crafting }} / {{ c.max }}",s=$(`

${t(r?"civics_skilled_servants":"craftsman_assigned")}

${i}
`);a.append(s);let n=ke("summer"),c=["Plywood","Brick","Wrought_Iron","Sheet_Metal","Mythril","Aerogel","Nanoweave"];r||(c.push("Scarletite"),c.push("Quantium")),n&&!r&&c.push("Thermite");for(let l=0;l
');a.append(h);let d=$('
'),g;if(u==="Scarletite"&&e.portal.hasOwnProperty("hell_forge"))g=$(`

${p}

{{ f.${u} }} / {{ p.on | maxScar }}
`);else if(u==="Quantium"&&(e.space.hasOwnProperty("zero_g_lab")||e.tauceti.hasOwnProperty("infectious_disease_lab")))g=$(`

${p}

{{ f.${u} }} / {{ e.on | maxQuantium }}
`);else{let M=r?`{{ s.sjobs.${u} }}`:`{{ f.${u} }}`,q=r?`scraft${u}`:`craft${u}`;g=$(`

${p}

${M}
`)}h.append(g),h.append(d),a.append(h);let w=$(`«`),k=$(`»`);d.append(w),d.append(k)}}let o=e.portal.hasOwnProperty("hell_forge")?{c:e.civic.craftsman,p:e.portal.hell_forge}:{c:e.civic.craftsman,e:e.space.hasOwnProperty("zero_g_lab")||e.tauceti.hasOwnProperty("infectious_disease_lab")?e.tech.isolation?e.tauceti.infectious_disease_lab:e.space.zero_g_lab:{count:0,on:0}};r?o.s=e.race.servants:o.f=e.city.foundry,C({el:r?"#skilledServants":"#foundry",data:o,methods:{add(l){let u=W(),p=-1;(l==="Scarletite"||l==="Quantium")&&(p=Bs(l));for(let h=0;h0&&(p===-1||p>e.city.foundry[l]))e.civic.craftsman.workers++,e.city.foundry.crafting++,e.city.foundry[l]++,e.civic[e.civic.d_job].workers--;else break},sub(l){let u=W();for(let p=0;p0)e.race.servants.sjobs[l]--,e.race.servants.sused--;else break;else if(e.city.foundry[l]>0)e.city.foundry[l]--,e.civic.craftsman.workers--,e.city.foundry.crafting--,e.civic[e.civic.d_job].workers++;else break},level(){let l=r?e.race.servants.sused:e.civic.craftsman.workers,u=r?e.race.servants.smax:e.civic.craftsman.max;return l===0?"count has-text-danger":l===u?"count has-text-success":l<=u/3?"count has-text-caution":l<=u*.66?"count has-text-warning":l
"),g=e.resource[u].name,k=fi(u,"auto").multiplier,M=e.genes.crafty?2:1,q=+e.resource[u].diff.toFixed(2),P=+(k*100).toFixed(0);d.append($(`
${t("craftsman_hover_bonus",[P.toLocaleString(),g])}
`)),d.append($(`
${t("craftsman_hover_prod",[q.toLocaleString(),g])}
`));let O=ss();for(let U=0;U0&&(Z-=v.resourceful.vars(1)[0]/100*z);let Y=+(O[u][U].a*e.city.foundry[u]*Z*M/140).toFixed(2);d.append($(`
${t("craftsman_hover_cost",[Y,e.resource[O[u][U].r].name])}
`))}return d},h=r?`scraft${u}`:`craft${u}`;Ns(h,u,"auto",p)}}r?N("servantFoundry",function(){return t("civics_skilled_servants_desc")},{elm:"#skilledServants .foundry",classes:"has-background-light has-text-dark"}):N("craftsmenFoundry",function(){return t("job_craftsman_hover")},{elm:"#foundry .foundry",classes:"has-background-light has-text-dark"}),e.race.servants&&!r&&e.race.servants.smax>0&>(!0)}}var da={Food:5,Lumber:5,Chrysotile:5,Stone:5,Crystal:6,Furs:8,Copper:25,Iron:40,Aluminium:50,Cement:15,Coal:20,Oil:75,Uranium:550,Steel:100,Titanium:150,Alloy:350,Polymer:250,Iridium:420,Helium_3:620,Deuterium:950,Elerium:2e3,Water:2,Neutronium:1500,Adamantite:2250,Infernite:2750,Nano_Tube:750,Graphene:3e3,Stanene:3600,Bolognium:9e3,Vitreloy:10200,Orichalcum:99e3,Asphodel_Powder:249e3,Horseshoe:0,Nanite:0,Genes:0,Soul_Gem:0,Corrupt_Gem:0,Codex:0,Cipher:0,Demonic_Essence:0,Blessed_Essence:0},tr={Food:2,Lumber:2,Chrysotile:1,Stone:2,Crystal:.4,Furs:1,Copper:1,Iron:1,Aluminium:1,Cement:1,Coal:1,Oil:.5,Uranium:.12,Steel:.5,Titanium:.25,Alloy:.2,Polymer:.2,Iridium:.1,Helium_3:.1,Deuterium:.1,Elerium:.02,Water:2,Neutronium:.05,Adamantite:.05,Infernite:.01,Nano_Tube:.1,Graphene:.1,Stanene:.1,Bolognium:.12,Vitreloy:.12,Orichalcum:.05},Ve={Food:4.355,Lumber:7.668,Chrysotile:15.395,Stone:20.017,Crystal:5.062,Furs:13.009,Copper:63.546,Iron:55.845,Aluminium:26.9815,Cement:20.009,Coal:12.0107,Oil:5.342,Uranium:238.0289,Steel:55.9,Titanium:47.867,Alloy:45.264,Polymer:120.054,Iridium:192.217,Helium_3:3.0026,Deuterium:2.014,Neutronium:248.74,Adamantite:178.803,Infernite:222.666,Elerium:297.115,Nano_Tube:15.083,Graphene:26.9615,Stanene:33.9615,Bolognium:75.898,Unobtainium:168.59,Vitreloy:41.08,Orichalcum:237.8,Asphodel_Powder:.01,Elysanite:13.666,Water:18.01,Plywood:7.666,Brick:20.009,Wrought_Iron:55.845,Sheet_Metal:26.9815,Mythril:94.239,Aerogel:7.84,Nanoweave:23.71,Scarletite:188.6,Quantium:241.35},di={Lumber:{in:.5,out:25e3},Chrysotile:{in:.5,out:25e3},Stone:{in:.5,out:25e3},Crystal:{in:3,out:25e3},Furs:{in:3,out:25e3},Copper:{in:1.5,out:25e3},Iron:{in:1.5,out:25e3},Aluminium:{in:2.5,out:25e3},Cement:{in:3,out:25e3},Coal:{in:1.5,out:25e3},Oil:{in:2.5,out:12e3},Uranium:{in:5,out:300},Steel:{in:3,out:25e3},Titanium:{in:3,out:25e3},Alloy:{in:6,out:25e3},Polymer:{in:6,out:25e3},Iridium:{in:8,out:25e3},Helium_3:{in:4.5,out:12e3},Deuterium:{in:4,out:1e3},Neutronium:{in:15,out:1e3},Adamantite:{in:12.5,out:1e3},Infernite:{in:25,out:250},Elerium:{in:30,out:250},Nano_Tube:{in:6.5,out:1e3},Graphene:{in:5,out:1e3},Stanene:{in:4.5,out:1e3},Bolognium:{in:18,out:1e3},Vitreloy:{in:14,out:1e3},Orichalcum:{in:10,out:1e3},Plywood:{in:10,out:250},Brick:{in:10,out:250},Wrought_Iron:{in:10,out:250},Sheet_Metal:{in:10,out:250},Mythril:{in:12.5,out:250},Aerogel:{in:16.5,out:250},Nanoweave:{in:18,out:250},Scarletite:{in:35,out:250}};function ss(r=!1){let a={Plywood:[{r:"Lumber",a:100}],Brick:e.race.flier?[{r:"Stone",a:60}]:[{r:"Cement",a:40}],Wrought_Iron:[{r:"Iron",a:80}],Sheet_Metal:[{r:"Aluminium",a:120}],Mythril:[{r:"Iridium",a:100},{r:"Alloy",a:250}],Aerogel:[{r:"Graphene",a:2500},{r:"Infernite",a:50}],Nanoweave:[{r:"Nano_Tube",a:1e3},{r:"Vitreloy",a:40}],Scarletite:[{r:"Iron",a:25e4},{r:"Adamantite",a:7500},{r:"Orichalcum",a:500}],Quantium:[{r:"Nano_Tube",a:1e3},{r:"Graphene",a:1e3},{r:"Elerium",a:25}],Thermite:[{r:"Iron",a:180},{r:"Aluminium",a:60}]};if(e.race.wasteful){let i=1+v.wasteful.vars()[0]/100;Object.keys(a).forEach(function(s){for(let n=0;n=2){let o=e.tech.foundry>=5?e.tech.foundry>=8?.08:.05:.03;r.general.add.push({name:t("city_foundry"),manual:e.city.foundry.count*o,auto:e.city.foundry.count*o})}if(e.tech.foundry>=3&&Object.keys(r).forEach(function(o){e.city.foundry[o]&&e.city.foundry[o]>1&&r[o].add.push({name:t("tech_apprentices"),manual:(e.city.foundry[o]-1)*he(.03),auto:(e.city.foundry[o]-1)*he(.03)})}),e.tech.foundry>=4&&e.city.sawmill&&r.Plywood.add.push({name:t("city_sawmill"),manual:e.city.sawmill.count*.02,auto:e.city.sawmill.count*.02}),e.tech.foundry>=6&&r.Brick.add.push({name:t("city_foundry"),manual:e.city.foundry.count*.02,auto:e.city.foundry.count*.02}),e.tech.foundry>=7&&(r.general.add.push({name:t("city_factory")+` (${t("tab_city5")})`,manual:H.factory*.05,auto:H.factory*.05}),e.tech.mars>=4&&r.general.add.push({name:t("city_factory")+` (${t("tab_space")})`,manual:H.red_factory*.05,auto:H.red_factory*.05}),e.interstellar.int_factory&&H.int_factory&&r.general.add.push({name:t("interstellar_int_factory_title"),manual:H.int_factory*.1,auto:H.int_factory*.1})),e.space.fabrication&&be.fabrication&&r.general.add.push({name:t("space_red_fabrication_title"),manual:be.fabrication*e.civic.colonist.workers*(n?he(.05):he(.02)),auto:be.fabrication*e.civic.colonist.workers*(n?he(.05):he(.02))}),e.race.artisan&&r.general.multi.push({name:t("trait_artisan_name"),manual:1,auto:1+v.artisan.vars()[0]/100}),H.stellar_forge&&(r.Mythril.add.push({name:t("interstellar_stellar_forge_title"),manual:H.stellar_forge*.05,auto:H.stellar_forge*.05}),r.general.add.push({name:t("interstellar_stellar_forge_title"),manual:0,auto:H.stellar_forge*.1})),H.hell_forge){let o=Rr("ruins");r.general.add.push({name:t("portal_hell_forge_title"),manual:0,auto:H.hell_forge*.75*o.supress}),r.Scarletite.multi.push({name:t("portal_ruins_supressed"),manual:1,auto:o.supress})}if(e.tauceti.tau_factory&&be.tau_factory&&r.general.add.push({name:t("tau_home_tau_factory"),manual:0,auto:be.tau_factory*(e.tech.isolation?2.75:.9)}),e.tech.isolation&&e.tauceti.colony&&be.colony&&r.general.add.push({name:t("tau_home_colony"),manual:be.colony*.5,auto:be.colony*.5}),be.zero_g_lab&&H.zero_g_lab||be.infectious_disease_lab&&H.infectious_disease_lab){let o=Wr("spc_enceladus");r.Quantium.multi.push({name:t("space_syndicate"),manual:1,auto:o})}if(e.tech.alien_crafting&&be.infectious_disease_lab&&H.infectious_disease_lab){let o=1+.65*Math.min(be.infectious_disease_lab,H.infectious_disease_lab);r.Quantium.multi.push({name:t("tech_infectious_disease_lab_alt"),manual:1,auto:o})}if(e.race.crafty&&r.general.add.push({name:t("wiki_arpa_crispr_crafty"),manual:.03,auto:.03}),e.race.ambidextrous&&r.general.add.push({name:t("trait_ambidextrous_name"),manual:v.ambidextrous.vars()[0]*e.race.ambidextrous/100,auto:v.ambidextrous.vars()[0]*e.race.ambidextrous/100}),e.race.rigid&&r.general.add.push({name:t("trait_rigid_name"),manual:-(v.rigid.vars()[0]/100),auto:-(v.rigid.vars()[0]/100)}),e.civic.govern.type==="socialist"&&r.general.multi.push({name:t("govern_socialist"),manual:1+Be.socialist()[0]/100,auto:1+Be.socialist()[0]/100}),e.race.casting&&e.race.casting.crafting){let o=1+e.race.casting.crafting/(e.race.casting.crafting+75),l=1+2*e.race.casting.crafting/(2*e.race.casting.crafting+75);r.general.multi.push({name:t("modal_pylon_casting"),manual:o,auto:l})}e.race.universe==="magic"&&r.general.multi.push({name:t("universe_magic"),manual:.8,auto:.8}),e.tech.v_train&&r.general.multi.push({name:t("tech_vocational_training"),manual:1,auto:2}),e.genes.crafty&&r.general.multi.push({name:t("tab_arpa_crispr")+" "+t("wiki_arpa_crispr_crafty"),manual:1,auto:1+(e.genes.crafty-1)*.5}),e.race.living_tool&&r.general.multi.push({name:t("trait_living_tool_name"),manual:1,auto:1+v.living_tool.vars()[1]/100}),e.stats.achieve.lamentis&&e.stats.achieve.lamentis.l>=1&&r.general.multi.push({name:t("evo_challenge_orbit_decay"),manual:1,auto:1.1}),e.race.ambidextrous&&r.general.multi.push({name:t("trait_ambidextrous_name"),manual:1,auto:1+v.ambidextrous.vars()[1]*e.race.ambidextrous/100}),e.blood.artisan&&r.general.multi.push({name:t("tab_arpa_blood")+" "+t("arpa_blood_artisan_title"),manual:1,auto:1+e.blood.artisan/100});let c=lc();c>0&&r.general.multi.push({name:t("faith"),manual:1,auto:1+c/(e.race.universe==="antimatter"?1.5:3)}),e.prestige.Plasmid.count>0&&r.general.multi.push({name:t("resource_Plasmid_plural_name"),manual:Vs()/8+1,auto:Vs()/8+1}),e.genes.challenge&&e.genes.challenge>=2&&r.general.multi.push({name:t("mastery"),manual:1+jt()/(e.race.weak_mastery?50:100),auto:1+jt()/(e.race.weak_mastery?50:100)}),e.race.gravity_well&&r.general.multi.push({name:t("evo_challenge_gravity_well"),manual:Ja(1),auto:Ja(1)})}else{let n=1,c={},o={};if(r.general){for(let u=0;u
`);$("#market").append(n),Qi(`#market-${a}`,n,a,i,!0)}}),pi()}else if(r==="storage"){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==1))return;Yr("storage"),Se.hasOwnProperty("resource")&&Object.keys(Se.resource).forEach(function(a){let i=Se.resource[a].color;if(Se.resource[a].stackable){var n=$(`
`);$("#resStorage").append(n),Ji(`#stack-${a}`,n,a,i,!0)}}),pi()}else if(r==="ejector"){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==2))return;Yr("ejector"),Se.hasOwnProperty("resource")&&Object.keys(Se.resource).forEach(function(a){let i=Se.resource[a].color;Ve[a]&&Kn(a,i)})}else if(r==="supply"){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==3))return;Yr("supply"),Se.hasOwnProperty("resource")&&Object.keys(Se.resource).forEach(function(a){let i=Se.resource[a].color;di[a]&&Bn(a,i)})}else if(r==="alchemy"){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==4))return;Yr("alchemy"),Se.hasOwnProperty("resource")&&Object.keys(Se.resource).forEach(function(a){let i=Se.resource[a].color,s=Se.resource[a].tradable;tr[a]&&e.race.universe==="magic"&&(e.resource[a].basic=s,Gn(a,i,s))})}}function Ws(r){if(e.race.species==="protoplasm"){let a=100;e.stats.achieve.mass_extinction&&e.stats.achieve.mass_extinction.l>1&&(a+=50*(e.stats.achieve.mass_extinction.l-1)),te("RNA",r,a,1,!1),te("DNA",r,a,1,!1)}te("Money",r,1e3,1,!1,!1,"success"),te(e.race.species,r,0,0,!1,!1,"warning"),te("Slave",r,0,0,!1,!1,"warning"),te("Mana",r,0,1,!1,!1,"warning"),te("Energy",r,0,0,!1,!1,"warning"),te("Sus",r,0,0,!1,!1,"warning"),te("Knowledge",r,100,1,!1,!1,"warning"),te("Omniscience",r,100,1,!1,!1,"warning"),te("Zen",r,0,0,!1,!1,"warning"),te("Crates",r,0,0,!1,!1,"warning"),te("Containers",r,0,0,!1,!1,"warning"),te("Food",r,250,1,!0,!0),te("Lumber",r,200,1,!0,!0),te("Chrysotile",r,200,1,!0,!0),te("Stone",r,200,1,!0,!0),te("Crystal",r,200,1,!0,!0),te("Useless",r,-2,0,!1,!1),te("Furs",r,100,1,!0,!0),te("Copper",r,100,1,!0,!0),te("Iron",r,100,1,!0,!0),te("Aluminium",r,50,1,!0,!0),te("Cement",r,100,1,!0,!0),te("Coal",r,50,1,!0,!0),te("Oil",r,0,1,!0,!1),te("Uranium",r,10,1,!0,!1),te("Steel",r,50,1,!0,!0),te("Titanium",r,50,1,!0,!0),te("Alloy",r,50,1,!0,!0),te("Polymer",r,50,1,!0,!0),te("Iridium",r,0,1,!0,!0),te("Helium_3",r,0,1,!0,!1),te("Water",r,0,1,!1,!1,"advanced"),te("Deuterium",r,0,1,!1,!1,"advanced"),te("Neutronium",r,0,1,!1,!1,"advanced"),te("Adamantite",r,0,1,!1,!0,"advanced"),te("Infernite",r,0,1,!1,!1,"advanced"),te("Elerium",r,1,1,!1,!1,"advanced"),te("Nano_Tube",r,0,1,!1,!1,"advanced"),te("Graphene",r,0,1,!1,!0,"advanced"),te("Stanene",r,0,1,!1,!0,"advanced"),te("Bolognium",r,0,1,!1,!0,"advanced"),te("Vitreloy",r,0,1,!1,!0,"advanced"),te("Orichalcum",r,0,1,!1,!0,"advanced"),te("Asphodel_Powder",r,0,1,!1,!1,"advanced"),te("Elysanite",r,0,1,!1,!0,"advanced"),te("Unobtainium",r,0,1,!1,!1,"advanced"),te("Materials",r,0,1,!1,!1,"advanced"),te("Horseshoe",r,-2,0,!1,!1,"advanced"),te("Nanite",r,0,1,!1,!1,"advanced"),te("Genes",r,-2,0,!1,!1,"advanced"),te("Soul_Gem",r,-2,0,!1,!1,"advanced"),te("Plywood",r,-1,0,!1,!1,"danger"),te("Brick",r,-1,0,!1,!1,"danger"),te("Wrought_Iron",r,-1,0,!1,!1,"danger"),te("Sheet_Metal",r,-1,0,!1,!1,"danger"),te("Mythril",r,-1,0,!1,!1,"danger"),te("Aerogel",r,-1,0,!1,!1,"danger"),te("Nanoweave",r,-1,0,!1,!1,"danger"),te("Scarletite",r,-1,0,!1,!1,"danger"),te("Quantium",r,-1,0,!1,!1,"danger"),te("Corrupt_Gem",r,-2,0,!1,!1,"caution"),te("Codex",r,-2,0,!1,!1,"caution"),te("Cipher",r,0,1,!1,!1,"caution"),te("Demonic_Essence",r,-2,0,!1,!1,"caution"),te("Blessed_Essence",r,-2,0,!1,!1,"caution"),!r&&(pa("Blood_Stone","caution"),pa("Artifact","caution"),te("Knockoff",r,-2,0,!1,!1,"special"),pa("Plasmid"),pa("AntiPlasmid"),pa("Supercoiled"),pa("Phage"),pa("Dark"),pa("Harmony"),pa("AICore"))}function pi(){e.race.species!=="protoplasm"&&(Nu(),Ku(),Ru())}function te(r,a,i,s,n,c,o){if(o=o||"info",e.resource[r]||(e.resource[r]={}),sr(r),e.race.artifical&&r==="Food"&&(c=!1),a)return;e.resource[r].hasOwnProperty("display")||(e.resource[r].display=!1),e.resource[r].hasOwnProperty("value")||(e.resource[r].value=e.race.truepath?da[r]*2:da[r]),e.resource[r].hasOwnProperty("amount")||(e.resource[r].amount=0),e.resource[r].hasOwnProperty("max")||(e.resource[r].max=i),e.resource[r].hasOwnProperty("diff")||(e.resource[r].diff=0),e.resource[r].hasOwnProperty("delta")||(e.resource[r].delta=0),e.resource[r].hasOwnProperty("rate")||(e.resource[r].rate=s),r==="Mana"&&(e.resource[r].gen=0,e.resource[r].gen_d=0),e.resource[r].stackable=c,e.resource[r].crates||(e.resource[r].crates=0),e.resource[r].containers||(e.resource[r].containers=0),!e.resource[r].trade&&n&&(e.resource[r].trade=0);var l;e.resource[r].max===-1||e.resource[r].max===-2?l=$(`

{{ name | namespace }}

{{ amount | diffSize }}
`):l=$(`

{{ name | namespace }}

{{ amount | size }} / {{ max | size }}
`),c?l.append($(`+`)):(i!==-1||i===-1&&s===0&&e.race.no_craft||r==="Scarletite"||r==="Quantium")&&l.append($(""));let u=!1;if(s!==0||i===-1&&s===0&&e.race.no_craft||r==="Scarletite"||r==="Quantium")l.append($(`{{ diff | diffSize }} /s`));else if(i===-1&&!e.race.no_craft&&r!=="Scarletite"&&r!=="Quantium"){let h=$('');l.append(h);let d=[1,5];for(let g=0;g+${d[g]}`));h.append($(`+A`)),u=!0}else e.race.fasting&&r===e.race.species?l.append($(`{{ diff | diffSize }}`)):l.append($(""));$("#resources").append(l);var p={template:''};if(C({el:`#res${r}`,data:e.resource[r],filters:{size:function(h){return h&&X(h,0)},diffSize:function(h){return r==="Horseshoe"&&!e.race.hooved&&ke("fool",2023)&&(h=5),X(h,2)},namespace(h){return h.replace("_"," ")}},methods:{resRate(h){let d=X(e.resource[h].diff,2);return`${h} ${d} per second`},trigModal(){this.$buefy.modal.open({parent:this,component:p});var h=setInterval(function(){$("#modalBox").length>0&&(clearInterval(h),Hu(r,o))},50)},showTrigger(){return e.resource.Crates.display},craft(h,d){if(!e.race.no_craft){let g=fi(h,"manual").multiplier,w=ss(!0),k=Math.floor(e.resource[w[h][0].r].amount/w[h][0].a);for(let M=1;M${e.resource[w[h][k].r].name} ${M}
`}return g}}}),Ko(`cnt${r}`,r,"c"),u){let h=[1,5,"A"];for(let d=0;d"),k=r,M=h[d],q=+(fi(k,"manual").multiplier*100).toFixed(0);w.append($(`
${t("manual_crafting_hover_bonus",[q.toLocaleString(),e.resource[k].name])}
`));let P=ss(!0),O=$(`
${t("manual_crafting_hover_craft")}
`),U=0;if(typeof M!="number"){if(U=e.resource[P[k][0].r].amount/P[k][0].a,P[k].length>1)for(let z=1;z${X(q/100*U,1)} ${e.resource[k].name}`))}else{U=W()*M;let z=X(q/100*U,1);O.append($(`${z} ${e.resource[k].name}`))}let Z=$(`
${t("manual_crafting_hover_use")}
`);for(let z=0;z${X(U*P[k][z].a,1)} ${e.resource[P[k][z].r].name}`)),z+1, "));return w.append(O),w.append(Z),w};Ns(`inc${r}${h[d]}`,r,"manual",g)}}c&&N(`con${r}`,function(){var h=$(`
${t("resource_Crates_plural")} ${e.resource[r].crates}
`);return e.tech.steel_container&&h.append($(`
${t("resource_Containers_plural")} ${e.resource[r].containers}
`)),h}),(r!==e.race.species||e.race.fasting)&&r!=="Crates"&&r!=="Containers"&&i!==-1?Ko(`inc${r}`,r,"p"):i===-1&&Ns(`inc${r}`,r,"auto"),$(`#res${r}`).on("mouseover",function(){$(`.res-${r}`).each(function(){e.resource[r].amount>=$(this).attr(`data-${r}`)?$(this).addClass("hl-ca"):$(this).addClass("hl-cna")})}),$(`#res${r}`).on("mouseout",function(){$(`.res-${r}`).each(function(){$(this).removeClass("hl-ca"),$(this).removeClass("hl-cna")})}),typeof Se.resource>"u"&&(Se.resource={}),Se.resource[r]={color:o,tradable:n,stackable:c}}function sr(r){if(r===e.race.species?e.resource[r].name=lt("name"):e.resource[r].name=r==="Money"?"$":t(`resource_${r}_name`),r==="Useless"&&(e.resource.Lumber.display?e.resource.Chrysotile.display?e.resource.Crystal.display?e.resource.Useless.name=t("resource_Bronze_name"):e.resource.Useless.name=t("resource_Crystal_name"):e.resource.Useless.name=t("resource_Chrysotile_name"):e.resource.Useless.name=t("resource_Lumber_name")),ke("fool",2022))switch(r){case"Lumber":e.resource[r].name=t("resource_Stone_name");break;case"Stone":e.resource[r].name=t("resource_Lumber_name");break;case"Copper":e.resource[r].name=t("resource_Iron_name");break;case"Iron":e.resource[r].name=t("resource_Copper_name");break;case"Steel":e.resource[r].name=t("resource_Titanium_name");break;case"Titanium":e.resource[r].name=t("resource_Steel_name");break;case"Coal":e.resource[r].name=t("resource_Oil_name");break;case"Oil":e.resource[r].name=t("resource_Coal_name");break;case"Alloy":e.resource[r].name=t("resource_Polymer_name");break;case"Polymer":e.resource[r].name=t("resource_Alloy_name");break;case"Graphene":e.resource[r].name=t("resource_Stanene_name");break;case"Stanene":e.resource[r].name=t("resource_Graphene_name");break;case"Plywood":e.resource[r].name=t("resource_Brick_name");break;case"Brick":e.resource[r].name=t("resource_Plywood_name");break;case"Genes":e.resource[r].name=t("resource_Soul_Gem_name");break;case"Soul_Gem":e.resource[r].name=t("resource_Genes_name");break;case"Slave":e.resource[r].name=t("resource_Peon_name");break}if(r==="Horseshoe"&&(e.resource[r].name=Lt()),e.race.artifical&&r==="Genes"&&(e.resource[r].name=t("resource_Program_name")),e.race.sappy)switch(r){case"Stone":e.resource[r].name=t("resource_Amber_name");break}else if(e.race.flier)switch(r){case"Stone":e.resource[r].name=t("resource_Clay_name");break;case"Brick":e.resource[r].name=t("resource_Mud_Brick_name");break}if(e.race.soul_eater)switch(r){case"Food":e.resource[r].name=t("resource_Souls_name");break}if(e.race.evil)switch(r){case"Lumber":e.resource[r].name=t("resource_Bones_name");break;case"Furs":e.resource[r].name=t("resource_Flesh_name");break;case"Plywood":e.resource[r].name=t("resource_Boneweave_name");break}if(e.race.artifical)switch(r){case"Food":e.resource[r].name=t("resource_Signal_name");break}if(ke("halloween").active)switch(r){case"Food":e.resource[r].name=t("resource_Candy_name");break;case"Lumber":e.resource[r].name=t("resource_Bones_name");break;case"Stone":e.resource[r].name=t("resource_RockCandy_name");break;case"Furs":e.resource[r].name=t("resource_Webs_name");break;case"Plywood":e.resource[r].name=t("resource_Boneweave_name");break;case"Brick":e.resource[r].name=t("resource_Tombstone_name");break;case"Soul_Gem":e.resource[r].name=t("resource_CandyCorn_name");break;case"Slave":e.resource[r].name=t("events_halloween_ghoul");break}}function pa(r,a){if($(`#res${r}`).length){let s=$(`#res${r}`);s.detach(),$("#resources").append(s);return}a=a||"special";var i=$(`
${t(`resource_${r}_name`)}{{ count | round }}
`);$("#resources").append(i),C({el:`#res${r}`,data:e.prestige[r],filters:{round(s){return s&&X(s,3,!1,!0)}}}),!(r==="Artifact"||r==="Blood_Stone")&&N(`res${r}`,function(){let s=$("
");switch(r){case"Plasmid":{let n=e.race.p_mutation+(e.race.wish&&e.race.wishStats?e.race.wishStats.plas:0),c=e.race.no_plasmid?Math.min(n,e.prestige.Plasmid.count):e.prestige.Plasmid.count;if(s.append($(`${t(`resource_${r}_desc`,[c,+(Vs("plasmid")*100).toFixed(2)])}`)),e.genes.store&&(e.race.universe!=="antimatter"||e.genes.bleed>=3)){let o=G(1,"plasmid");o>1&&s.append($(` ${t("resource_Plasmid_desc2",[+((o-1)*100).toFixed(2)])}`))}}break;case"AntiPlasmid":{s.append($(`${t(`resource_${r}_desc`,[e.prestige.AntiPlasmid.count,+(Vs("antiplasmid")*100).toFixed(2)])}`));let n=G(1,"anti");e.genes.store&&(e.race.universe==="antimatter"||e.genes.bleed>=3)&&n>1&&s.append($(` ${t("resource_Plasmid_desc2",[+((n-1)*100).toFixed(2)])}`))}break;case"Phage":{s.append($(`${t(e.prestige.AntiPlasmid.count>0?"resource_Phage_desc2":"resource_Phage_desc",[250+e.prestige.Phage.count])}`));let n=G(1,"phage");e.genes.store&&e.genes.store>=4&&n>1&&s.append($(` ${t("resource_Plasmid_desc2",[+((n-1)*100).toFixed(2)])}`))}break;case"Dark":switch(e.race.universe){case"standard":s.append($(`${t(`resource_${r}_desc_s`,[+((Me("standard")-1)*100).toFixed(2)])}`));break;case"evil":s.append($(`${t(`resource_${r}_desc_e`,[+((Me("evil")-1)*100).toFixed(2)])}`));break;case"micro":s.append($(`${t(`resource_${r}_desc_m`,[Me("micro",!1),Me("micro",!0)])}`));break;case"heavy":let n=Me("heavy"),c=.25+.5*n,o=.2+.3*n;s.append($(`${t(`resource_${r}_desc_h`,[+(c*100).toFixed(4),+(o*100).toFixed(4)])}`));break;case"antimatter":s.append($(`${t(`resource_${r}_desc_a`,[+((Me("antimatter")-1)*100).toFixed(2)])}`));break;case"magic":s.append($(`${t(`resource_${r}_desc_mg`,[t("resource_Mana_name"),+((Me("magic")-1)*100).toFixed(2)])}`));break}break;case"Harmony":s.append($(`${t(`resource_${r}_desc`,[e.race.universe==="standard"?.1:1,ns()])}`));break;case"AICore":{let n=+((1-.99**e.prestige.AICore.count)*100).toFixed(2);s.append($(`${t(`resource_${r}_desc`,[n])}`))}break;case"Supercoiled":{let n=e.prestige.Supercoiled.count,c=n/(n+5e3)*100;if(s.append($(`${t(`resource_${r}_desc`,[+c.toFixed(2)])}`)),e.genes.hasOwnProperty("trader")&&e.genes.trader>=2){let o=n/(n+500)*100;s.append($(` ${t(`resource_${r}_trade_desc`,[+o.toFixed(2)])}`))}}break}return s})}function Lu(r){let a=e.tech.currency>=6?-1e6:e.tech.currency>=4?-100:-25;if(e.race.banana){let i=!1;if(Object.keys(e.resource).forEach(function(s){e.resource[s].hasOwnProperty("trade")&&e.resource[s].trade<0&&(i=s)}),i&&i!==r)return!1;a=e.tech.currency>=6?-1e6:e.tech.currency>=4?-25:-10}return!(e.resource[r].trade<=a)}function Du(r){let a=e.tech.currency>=6?1e6:e.tech.currency>=4?100:25;return!(e.resource[r].trade>=a)}function Qi(r,a,i,s,n){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==0))&&!((e.race.artifical||e.race.fasting)&&i==="Food")){if(n&&a.append($(`

{{ r.name | namespace }}

`)),e.race.no_trade||(a.append($(`${t("resource_market_buy")}`)),a.append($(`\${{ r.value | buy }}`)),a.append($(`${t("resource_market_sell")}`)),a.append($(`\${{ r.value | sell }}`))),n&&(e.race.banana&&i==="Food"||e.tech.trade&&!e.race.terrifying)){let c=$(`${t("resource_market_routes")}`);a.append(c),c.append($(`-`)),c.append($('')),c.append($(`+`)),c.append($(`${t("cancel_routes")}`)),Hs(i)}C({el:r,data:{r:e.resource[i],m:e.city.market},methods:{aSell(c){let o=tr[c]===1?t("resource_market_unit"):t("resource_market_units"),l=Bu(c),u=tr[c];if(e.stats.achieve.hasOwnProperty("trade")){let p=e.stats.achieve.trade.l;p>5&&(p=5),u*=1-p/100}return u=+u.toFixed(3),t("resource_market_auto_sell_desc",[u,o,l])},aBuy(c){let o=tr[c],l=Q("dealmaker",0);l&&(o*=1+l/100),e.race.persuasive&&(o*=1+e.race.persuasive/100),e.race.devious&&(o*=1-v.devious.vars()[0]/100),e.race.merchant&&(o*=1+v.merchant.vars()[1]/100);let u=re("goblin");if(u>0&&(o*=1+v.merchant.vars(1)[1]/100*u),e.genes.trader){let d=jt();o*=1+d/100}if(e.stats.achieve.hasOwnProperty("trade")){let d=e.stats.achieve.trade.l;d>5&&(d=5),o*=1+d/50}e.race.truepath&&(o*=1-e.civic.foreign.gov3.hstl/101),o=+o.toFixed(3);let p=o===1?t("resource_market_unit"):t("resource_market_units"),h=Gu(c);return t("resource_market_auto_buy_desc",[o,p,h])},purchase(c){if(!e.race.no_trade&&!e.settings.pause){let o=e.city.market.qty,l=e.resource[c].value;e.race.arrogant&&(l*=1+v.arrogant.vars()[0]/100),e.race.conniving&&(l*=1-v.conniving.vars()[0]/100);let u=re("imp");u>0&&(l*=1-v.conniving.vars(1)[0]/100*u);let p=Math.floor(Math.min(o,e.resource.Money.amount/l,e.resource[c].max-e.resource[c].amount));p>0&&(e.resource[c].amount+=p,e.resource.Money.amount-=Math.round(l*p),e.resource[c].value+=Number((p/Math.rand(1e3,1e4)).toFixed(2)))}},sell(c){if(!e.race.no_trade&&!e.settings.pause){let o=e.city.market.qty,l=4;e.race.merchant&&(l*=1-v.merchant.vars()[0]/100);let u=re("goblin");u>0&&(l*=1-v.merchant.vars(1)[0]/100*u),e.race.asymmetrical&&(l*=1+v.asymmetrical.vars()[0]/100),e.race.conniving&&(l*=1-v.conniving.vars()[1]/100);let p=re("imp");p>0&&(l*=1-v.conniving.vars(1)[1]/100*p);let h=e.resource[c].value/l,d=Math.floor(Math.min(o,e.resource[c].amount,(e.resource.Money.max-e.resource.Money.amount)/h));d>0&&(e.resource[c].amount-=d,e.resource.Money.amount+=Math.round(h*d),e.resource[c].value-=Number((d/Math.rand(1e3,1e4)).toFixed(2)),e.resource[c].value0&&(p+=e.resource[h].trade)}),u<=p)break}if(e.resource[c].trade>=0)if(Du(c)&&e.city.market.trade0?this.autoSell(c,e.resource[c].trade):e.resource[c].trade<0&&this.autoBuy(c,-e.resource[c].trade)}},filters:{buy(c){return e.race.arrogant&&(c*=1+v.arrogant.vars()[0]/100),X(c*e.city.market.qty,0)},sell(c){let o=4;e.race.merchant&&(o*=1-v.merchant.vars()[0]/100);let l=re("goblin");return l>0&&(o*=1-v.merchant.vars(1)[0]/100*l),e.race.devious&&(o*=1-v.devious.vars()[0]/100),e.race.asymmetrical&&(o*=1+v.asymmetrical.vars()[0]/100),X(c*e.city.market.qty/o,0)},trade(c){if(i==="Stone"&&(c===31||c===-31)){let o=mt(3,12,!1);if(o.length>0)return o}return c<0?(c=0-c,`-${c}`):c>0?`+${c}`:0},namespace(c){return c.replace("_"," ")}}})}}function Ku(){!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==0)||($("#market").append($(`

${t("galaxy_trade")}

`)),nc())}function Rs(){return[{buy:{res:"Deuterium",vol:5},sell:{res:"Helium_3",vol:25}},{buy:{res:"Neutronium",vol:2.5},sell:{res:"Copper",vol:200}},{buy:{res:"Adamantite",vol:3},sell:{res:"Iron",vol:300}},{buy:{res:"Elerium",vol:1},sell:{res:"Oil",vol:125}},{buy:{res:"Nano_Tube",vol:10},sell:{res:"Titanium",vol:20}},{buy:{res:"Graphene",vol:25},sell:{res:e.race.kindling_kindred||e.race.smoldering?e.race.smoldering?"Chrysotile":"Stone":"Lumber",vol:1e3}},{buy:{res:"Stanene",vol:40},sell:{res:"Aluminium",vol:800}},{buy:{res:"Bolognium",vol:.75},sell:{res:"Uranium",vol:4}},{buy:{res:"Vitreloy",vol:1},sell:{res:"Infernite",vol:1}}]}function nc(r){let a=r||$("#galaxyTrade");if(r||K($("#galaxyTrade")),e.galaxy.trade){a.append($(`
${t("galaxy_trade")}
`));let i=Rs();for(let n=0;n');a.append(c),c.append($(`${e.resource[i[n].buy.res].name}`)),c.append($(`+{{ '${n}' | t_vol }}/s`)),c.append($(`${e.resource[i[n].sell.res].name}`)),c.append($(`-{{ '${n}' | s_vol }}/s`));let o=$(`${t("resource_market_routes")}`);c.append(o);let l=t("galaxy_freighter_assign",[e.resource[i[n].buy.res].name,e.resource[i[n].sell.res].name]),u=t("galaxy_freighter_unassign",[e.resource[i[n].buy.res].name,e.resource[i[n].sell.res].name]);o.append($(`-`)),o.append($(`{{ g.f${n} }}`)),o.append($(`+`)),o.append($(`${t("cancel_routes")}`))}let s=$(`
${t("resource_market_galactic_trade_routes")} {{ g.cur }} / {{ g.max }}
`);s.append($(`${t("cancel_all_routes")}`)),a.append(s)}C({el:r?"#specialModal":"#galaxyTrade",data:{g:e.galaxy.trade,t:e.tech},methods:{less(i){let s=W();e.galaxy.trade[`f${i}`]>=s?(e.galaxy.trade[`f${i}`]-=s,e.galaxy.trade.cur-=s):(e.galaxy.trade.cur-=e.galaxy.trade[`f${i}`],e.galaxy.trade[`f${i}`]=0)},more(i){let s=W();e.galaxy.trade.cure.galaxy.trade.max-e.galaxy.trade.cur&&(s=e.galaxy.trade.max-e.galaxy.trade.cur),e.galaxy.trade[`f${i}`]+=s,e.galaxy.trade.cur+=s)},zero(i){if(i)e.galaxy.trade.cur-=e.galaxy.trade[`f${i}`],e.galaxy.trade[`f${i}`]=0;else{let s=Rs();for(let n=0;n0&&(n*=1+v.merchant.vars(1)[1]/100*c),e.genes.trader){let o=jt();n*=1+o/100}if(e.stats.achieve.hasOwnProperty("trade")){let o=e.stats.achieve.trade.l;o>5&&(o=5),n*=1+o/50}return n=+n.toFixed(2),n},s_vol(i){let n=Rs()[i].sell.vol;if(e.stats.achieve.hasOwnProperty("trade")){let c=e.stats.achieve.trade.l;c>5&&(c=5),n*=1-c/100}return n=+n.toFixed(2),n}}}),N("galacticTradeTotal",function(){let i=$('
');return Te.hasOwnProperty("gt_route")&&Object.keys(Te.gt_route).forEach(function(s){Te.gt_route[s]>0&&i.append(``)}),i.append(``),i},{elm:"#galacticTradeTotal > span"})}function Vo(r){let a=W(),i=Qs();a>e.resource[r].crates&&(a=e.resource[r].crates),a>0&&(e.resource.Crates.amount+=a,e.resource.Crates.max+=a,e.resource[r].crates-=a,e.resource[r].max-=i*a)}function Uo(r){let a=W(),i=Qs();a>e.resource.Crates.amount&&(a=e.resource.Crates.amount),a>0&&(e.resource.Crates.amount-=a,e.resource.Crates.max-=a,e.resource[r].crates+=a,e.resource[r].max+=i*a)}function Wo(r){let a=W(),i=Js();a>e.resource[r].containers&&(a=e.resource[r].containers),a>0&&(e.resource.Containers.amount+=a,e.resource.Containers.max+=a,e.resource[r].containers-=a,e.resource[r].max-=i*a)}function Qo(r){let a=W(),i=Js();a>e.resource.Containers.amount&&(a=e.resource.Containers.amount),a>0&&(e.resource.Containers.amount-=a,e.resource.Containers.max-=a,e.resource[r].containers+=a,e.resource[r].max+=i*a)}function Ji(r,a,i,s){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==1))){if(a.append($(`

{{ name }}

`)),e.resource.Crates.display){let n=$(`${t("resource_Crates_name")}`);a.append(n),n.append($(`«`)),n.append($(``)),n.append($(`»`))}if(e.resource.Containers.display){let n=$(`${t("resource_Containers_name")}`);a.append(n),n.append($(`«`)),n.append($('')),n.append($(`»`))}C({el:r,data:e.resource[i],methods:{addCrate(n){Uo(n)},subCrate(n){Vo(n)},addCon(n){Qo(n)},subCon(n){Wo(n)}},filters:{trick(n){if(i==="Stone"&&e.resource[i].crates===10&&e.resource[i].containers===31){let c=mt(4,13,!0);if(c.length>0)return c}return n},cCnt(n,c){if(c==="Food"&&!e.race.artifical||e.race.artifical&&c==="Coal"||c==="Souls"){let o=ht(13,10);if(n===10&&o.length>0)return"1"+o}return n}}})}}function Bu(r){let a=4;e.race.merchant&&(a*=1-v.merchant.vars()[0]/100);let i=re("goblin");i>0&&(a*=1-v.merchant.vars(1)[0]/100*i),e.race.asymmetrical&&(a*=1+v.asymmetrical.vars()[0]/100),e.race.devious&&(a*=1+v.devious.vars()[0]/100),e.race.conniving&&a--;let s=e.resource[r].value*tr[r]/a;if(e.city.wharf&&(s=s*(1+e.city.wharf.count*.01)),e.space.gps&&e.space.gps.count>3&&(s=s*(1+e.space.gps.count*.01)),e.tech.railway){let n=e.stats.achieve.banana&&e.stats.achieve.banana.l>=1?.03:.02;s=s*(1+e.tech.railway*n)}if(e.race.truepath&&!e.race.lone_survivor&&(s*=1-e.civic.foreign.gov3.hstl/101),e.race.inflation&&(s*=1+e.race.inflation/500),e.race.witch_hunter&&e.resource.Sus.amount>50){let n=(e.resource.Sus.amount-50)/52;s*=1-n}return s*=ie("psychic_cash"),s=+s.toFixed(1),s}function Gu(r){let a=e.resource[r].value;e.race.arrogant&&(a*=1+v.arrogant.vars()[0]/100),e.race.conniving&&(a*=1-v.conniving.vars()[0]/100);let i=re("imp");i>0&&(a*=1-v.conniving.vars(1)[0]/100*i);let s=a*tr[r];if(e.city.wharf&&(s=s*.99**e.city.wharf.count),e.space.gps&&e.space.gps.count>3&&(s=s*.99**e.space.gps.count),e.tech.railway){let n=e.stats.achieve.banana&&e.stats.achieve.banana.l>=1?.97:.98;s=s*n**e.tech.railway}if(e.race.truepath&&!e.race.lone_survivor&&(s*=1+e.civic.foreign.gov3.hstl/101),e.race.inflation&&(s*=1+e.race.inflation/300),e.race.quarantine&&(s*=1+Math.round(e.race.quarantine**3.5)),e.race.witch_hunter&&e.resource.Sus.amount>50){let n=(e.resource.Sus.amount-50)/8;s*=1+n}return s=+s.toFixed(1),s}function Ns(r,a,i,s){N(`${r}`,function(){let n=$('
{{ res.name | namespace }}
'),c=$('
');n.append(c);let o=fi(a,i),l=$("
");c.append(l),i==="auto"&&Te.p[a]&&Object.keys(Te.p[a]).forEach(function(d){let g=Te.p[a][d],w=parseFloat(g.slice(0,-1));if(w!=0&&!isNaN(w)){let k=w>0?"success":"danger",M=d.replace(/\+.+$/,"");d=d.replace(/'/g,"\\'"),l.append(``)}}),Object.keys(o.multi_bd).forEach(function(d){let g=o.multi_bd[d],w=parseFloat(g.slice(0,-1));if(w!=0&&!isNaN(w)){let k=w>0?"success":"danger",M=d.replace(/\+.+$/,"");d=d.replace(/'/g,"\\'"),l.append(``)}});let u=$('
'),p=$(`
${t("craft_tools_multi")}
`);u.append(p);let h=0;if(Object.keys(o.add_bd).forEach(function(d){let g=o.add_bd[d],w=parseFloat(g.slice(0,-1));if(w!=0&&!isNaN(w)){h++;let k=w>0?"success":"danger",M=d.replace(/\+.+$/,"");d=d.replace(/'/g,"\\'"),u.append(``)}}),h>0&&c.append(u),Te.p.consume&&Te.p.consume[a]){let d=$('
'),g=0;Object.keys(Te.p.consume[a]).forEach(function(w){let k=Te.p.consume[a][w];if(k!=0&&!isNaN(k)){g++;let M=k>0?"success":"danger",q=w.replace(/\+.+$/,"");w=w.replace(/'/g,"\\'"),d.append(``)}}),g>0&&c.append(d)}return e.resource[a].diff<0&&e.resource[a].amount>0&&n.append(``),s&&(n.append(''),n.append(s)),n},{in:function(){C({el:"#popper > div",data:{[a]:Te.p[a],res:e.resource[a],consume:Te.p.consume,craft:fi(a,i)},filters:{translate(n){let c=n[n.length-1],o=parseFloat(n.slice(0,-1)),l=o>0&&o<1||o<0&&o>-1?4:o>0&&o<10||o<0&&o>-10?3:2;o=+o.toFixed(l);let u=c==="%"?"%":"";if(o>0)return"+"+X(o,l)+u;if(o<0)return X(o,l)+u},fix(n){return n+"v"},counter(n){let c=-e.resource[a].diff,o=+(n/c).toFixed(0);if(o>60){let l=o%60,u=(o-l)/60;if(u>=60){let p=u%60;return`${(u-p)/60}h ${p}m`}else return`${u}m ${l}s`}else return`${o}s`},namespace(n){return n.replace("_"," ")}}})},out:function(){C({el:"#popper > div"},"destroy")},classes:"breakdown has-background-light has-text-dark",prop:{modifiers:{preventOverflow:{enabled:!1},hide:{enabled:!1}}}})}function Ko(r,a,i){N(`${r}`,function(){let s=$('
{{ res.name | namespace }}
');i==="p"&&a===e.race.species&&(s=$(`
${t("starvation_resist")}
`));let n=$('
');s.append(n);let c=!1;if(Te[i][a]&&!(e.race.species===a&&i==="p")){let l=$("
");n.append(l);let u=[a];u.push("Global");for(var o=0;o0?"success":"danger",k=h.replace(/\+.+$/,"");h=h.replace(/'/g,"\\'"),l.append(``)}})}}if(Te[i].consume&&Te[i].consume[a]){let l=$(`
`),u=0;Object.keys(Te[i].consume[a]).forEach(function(p){let h=Te[i].consume[a][p];if(h!=0&&!isNaN(h)){u++;let d=h>0?"success":"danger",g=p.replace(/\+.+$/,"");p=p.replace(/'/g,"\\'"),l.append(``)}}),u>0&&n.append(l)}if(i==="p"&&a!==e.race.species){let l=e.resource[a].diff>0?"success":"danger";s.append(``)}return s},{in:function(){C({el:"#popper > div",data:{Global:Te[i].Global,[a]:Te[i][a],consume:Te[i].consume,res:e.resource[a]},filters:{translate(s){let n=s[s.length-1],c=parseFloat(s.slice(0,-1)),o=c>0&&c<1||c<0&&c>-1?4:c>0&&c<10||c<0&&c>-10?3:2,l=n==="%"?"%":"";if(c>0)return"+"+X(c,o)+l;if(c<0)return X(c,o)+l},fix(s){return s+"v"},counter(s){let n=e.resource[a].diff,c=0;if(n<0?(n*=-1,c=+(s/n).toFixed(0)):c=+((e.resource[a].max-s)/n).toFixed(0),c===1/0||Number.isNaN(c))return"Never";if(c>60){let o=c%60,l=(c-o)/60;if(l>=60){let u=l%60;return`${(l-u)/60}h ${u}m`}else return`${l}m ${o}s`}else return`${c}s`},direction(s){return s>=0?t("to_full"):t("to_empty")},namespace(s){return s.replace("_"," ")}}})},out:function(){C({el:"#popper > div"},"destroy")},classes:"breakdown has-background-light has-text-dark",prop:{modifiers:{preventOverflow:{enabled:!1},hide:{enabled:!1}}}})}function Nu(){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==0))return;let r=e.race.no_trade?" nt":"";var a=$(`
${t("resource_market_trade_routes")} / {{ mtrade }}
`);a.append($(`${t("cancel_all_routes")}`)),$("#market").append(a),C({el:"#tradeTotal",data:e.city.market,methods:{zero(){Object.keys(e.resource).forEach(function(i){e.resource[i].trade&&(e.city.market.trade-=Math.abs(e.resource[i].trade),e.resource[i].trade=0,Hs(i))})}},filters:{tdeCnt(i){let s=ht(17,11);return(i===100&&!e.tech.isolation&&!e.race.cataclysm||i===10&&(e.tech.isolation||e.race.cataclysm))&&s.length>0?"10"+s:i}}}),N("tradeTotalPopover",function(){let i=$('
');return Te.hasOwnProperty("t_route")&&Object.keys(Te.t_route).forEach(function(s){Te.t_route[s]>0&&i.append(``)}),i.append(``),i},{elm:"#tradeTotalPopover > span"})}function Ru(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==1))){var r=$(`
${t("resource_Crates_name")}{{ cr.amount }} / {{ cr.max }}${t("resource_Containers_name")}{{ cn.amount }} / {{ cn.max }}
`);$("#resStorage").append(r),C({el:"#crateTotal",data:{cr:e.resource.Crates,cn:e.resource.Containers}})}}function Hs(r){$(`#market-${r} .trade .current`).removeClass("has-text-warning"),$(`#market-${r} .trade .current`).removeClass("has-text-danger"),$(`#market-${r} .trade .current`).removeClass("has-text-success"),e.resource[r].trade>0?$(`#market-${r} .trade .current`).addClass("has-text-success"):e.resource[r].trade<0?$(`#market-${r} .trade .current`).addClass("has-text-danger"):$(`#market-${r} .trade .current`).addClass("has-text-warning")}function Jo(){let r=e.race.kindling_kindred||e.race.smoldering?e.race.smoldering?e.resource.Chrysotile.name:e.resource.Stone.name:e.resource.Plywood?e.resource.Plywood.name:t("resource_Plywood_name"),a=e.race.kindling_kindred||e.race.smoldering?200:10;return t("resource_modal_crate_construct_desc",[a,r,Qs()])}function Zo(){return t("resource_modal_container_construct_desc",[125,Js()])}function ec(r,a){switch(r){case"crate":cc(a);break;case"container":oc(a);break}}function cc(r){let a=r||W(),i=e.race.kindling_kindred||e.race.smoldering?e.race.smoldering?"Chrysotile":"Stone":"Plywood",s=e.race.kindling_kindred||e.race.smoldering?200:10;a+e.resource.Crates.amount>e.resource.Crates.max&&(a=e.resource.Crates.max-e.resource.Crates.amount),e.resource[i].amount=s*a&&e.resource.Crates.amounte.resource.Containers.max&&(a=e.resource.Containers.max-e.resource.Containers.amount),e.resource.Steel.amount<125*a&&(a=Math.floor(e.resource.Steel.amount/125)),e.resource.Steel.amount>=125*a&&e.resource.Containers.amount{{ name }} - {{ amount | size }}/{{ max | size }}

'));let a=$('
');if($("#modalBox").append(a),r==="Food"&&!e.race.artifical||e.race.artifical&&r==="Coal"||r==="Souls"){let l=ht(7,10);l.length>0&&$("#modalBoxTitle").prepend(l)}if(r==="Stone"){let l=mt(1,12,!1);l.length>0&&$("#modalBoxTitle").prepend(l)}let i=$('
');a.append(i),i.append($(`
${t("resource_modal_crate_owned")} {{ crates.amount }}/{{ crates.max }}${t("resource_modal_crate_assigned")} {{ res.crates }}
`));let s=$(``),n=$(``),c=$(``);if(i.append(s),i.append(n),i.append(c),C({el:"#modalCrates",data:{crates:e.resource.Crates,res:e.resource[r]},methods:{buildCrate(){cc()},subCrate(l){Vo(l)},addCrate(l){Uo(l)}}}),e.resource.Containers.display){let l=$('
');a.append(l),l.append($(`
${t("resource_modal_container_owned")} {{ containers.amount }}/{{ containers.max }}${t("resource_modal_container_assigned")} {{ res.containers }}
`));let u=$(``),p=$(``),h=$(``);l.append(u),l.append(p),l.append(h),C({el:"#modalContainers",data:{containers:e.resource.Containers,res:e.resource[r]},methods:{buildContainer(){oc()},removeContainer(d){Wo(d)},addContainer(d){Qo(d)}}})}C({el:"#modalBoxTitle",data:e.resource[r],filters:{size:function(l){return X(l,0)},diffSize:function(l){return X(l,2)}}});function o(l,u){if(l==="modalContainers"){let p=Js();switch(u){case"assign":return t("resource_modal_container_assign_desc",[p]);case"unassign":return t("resource_modal_container_unassign_desc",[p]);case"construct":return Zo()}}else{let p=Qs();switch(u){case"assign":return t("resource_modal_crate_assign_desc",[p]);case"unassign":return t("resource_modal_crate_unassign_desc",[p]);case"construct":return Jo()}}}["modalCrates","modalContainers"].forEach(function(l){["assign","unassign","construct"].forEach(function(u){N(`${l}${u}`,o(l,u),{elm:$(`#${l} > .${u}`),attach:"#main"})})})}function Xo(){e.settings.showResources||(e.settings.marketTabs=1),e.settings.showResources=!0,e.settings.showStorage=!0,Dr("storage"),Ne()}function Yo(){e.resource.Crates.display||(I(t("city_storage_yard_msg"),"info",!1,["progress"]),e.resource.Crates.display=!0,Xo())}function wr(){e.resource.Containers.display||(I(t("city_warehouse_msg"),"info",!1,["progress"]),e.resource.Containers.display=!0,Xo())}function Qs(){let r=e.tech.container&&e.tech.container>=2?500:350;e.tech.container&&e.tech.container>=4&&(r+=e.tech.container>=5?500:250),e.tech.container&&e.tech.container>=6&&(r+=e.tech.container>=7?1200:500),e.tech.container&&e.tech.container>=8&&(r+=e.tech.container>=9?7800:4e3),e.race.pack_rat&&(r*=1+v.pack_rat.vars()[0]/100);let a=re("kobold");return a>0&&(r*=1+v.pack_rat.vars(1)[0]/100*a),e.stats.achieve.banana&&e.stats.achieve.banana.l>=3&&(r*=1.1),r*=e.stats.achieve.blackhole?1+e.stats.achieve.blackhole.l*.05:1,Math.round(G(r))}function Js(){let r=e.tech.steel_container&&e.tech.steel_container>=3?1200:800;e.tech.steel_container&&e.tech.steel_container>=4&&(r+=e.tech.steel_container>=5?1e3:400),e.tech.steel_container&&e.tech.steel_container>=6&&(r+=e.tech.steel_container>=7?7500:1e3),e.tech.steel_container&&e.tech.steel_container>=8&&(r+=e.tech.steel_container>=9?15300:8e3),e.race.pack_rat&&(r*=1+v.pack_rat.vars()[0]/100);let a=re("kobold");return a>0&&(r*=1+v.pack_rat.vars(1)[0]/100*a),r*=e.stats.achieve.blackhole?1+e.stats.achieve.blackhole.l*.05:1,Math.round(G(r))}function Bo(){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==0))return;let r=$(`

${t("resource_market")}

`);K($("#market")),$("#market").append(r),Vu()}function Go(){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==1))return;let r=$(`

${t("tab_storage")}

`);K($("#resStorage")),$("#resStorage").append(r),e.resource.Crates&&e.resource.Containers&&(r.append($(``)),r.append($(``)),C({el:"#createHead",data:{cr:e.resource.Crates,cn:e.resource.Containers},methods:{crate(){cc()},container(){oc()},buildCrateDesc(){return Jo()},buildContainerDesc(){return Zo()}}}))}function Vu(){if(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==0))return;let r=$("#market-qty");K(r),e.race.no_trade||(r.append($(`

${t("resource_trade_qty")}

`)),r.append($('-+'))),C({el:"#market-qty",data:e.city.market,methods:{val(){e.city.market.qty<1?e.city.market.qty=1:e.city.market.qty>sc()&&(e.city.market.qty=sc())},limit(){return sc()},less(){e.city.market.qty-=W()},more(){e.city.market.qty+=W()}}})}function sc(){return e.tech.currency>=6?1e6:e.tech.currency>=4?5e3:100}function No(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==2))&&(K($("#resEjector")),e.interstellar.mass_ejector)){let r=$(`

${t("interstellar_mass_ejector_vol")}

`);$("#resEjector").append(r);let a=$('');r.append(a),a.append($(`{{ total }} / {{ on | max }}{{ on | real }}${t("interstellar_mass_ejector_mass")}: {{ mass | approx }} kt/s`)),C({el:"#eject",data:e.interstellar.mass_ejector,filters:{max(i){return i*1e3},real(i){return H.mass_ejector

${e.resource[r].name}

`);$("#resEjector").append(i);let s=$('');i.append(s),s.append($(`«`)),s.append($(`{{ e.${r} }}`)),s.append($(`»`)),s.append($(`${t("interstellar_mass_ejector_per")}: ${Ve[r]} kt`)),e.interstellar.mass_ejector.hasOwnProperty(r)||(e.interstellar.mass_ejector[r]=0),C({el:`#eject${r}`,data:{r:e.resource[r],e:e.interstellar.mass_ejector},methods:{ejectMore(n){let c=W();c+e.interstellar.mass_ejector.total>H.mass_ejector*1e3&&(c=H.mass_ejector*1e3-e.interstellar.mass_ejector.total),e.interstellar.mass_ejector[n]+=c,e.interstellar.mass_ejector.total+=c},ejectLess(n){let c=W();c>e.interstellar.mass_ejector[n]&&(c=e.interstellar.mass_ejector[n]),e.interstellar.mass_ejector[n]>0&&(e.interstellar.mass_ejector[n]-=c,e.interstellar.mass_ejector.total-=c)}}})}}function Ro(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==3))&&(K($("#resCargo")),e.portal.transport)){let r=$(`

${t("portal_transport_supply")}

`);$("#resCargo").append(r);let a=$('{{ used }} / {{ max }}');r.append(a),C({el:"#spireSupply",data:e.portal.transport.cargo})}}function Bn(r,a){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==3))&&di[r]&&e.portal.transport){let i=$(`

${e.resource[r].name}

`);$("#resCargo").append(i);let s=$('');i.append(s),s.append($(`«`)),s.append($(`{{ e.${r} }}`)),s.append($(`»`));let n=X(di[r].out);s.append($(`${t("portal_transport_item",[`${n}`,`${di[r].in}`])}`)),e.portal.transport.cargo.hasOwnProperty(r)||(e.portal.transport.cargo[r]=0),C({el:`#supply${r}`,data:{r:e.resource[r],e:e.portal.transport.cargo},methods:{supplyMore(c){let o=W();o+e.portal.transport.cargo.used>e.portal.transport.cargo.max&&(o=e.portal.transport.cargo.max-e.portal.transport.cargo.used,e.portal.transport.cargo[c]+o<0&&(o=-e.portal.transport.cargo[c])),e.portal.transport.cargo[c]+=o,e.portal.transport.cargo.used+=o},supplyLess(c){let o=W();o>e.portal.transport.cargo[c]&&(o=e.portal.transport.cargo[c]),e.portal.transport.cargo[c]>0&&(e.portal.transport.cargo[c]-=o,e.portal.transport.cargo.used-=o)}}})}}function Ho(){!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==4)||K($("#resAlchemy"))}function Gn(r,a,i){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==4||e.settings.marketTabs!==4))&&!(e.race.artifical&&r==="Food")&&e.tech.alchemy&&(i||e.tech.alchemy>=2)&&r!=="Crystal"){let s=$(`

${e.resource[r].name}

`);$("#resAlchemy").append(s);let n=$('');s.append(n),n.append($(`«`)),n.append($(`{{ a.${r} }}`)),n.append($(`»`)),e.race.alchemy.hasOwnProperty(r)||(e.race.alchemy[r]=0),C({el:`#alchemy${r}`,data:{r:e.resource[r],a:e.race.alchemy},methods:{addSpell(c){let o=W();for(let l=0;l=1;l++)e.race.alchemy[c]++,e.resource.Mana.diff--},subSpell(c){let o=W();for(let l=0;l0;l++)e.race.alchemy[c]--,e.resource.Mana.diff++}}}),N(`alchemy${r}`,function(){let c=i&&e.tech.alchemy>=2?tr[r]*8:tr[r]*2;return e.race.witch_hunter&&(c*=3),e.stats.achieve.soul_sponge&&e.stats.achieve.soul_sponge.mg&&(c*=e.stats.achieve.soul_sponge.mg+1),$(`
${t("resource_alchemy",[1,t("resource_Mana_name"),.15,t("resource_Crystal_name"),+c.toFixed(2),e.resource[r].name])}
`)},{elm:`#alchemy${r} h3`})}}var G=function(){var r={};return function(a,i,s){let n=i||"a",c=[e.race.universe,e.prestige.Plasmid.count,e.prestige.AntiPlasmid.count,e.prestige.Phage.count,e.race.no_plasmid||"0",e.race.p_mutation||"0",e.race.nerfed||"0",e.genes.store||"0",e.genes.bleed||"0",e.city.temple?e.city.temple.count:"0",e.space.ziggurat?e.space.ziggurat.count:"0",e.race.cataclysm?e.race.cataclysm:"0",e.race.orbit_decayed?e.race.orbit_decayed:"0",e.genes.ancients||"0",e.civic.priest?e.civic.priest.workers:"0"].join("-");if(r[n]||(r[n]={}),!r[n][c]||s){let o=1,l=!!(e.race.cataclysm||e.race.orbit_decayed);if(e.genes.store){let u=0;if(!i||i&&(i==="plasmid"&&e.race.universe!=="antimatter"||i==="anti"&&e.race.universe==="antimatter")){u=e.race.universe==="antimatter"?e.prestige.AntiPlasmid.count:e.prestige.Plasmid.count;let h=u;if(e.race.no_plasmid){let d=e.race.p_mutation+(e.race.wish&&e.race.wishStats?e.race.wishStats.plas:0);h=Math.min(d,u)}else e.race.nerfed&&(h=Math.floor(u/(e.race.universe==="antimatter"?2:5)));u=Math.round(h*(e.race.nerfed?.5:1))}(!i||i&&i==="phage")&&e.genes.store>=4&&(u+=Math.round(e.prestige.Phage.count*(e.race.nerfed?1/3:1)));let p=e.genes.store>=2?e.genes.store>=3?1250:1666:2500;if(e.race.universe==="antimatter"&&(p*=2),e.genes.bleed&&e.genes.bleed>=3&&(!i||i&&(i==="plasmid"&&e.race.universe==="antimatter"||i==="anti"&&e.race.universe!=="antimatter"))){let h=e.race.universe==="antimatter"?e.prestige.Plasmid.count/5:e.prestige.AntiPlasmid.count/10;u+=Math.round(h*(e.race.nerfed?.5:1))}o*=1+u/p}if(e.race.universe==="standard"&&(o*=Me("standard")),e.race.universe==="antimatter"&&(!l&&e.city.temple&&e.city.temple.count||l&&e.space.ziggurat&&e.space.ziggurat.count)){let u=.06;if(e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display){let p=e.genes.ancients>=5?.0012:e.genes.ancients>=3?.001:8e-4;e.race.high_pop&&(p=he(p)),u+=p*e.civic.priest.workers}o*=1+(l?e.space.ziggurat.count:e.city.temple.count)*u}if(!i&&e.pillars){let u=xr();o*=u[1]}r[n]={},r[n][c]=o}return i?r[n][c]*a:Math.round(r[n][c]*a)}}();function el(){let r=0;return!!(e.race.cataclysm||e.race.orbit_decayed)&&e.space.ziggurat?r=Us(!0):e.city.temple&&(r=Us(!1)),r}function lc(r=-1){if((e.race.no_plasmid||e.race.universe==="antimatter")&&(r==-1&&(r=el()),r>0)){let a=e.tech.anthropology&&e.tech.anthropology>=1?.016:.01;if(e.tech.fanaticism&&e.tech.fanaticism>=2){let s=Xe(e.civic.professor.workers,"professor")*he(e.race.universe==="antimatter"?2e-4:4e-4);a+=s}if(e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display){let s=e.genes.ancients>=5?15e-5:e.genes.ancients>=3?125e-6:1e-4;a+=he(s)*Xe(e.civic.priest.workers,"priest")}e.race.universe==="antimatter"?a/=e.race.nerfed?3:2:e.race.nerfed&&(a/=2),e.race.spiritual&&(a*=1+v.spiritual.vars()[0]/100);let i=re("seraph");return i>0&&(a*=1+v.spiritual.vars(1)[0]/100*i),e.race.blasphemous&&(a*=1-v.blasphemous.vars()[0]/100),e.civic.govern.type==="theocracy"&&(a*=1+Be.theocracy()[0]/100),e.race.ooze&&(a*=1-v.ooze.vars()[1]/100),r*a}return 0}function uc(r=-1){if(!e.race.no_plasmid&&e.race.universe!=="antimatter"&&(r==-1&&(r=el()),r>0)){let a=e.tech.anthropology&&e.tech.anthropology>=1?.08:.05;if(e.tech.fanaticism&&e.tech.fanaticism>=2){let s=Xe(e.civic.professor.workers,"professor")*he(.002);a+=s}if(e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display){let s=e.genes.ancients>=5?.0015:e.genes.ancients>=3?.00125:.001;a+=he(s)*Xe(e.civic.priest.workers,"priest")}e.race.spiritual&&(a*=1+v.spiritual.vars()[0]/100);let i=re("seraph");return i>0&&(a*=1+v.spiritual.vars(1)[0]/100*i),e.race.blasphemous&&(a*=1-v.blasphemous.vars()[0]/100),e.civic.govern.type==="theocracy"&&(a*=1+Be.theocracy()[0]/100),e.race.ooze&&(a*=1-v.ooze.vars()[1]/100),e.race.orbit_decayed&&e.race.truepath&&(a*=.1),r*a}return 0}var Vs=function(){var r={};return function(a){let i=[e.race.universe,e.prestige.Plasmid.count,e.prestige.AntiPlasmid.count,e.prestige.Phage.count,e.civic.govern.type,e.civic.professor.assigned,e.genes.bleed||"0",e.race.decayed||"0",e.race.gene_fortify||"0",e.tech.anthropology||"0",e.tech.fanaticism||"0",e.race.nerfed||"0",e.race.no_plasmid||"0",e.genes.ancients||"0",e.city.temple?e.city.temple.count:"0",e.space.ziggurat?e.space.ziggurat.count:"0",e.civic.priest?e.civic.priest.workers:"0",e.race.orbit_decayed?e.race.orbit_decayed:"0",e.race.spiritual||"0",e.tech.outpost_boost||"0",H.alien_outpost||"0"].join("-");if(!r[i]){let s=0,n=0;if(e.race.universe!=="antimatter"||e.genes.bleed){let o=e.race.p_mutation+(e.race.wish&&e.race.wishStats?e.race.wishStats.plas:0),l=e.race.no_plasmid?Math.min(o,e.prestige.Plasmid.count):e.prestige.Plasmid.count;e.race.universe==="antimatter"&&e.genes.bleed&&(l*=.025),e.race.decayed&&(l-=Math.round((e.stats.days-e.race.decayed)/(300+e.race.gene_fortify*6)));let u=250+e.prestige.Phage.count;l>u?s=+(Math.log(u+50)-3.91202).toFixed(5)/2.888+Math.log(l+1-u)/Math.LN2/250:l<0?s=0:s=+(Math.log(l+50)-3.91202).toFixed(5)/2.888,e.tech.outpost_boost&&e.race.truepath&&H.alien_outpost&&(s*=2);let p=uc();s*=1+p}if(e.race.universe==="antimatter"||e.genes.bleed&&e.genes.bleed>=2){let o=e.prestige.AntiPlasmid.count;e.race.universe!=="antimatter"&&e.genes.bleed&&e.genes.bleed>=2&&(o*=.25),e.race.decayed&&(o-=Math.round((e.stats.days-e.race.decayed)/(300+e.race.gene_fortify*6)));let l=250+e.prestige.Phage.count;o>l?n=+(Math.log(l+50)-3.91202).toFixed(5)/2.888+Math.log(o+1-l)/Math.LN2/250:o<0?n=0:n=+(Math.log(o+50)-3.91202).toFixed(5)/2.888,e.tech.outpost_boost&&e.race.truepath&&H.alien_outpost&&(n*=2),n/=3}e.race.nerfed&&(e.race.universe==="antimatter"?(s/=2,n/=2):(s/=5,n/=5)),r={};let c=(1+s)*(1+n)-1;r[i]=[c,s,n]}return a&&a==="raw"?r[i]:a&&a==="plasmid"?r[i][1]:a&&a==="antiplasmid"?r[i][2]:r[i][0]}}();var m={evolution:{rna:{id:"evolution-rna",title:t("resource_RNA_name"),desc(){let r=e.race.rapid_mutation?2:1;return t("evo_rna",[r])},condition(){return e.resource.hasOwnProperty("RNA")&&e.resource.RNA.display&&!e.race.evoFinalMenu},action(){return e.resource.RNA.amount=2&&e.resource.DNA.amount=2&&r++,t("evo_organelles_effect",[r])},action(){return _($(this)[0])?(e.evolution.organelles.count++,!0):!1}},nucleus:{id:"evolution-nucleus",title:t("evo_nucleus_title"),desc:t("evo_nucleus_desc"),condition(){return e.evolution.hasOwnProperty("nucleus")&&!e.race.evoFinalMenu},cost:{RNA(r){return ha("nucleus",38,e.tech.evo&&e.tech.evo>=4?16:32,r)},DNA(r){return ha("nucleus",18,e.tech.evo&&e.tech.evo>=4?12:16,r)}},effect(){let r=e.tech.evo&&e.tech.evo>=5?2:1;return t("evo_nucleus_effect",[r])},action(){return _($(this)[0])?(e.evolution.nucleus.count++,!0):!1}},eukaryotic_cell:{id:"evolution-eukaryotic_cell",title:t("evo_eukaryotic_title"),desc:t("evo_eukaryotic_desc"),condition(){return e.evolution.hasOwnProperty("eukaryotic_cell")&&!e.race.evoFinalMenu},cost:{RNA(r){return ha("eukaryotic_cell",20,20,r)},DNA(r){return ha("eukaryotic_cell",40,12,r)}},effect(){let r=e.evolution.mitochondria?e.evolution.mitochondria.count*10+10:10;return t("evo_eukaryotic_effect",[r])},action(){return _($(this)[0])?(e.evolution.eukaryotic_cell.count++,e.resource.DNA.max+=e.evolution.mitochondria?e.evolution.mitochondria.count*10+10:10,!0):!1}},mitochondria:{id:"evolution-mitochondria",title:t("evo_mitochondria_title"),desc:t("evo_mitochondria_desc"),condition(){return e.evolution.hasOwnProperty("mitochondria")&&!e.race.evoFinalMenu},cost:{RNA(r){return ha("mitochondria",75,50,r)},DNA(r){return ha("mitochondria",65,35,r)}},effect:t("evo_mitochondria_effect"),action(){return _($(this)[0])?(e.evolution.mitochondria.count++,!0):!1}},sexual_reproduction:{id:"evolution-sexual_reproduction",title:t("evo_sexual_reproduction_title"),desc:t("evo_sexual_reproduction_desc"),reqs:{evo:1},grant:["evo",2],condition(){return e.tech.evo&&e.tech.evo===1},cost:{DNA(){return 150}},effect:t("evo_sexual_reproduction_effect"),action(){return _($(this)[0])?(e.evolution.final=20,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===1?1:0}},phagocytosis:{id:"evolution-phagocytosis",title:t("evo_phagocytosis_title"),desc:t("evo_phagocytosis_desc"),reqs:{evo:2},grant:["evo",3],condition(){return e.tech.evo&&e.tech.evo===2},cost:{DNA(){return 175}},effect:t("evo_phagocytosis_effect"),action(){return _($(this)[0])?(e.tech.evo_animal=1,e.evolution.final=40,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===2?1:0}},chloroplasts:{id:"evolution-chloroplasts",title(){return e.evolution.gselect?t("genelab_genus_plant"):t("evo_chloroplasts_title")},desc:t("evo_chloroplasts_desc"),reqs:{evo:2},grant:["evo",3],condition(){return qt(2)},cost:{DNA(){return 175}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_chloroplasts_effect")}
${t("evo_warn_unwise")}
`:t("evo_chloroplasts_effect")},action(){return _($(this)[0])?(e.evolution.gselect?(e.tech.evo=7,e.tech.evo_plant=2,e.evolution.final=100):(e.tech.evo_plant=1,e.evolution.final=40),!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===2?1:0},emblem(){return at("genus_plant")}},chitin:{id:"evolution-chitin",title(){return e.evolution.gselect?t("genelab_genus_fungi"):t("evo_chitin_title")},desc:t("evo_chitin_desc"),reqs:{evo:2},grant:["evo",3],condition(){return qt(2)},cost:{DNA(){return 175}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_chitin_effect")}
${t("evo_warn_unwise")}
`:t("evo_chitin_effect")},action(){return _($(this)[0])?(e.evolution.gselect?(e.tech.evo=7,e.tech.evo_fungi=2,e.evolution.final=100):(e.tech.evo_fungi=1,e.evolution.final=40),!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===2?1:0},emblem(){return at("genus_fungi")}},exterminate:{id:"evolution-exterminate",title(){return e.evolution.gselect?t("genelab_genus_synthetic"):t("evo_exterminate_title")},desc:t("evo_exterminate_desc"),reqs:{evo:2},grant:["evo",7],condition(){return qt(2)&&e.stats.achieve.obsolete&&e.stats.achieve.obsolete.l>=5},cost:{DNA(){return 200}},effect(){return t("evo_exterminate_effect")},action(){return _($(this)[0])?(e.tech.evo_synthetic=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===2?1:0},emblem(){return at("genus_synthetic")}},multicellular:{id:"evolution-multicellular",title:t("evo_multicellular_title"),desc:t("evo_multicellular_desc"),reqs:{evo:3},grant:["evo",4],condition(){return e.tech.evo&&e.tech.evo===3},cost:{DNA(){return 200}},effect:t("evo_multicellular_effect"),action(){return _($(this)[0])?(e.evolution.final=60,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===3?1:0}},spores:{id:"evolution-spores",title:t("evo_spores_title"),desc:t("evo_spores_desc"),reqs:{evo:4,evo_fungi:1},grant:["evo",5],condition(){return e.tech.evo&&e.tech.evo===4},cost:{DNA(){return 230}},effect:t("evo_nucleus_boost"),action(){return _($(this)[0])?(e.evolution.final=80,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===4?1:0}},poikilohydric:{id:"evolution-poikilohydric",title:t("evo_poikilohydric_title"),desc:t("evo_poikilohydric_desc"),reqs:{evo:4,evo_plant:1},grant:["evo",5],condition(){return e.tech.evo&&e.tech.evo===4},cost:{DNA(){return 230}},effect:t("evo_nucleus_boost"),action(){return _($(this)[0])?(e.evolution.final=80,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===4?1:0}},bilateral_symmetry:{id:"evolution-bilateral_symmetry",title:t("evo_bilateral_symmetry_title"),desc:t("evo_bilateral_symmetry_desc"),reqs:{evo:4,evo_animal:1},grant:["evo",5],condition(){return e.tech.evo&&e.tech.evo===4},cost:{DNA(){return 230}},effect:t("evo_nucleus_boost"),action(){return _($(this)[0])?(e.evolution.final=80,e.tech.evo_insectoid=1,e.tech.evo_mammals=1,e.tech.evo_eggshell=1,e.tech.evo_eldritch=1,e.tech.evo_aquatic=1,e.tech.evo_fey=1,e.tech.evo_sand=1,e.tech.evo_heat=1,e.tech.evo_polar=1,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===4?1:0}},bryophyte:{id:"evolution-bryophyte",title:t("evo_bryophyte_title"),desc:t("evo_bryophyte_desc"),reqs:{evo:5},grant:["evo",7],condition(){return!!(e.tech.evo_plant||e.tech.evo_fungi)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_bryophyte_effect"),action(){return _($(this)[0])?(e.evolution.final=100,e.tech.evo_fungi&&(e.tech.evo_fungi=2),e.tech.evo_plant&&(e.tech.evo_plant=2),!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0}},athropods:{id:"evolution-athropods",title:t("evo_athropods_title"),desc:t("evo_athropods_desc"),reqs:{evo:5,evo_insectoid:1},grant:["evo",7],condition(){return qt(5)},cost:{DNA(){return 260}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_athropods_effect")}
${t("evo_warn_unwise")}
`:t("evo_athropods_effect")},action(){return _($(this)[0])?(e.tech.evo_insectoid=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_insectoid")}},mammals:{id:"evolution-mammals",title:t("evo_mammals_title"),desc:t("evo_mammals_desc"),reqs:{evo:5,evo_mammals:1},grant:["evo",6],condition(){return e.tech.evo&&e.tech.evo===5},cost:{DNA(){return 245}},effect:t("evo_mammals_effect"),action(){return _($(this)[0])?(e.tech.evo_humanoid=1,e.tech.evo_giant=1,e.tech.evo_small=1,e.tech.evo_animalism=1,e.tech.evo_demonic=1,e.tech.evo_angelic=1,e.evolution.final=90,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0}},humanoid:{id:"evolution-humanoid",title:t("evo_humanoid_title"),desc:t("evo_humanoid_desc"),reqs:{evo:6,evo_humanoid:1},grant:["evo",7],condition(){return qt(6)},cost:{DNA(){return 260}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_humanoid_effect")}
${t("evo_warn_unwise")}
`:t("evo_humanoid_effect")},action(){return _($(this)[0])?(e.tech.evo_humanoid=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_humanoid")}},gigantism:{id:"evolution-gigantism",title:t("evo_gigantism_title"),desc:t("evo_gigantism_desc"),reqs:{evo:6,evo_giant:1},grant:["evo",7],condition(){return qt(6)},cost:{DNA(){return 260}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_gigantism_effect")}
${t("evo_warn_unwise")}
`:t("evo_gigantism_effect")},action(){return _($(this)[0])?(e.tech.evo_giant=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_giant")}},dwarfism:{id:"evolution-dwarfism",title:t("evo_dwarfism_title"),desc:t("evo_dwarfism_desc"),reqs:{evo:6,evo_small:1},grant:["evo",7],condition(){return qt(6)},cost:{DNA(){return 260}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_dwarfism_effect")}
${t("evo_warn_unwise")}
`:t("evo_dwarfism_effect")},action(){return _($(this)[0])?(e.tech.evo_small=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_small")}},animalism:{id:"evolution-animalism",title:t("evo_animalism_title"),desc:t("evo_animalism_desc"),reqs:{evo:6,evo_animalism:1},grant:["evo",7],condition(){return qt(6)&&e.tech.evo_animalism&&e.tech.evo_animalism===1},cost:{DNA(){return 250}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_animalism_effect")}
${t("evo_warn_unwise")}
`:t("evo_animalism_effect")},action(){return _($(this)[0])?(e.tech.evo_animalism=2,e.evolution.final=95,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6&&e.tech.evo_animalism===1?1:0}},carnivore:{id:"evolution-carnivore",title:t("evo_carnivore_title"),desc:t("evo_carnivore_desc"),reqs:{evo_animalism:2},grant:["evo_animalism",3],condition(){return qt(7)&&e.tech.evo_animalism&&e.tech.evo_animalism===2},cost:{DNA(){return 255}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_carnivore_effect")}
${t("evo_warn_unwise")}
`:t("evo_carnivore_effect")},action(){return _($(this)[0])?(e.tech.evo=7,e.tech.evo_carnivore=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===7&&e.tech.evo_animalism===2?1:0},emblem(){return at("genus_carnivore")}},herbivore:{id:"evolution-herbivore",title:t("evo_herbivore_title"),desc:t("evo_herbivore_desc"),reqs:{evo_animalism:2},grant:["evo_animalism",3],condition(){return qt(7)&&e.tech.evo_animalism&&e.tech.evo_animalism===2},cost:{DNA(){return 255}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_herbivore_effect")}
${t("evo_warn_unwise")}
`:t("evo_herbivore_effect")},action(){return _($(this)[0])?(e.tech.evo=7,e.tech.evo_herbivore=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===7&&e.tech.evo_animalism===2?1:0},emblem(){return at("genus_herbivore")}},omnivore:{id:"evolution-omnivore",title:t("evo_omnivore_title"),desc:t("evo_omnivore_desc"),reqs:{evo_animalism:2,locked:1},grant:["evo_animalism",3],condition(){return qt(7)&&e.tech.evo_animalism&&e.tech.evo_animalism===2},cost:{DNA(){return 255}},wiki:!1,effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_omnivore_effect")}
${t("evo_warn_unwise")}
`:t("evo_omnivore_effect")},action(){return _($(this)[0])?(e.tech.evo_omnivore=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===7&&e.tech.evo_animalism===2?1:0},emblem(){return at("genus_omnivore")}},celestial:{id:"evolution-celestial",title:t("evo_celestial_title"),desc:t("evo_celestial_desc"),reqs:{evo:6,evo_angelic:1},grant:["evo",7],condition(){return!!(e.city.biome==="eden"||e.blood.unbound&&e.blood.unbound>=3)&&qt(6)},cost:{DNA(){return 260}},effect(){return t("evo_celestial_effect")},action(){return _($(this)[0])?(e.tech.evo_angelic=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_angelic")}},demonic:{id:"evolution-demonic",title:t("evo_demonic_title"),desc:t("evo_demonic_desc"),reqs:{evo:6,evo_demonic:1},grant:["evo",7],condition(){return!!(e.city.biome==="hellscape"||e.blood.unbound&&e.blood.unbound>=3)&&qt(6)},cost:{DNA(){return 260}},effect(){return e.city.biome==="hellscape"&&e.race.universe==="evil"?`
${t("evo_demonic_effect")}
${t("evo_warn_unwise")}
`:t("evo_demonic_effect")},action(){return _($(this)[0])?(e.tech.evo_demonic=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_demonic")}},eldritch:{id:"evolution-eldritch",title:t("evo_eldritch_title"),desc:t("evo_eldritch_desc"),reqs:{evo:5,evo_eldritch:1},grant:["evo",7],condition(){return!!(e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_eldritch_effect"),action(){return _($(this)[0])?(e.tech.evo_eldritch=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_eldritch")}},aquatic:{id:"evolution-aquatic",title:t("evo_aquatic_title"),desc:t("evo_aquatic_desc"),reqs:{evo:5,evo_aquatic:1},grant:["evo",7],condition(){return!!(["oceanic","swamp"].includes(e.city.biome)||e.blood.unbound)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_aquatic_effect"),action(){return _($(this)[0])?(e.tech.evo_aquatic=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_aquatic")}},fey:{id:"evolution-fey",title:t("evo_fey_title"),desc:t("evo_fey_desc"),reqs:{evo:5,evo_fey:1},grant:["evo",7],condition(){return!!(["forest","swamp","taiga"].includes(e.city.biome)||e.blood.unbound)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_fey_effect"),action(){return _($(this)[0])?(e.tech.evo_fey=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_fey")}},heat:{id:"evolution-heat",title:t("evo_heat_title"),desc:t("evo_heat_desc"),reqs:{evo:5,evo_heat:1},grant:["evo",7],condition(){return!!(["volcanic","ashland"].includes(e.city.biome)||e.blood.unbound)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_heat_effect"),action(){return _($(this)[0])?(e.tech.evo_heat=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_heat")}},polar:{id:"evolution-polar",title:t("evo_polar_title"),desc:t("evo_polar_desc"),reqs:{evo:5,evo_polar:1},grant:["evo",7],condition(){return!!(["tundra","taiga"].includes(e.city.biome)||e.blood.unbound)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_polar_effect"),action(){return _($(this)[0])?(e.tech.evo_polar=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_polar")}},sand:{id:"evolution-sand",title:t("evo_sand_title"),desc:t("evo_sand_desc"),reqs:{evo:5,evo_sand:1},grant:["evo",7],condition(){return!!(["desert","ashland"].includes(e.city.biome)||e.blood.unbound)&&qt(5)},cost:{DNA(){return 260}},effect:t("evo_sand_effect"),action(){return _($(this)[0])?(e.tech.evo_sand=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0},emblem(){return at("genus_sand")}},eggshell:{id:"evolution-eggshell",title:t("evo_eggshell_title"),desc:t("evo_eggshell_desc"),reqs:{evo:5,evo_eggshell:1},grant:["evo",6],condition(){return e.tech.evo&&e.tech.evo===5&&!e.evolution.gselect},cost:{DNA(){return 245}},effect(){return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_eggshell_effect")}
${t("evo_warn_unwise")}
`:t("evo_eggshell_effect")},action(){return _($(this)[0])?(e.tech.evo_eggshell=2,e.evolution.final=90,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===5?1:0}},endothermic:{id:"evolution-endothermic",title(){return e.evolution.gselect?t("genelab_genus_avian"):t("evo_endothermic_title")},desc:t("evo_endothermic_desc"),reqs:{evo:6,evo_eggshell:2},grant:["evo",7],condition(){return qt(6)},cost:{DNA(){return 260}},effect:t("evo_endothermic_effect"),action(){return _($(this)[0])?(e.tech.evo_avian=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_avian")}},ectothermic:{id:"evolution-ectothermic",title(){return e.evolution.gselect?t("genelab_genus_reptilian"):t("evo_ectothermic_title")},desc:t("evo_ectothermic_desc"),reqs:{evo:6,evo_eggshell:2},grant:["evo",7],condition(){return qt(6)},cost:{DNA(){return 260}},effect:t("evo_ectothermic_effect"),action(){return _($(this)[0])?(e.tech.evo_reptilian=2,e.evolution.final=100,!0):!1},queue_complete(){return e.tech.evo&&e.tech.evo===6?1:0},emblem(){return at("genus_reptilian")}},sentience:{id:"evolution-sentience",title:t("evo_sentience_title"),desc:t("evo_sentience_desc"),reqs:{evo:7},grant:["evo",8],condition(){return e.tech.evo&&e.tech.evo===7&&e.evolution.final===100},cost:{RNA(){return 300},DNA(){return 300}},effect(){return e.evolution.exterminate?t("evo_sentience_ai_effect"):t("evo_sentience_effect")},action(){if(_($(this)[0])){let r=[],a="humanoid";for(let i in xt)if(e.tech[`evo_${i}`]&&e.tech[`evo_${i}`]>=2){a=i;break}if(e.race.junker||e.race.sludge||e.race.ultra_sludge){let i=e.race.sludge?"sludge":e.race.ultra_sludge?"ultra_sludge":"junker";e.race.jtype=a,r.push(i)}else for(let i in yi){let s=yi[i];x[s].type===a&&r.push(s)}e.race.species=r[Math.floor(T(0,r.length))],e.stats.achieve[`extinct_${e.race.species}`]&&e.stats.achieve[`extinct_${e.race.species}`].l>=1&&(e.race.species=r[Math.floor(T(0,r.length))]),en()}return!1},emblem(){for(let r in yi){let a=yi[r];if(e.tech[`evo_${x[a].type}`]&&e.tech[`evo_${x[a].type}`]>=2)return at(`genus_${x[a].type}`)}return""},queue_complete(){return e.tech.evo&&e.tech.evo===7?1:0}}},city:{gift:{id:"city-gift",title:t("city_gift"),desc:t("city_gift_desc"),wiki:!1,category:"outskirts",reqs:{primitive:1},queue_complete(){return 0},not_tech:["santa"],not_trait:["cataclysm","lone_survivor"],class:["hgift"],condition(){let r=new Date;if(r.getMonth()!==11||r.getMonth()===11&&(r.getDate()<=16||r.getDate()>=25)){let a=!1;return e.special&&e.special.gift&&Object.keys(e.special.gift).forEach(function(i){e.special.gift[i]&&(a=!0)}),a}return!1},count(){let r=0;return e.special&&e.special.gift&&Object.keys(e.special.gift).forEach(function(a){e.special.gift[a]&&r++}),r},action(){if(!e.settings.pause){let r=new Date,a=!1;if(e.special&&e.special.gift&&Object.keys(e.special.gift).forEach(function(i){e.special.gift[i]&&(a=i)}),r.getMonth()!==11||r.getMonth()===11&&(r.getDate()<=16||r.getDate()>=25)){if(a==="g2019")e.special&&e.special.gift&&(delete e.special.gift[a],e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=100,e.stats.antiplasmid+=100,I(t("city_gift_msg",[100,t("arpa_genepool_effect_antiplasmid")]),"info",!1,["events"])):(e.prestige.Plasmid.count+=100,e.stats.plasmid+=100,I(t("city_gift_msg",[100,t("arpa_genepool_effect_plasmid")]),"info",!1,["events"])),Ht());else if(e.special&&e.special.gift){delete e.special.gift[a];let i=e.stats.hasOwnProperty("reset")?e.stats.reset:0,s=e.stats.hasOwnProperty("mad")?e.stats.mad:0,n=e.stats.hasOwnProperty("bioseed")?e.stats.bioseed:0,c=e.stats.hasOwnProperty("cataclysm")?e.stats.cataclysm:0,o=100+i+s,l=n+c,u=[];if(e.stats.died+e.stats.tdied>0){let p=e.stats.died+e.stats.tdied;e.resource.Coal.amount+=p,u.push(`${p.toLocaleString()} ${t("resource_Coal_name")}`)}if(e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=o,e.stats.antiplasmid+=o,u.push(`${o.toLocaleString()} ${t("resource_AntiPlasmid_plural_name")}`)):(e.prestige.Plasmid.count+=o,e.stats.plasmid+=o,u.push(`${o.toLocaleString()} ${t("resource_Plasmid_plural_name")}`)),l>0&&(e.prestige.Phage.count+=l,e.stats.phage+=l,u.push(`${l.toLocaleString()} ${t("resource_Phage_name")}`)),e.stats.hasOwnProperty("achieve")){let p=e.stats.achieve.whitehole?e.stats.achieve.whitehole.l:0;p+=e.stats.achieve.heavy?e.stats.achieve.heavy.l:0,p+=e.stats.achieve.canceled?e.stats.achieve.canceled.l:0,p+=e.stats.achieve.eviltwin?e.stats.achieve.eviltwin.l:0,p+=e.stats.achieve.microbang?e.stats.achieve.microbang.l:0,p+=e.stats.achieve.pw_apocalypse?e.stats.achieve.pw_apocalypse.l:0;let h=e.stats.achieve.ascended?e.stats.achieve.ascended.l:0,d=e.stats.achieve.corrupted?e.stats.achieve.corrupted.l:0,g=e.stats.achieve.obsolete?e.stats.achieve.obsolete.l:0;if(p>30&&(p=30),h>5&&(h=5),d>5&&(d=5),p>0){let w=+(p/7.5).toFixed(2);e.prestige.Dark.count+=w,e.stats.dark+=w,u.push(`${w} ${t("resource_Dark_name")}`)}if(h>0&&(e.prestige.Harmony.count+=h,e.stats.harmony+=h,u.push(`${h} ${t("resource_Harmony_name")}`)),d>0){let w=d*5,k=d;e.prestige.Blood_Stone.count+=w,e.stats.blood+=w,e.prestige.Artifact.count+=k,e.stats.artifact+=k,u.push(`${w} ${t("resource_Blood_Stone_name")}`),u.push(`${k} ${t("resource_Artifact_name")}`)}a!=="g2020"&&g>0&&(e.prestige.AICore.count+=g,e.stats.cores+=g,u.push(`${g} ${t("resource_AICore_name")}`))}I(t("city_gift2_msg",[u.join(", ")]),"info",!1,["events"]),Ht()}}}return!1},touchlabel:t("open")},food:{id:"city-food",title(){return Dt().active?e.tech.conjuring?t("city_trick_conjure"):t("city_trick"):e.tech.conjuring?t("city_food_conjure"):t("city_food")},desc(){let r=$(this)[0].val(!1),a=Dt();return e.race.fasting?t("city_food_fasting"):a.active?e.tech.conjuring?t("city_trick_conjure_desc",[r]):t("city_trick_desc",[r]):e.tech.conjuring?t("city_food_conjure_desc",[r]):t("city_food_desc",[r])},category:"outskirts",reqs:{primitive:1},not_trait:["cataclysm","artifical"],condition(){return Dt()&&e.race.soul_eater&&!e.race.evil?!0:!e.race.soul_eater},queue_complete(){return 0},cost:{Mana(){return e.tech.conjuring?1:0}},action(){return e.settings.pause||(e.resource.Food.amount=1&&(a*=10,e.resource.Food.amount=2?t("city_dig_conjour"):t("city_dig"):e.tech.conjuring&&e.tech.conjuring>=2?t("city_lumber_conjure"):t("city_lumber")},desc(){let r=$(this)[0].val(!1);return Dt().active?e.tech.conjuring&&e.tech.conjuring>=2?t("city_dig_conjour_desc",[r]):t("city_dig_desc",[r]):e.tech.conjuring&&e.tech.conjuring>=2?t("city_lumber_conjure_desc",[r]):t("city_lumber_desc",[r])},category:"outskirts",reqs:{},not_trait:["evil","cataclysm"],queue_complete(){return 0},cost:{Mana(){return e.tech.conjuring&&e.tech.conjuring>=2?1:0}},action(){return e.settings.pause||(e.resource.Lumber.amount=2&&e.resource.Mana.amount>=1&&(a*=10,e.resource.Lumber.amount=2?t("city_conjour",[e.resource.Stone.name]):t("city_gather",[e.resource.Stone.name])},desc(){let r=$(this)[0].val(!1);return e.tech.conjuring&&e.tech.conjuring>=2?t("city_stone_conjour_desc",[r,e.resource.Stone.name]):t(e.race.sappy?"city_amber_desc":"city_stone_desc",[r,e.resource.Stone.name])},category:"outskirts",reqs:{primitive:2},not_trait:["cataclysm","lone_survivor"],queue_complete(){return 0},cost:{Mana(){return e.tech.conjuring&&e.tech.conjuring>=2?1:0}},action(){return e.settings.pause||(e.resource.Stone.amount=2&&e.resource.Mana.amount>=1&&(a*=10,e.resource.Stone.amount=2?t("city_chrysotile_conjour"):t("city_gather",[e.resource.Chrysotile.name])},desc(){let r=$(this)[0].val(!1);return e.tech.conjuring&&e.tech.conjuring>=2?t("city_stone_conjour_desc",[r,e.resource.Chrysotile.name]):t("city_stone_desc",[r,e.resource.Chrysotile.name])},category:"outskirts",reqs:{primitive:2},trait:["smoldering"],not_trait:["cataclysm","lone_survivor"],queue_complete(){return 0},cost:{Mana(){return e.tech.conjuring&&e.tech.conjuring>=2?1:0}},action(){return e.settings.pause||e.resource.Chrysotile.amount=2&&e.resource.Mana.amount>=1&&(a*=10,e.resource.Chrysotile.amounte.resource.Slave.amount&&_($(this)[0])?(e.resource.Slave.amount++,!0):!1},touchlabel:t("purchase")},s_alter:{id:"city-s_alter",title:t("city_s_alter"),desc(){return e.city.hasOwnProperty("s_alter")&&e.city.s_alter.count>=1?`
${t("city_s_alter")}
${t("city_s_alter_desc")}
`:t("city_s_alter")},category:"outskirts",reqs:{mining:1},trait:["cannibalize"],not_trait:["cataclysm","lone_survivor"],inflation:!1,cost:{Stone(r){return(r||0)+(e.city.hasOwnProperty("s_alter")?e.city.s_alter.count:0)>=1?0:100}},effect(){let r=e.civic[e.civic.d_job]?e.civic[e.civic.d_job].workers:0,a=`
${t("city_s_alter_sacrifice",[r])}
`;if(e.city.hasOwnProperty("s_alter")&&e.city.s_alter.rage>0&&(a=a+`
${t("city_s_alter_rage",[v.cannibalize.vars()[0],ut(e.city.s_alter.rage)])}
`),e.city.hasOwnProperty("s_alter")&&e.city.s_alter.regen>0&&(a=a+`
${t("city_s_alter_regen",[v.cannibalize.vars()[0],ut(e.city.s_alter.regen)])}
`),e.city.hasOwnProperty("s_alter")&&e.city.s_alter.mind>0&&(a=a+`
${t("city_s_alter_mind",[v.cannibalize.vars()[0],ut(e.city.s_alter.mind)])}
`),e.city.hasOwnProperty("s_alter")&&e.city.s_alter.mine>0&&(a=a+`
${t("city_s_alter_mine",[v.cannibalize.vars()[0],ut(e.city.s_alter.mine)])}
`),e.city.hasOwnProperty("s_alter")&&e.city.s_alter.harvest>0){let i=e.race.evil&&!e.race.soul_eater?t("job_reclaimer"):t("job_lumberjack");a=a+`
${t("city_s_alter_harvest",[v.cannibalize.vars()[0],ut(e.city.s_alter.harvest),i])}
`}return a},action(){if(_($(this)[0])){if(e.city.s_alter.count===0)S("s_alter","city");else if(e.civic[e.civic.d_job].workers>0){e.resource[e.race.species].amount--,e.civic[e.civic.d_job].workers--,e.stats.sac++,Br(1),yt("Food",Math.rand(250,1e3),!0);let a=300,i=600;if(e.tech.sacrifice)switch(e.tech.sacrifice){case 1:a=600,i=1500;break;case 2:a=1800,i=3600;break;case 3:a=5400,i=16200;break}switch(e.race.kindling_kindred||e.race.smoldering?Math.rand(0,4):Math.rand(0,5)){case 0:e.city.s_alter.rage+=Math.rand(a,i);break;case 1:e.city.s_alter.mind+=Math.rand(a,i);break;case 2:e.city.s_alter.regen+=Math.rand(a,i);break;case 3:e.city.s_alter.mine+=Math.rand(a,i);break;case 4:e.city.s_alter.harvest+=Math.rand(a,i);break}}return!0}return!1},struct(){return{d:{count:0,rage:0,mind:0,regen:0,mine:0,harvest:0},p:["s_alter","city"]}},touchlabel:t("tech_dist_sacrifice")},basic_housing:{id:"city-basic_housing",title(){return Oe("small")},desc(){return $(this)[0].citizens()===1?t("city_basic_housing_desc"):t("city_basic_housing_desc_plural",[$(this)[0].citizens()])},category:"residential",reqs:{housing:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.basic_housing?e.city.basic_housing.count:0)+r>=5?F("basic_housing",r,20,1.17):0},Lumber(r){return e.race.kindling_kindred||e.race.smoldering?0:F("basic_housing",r,10,1.23)},Stone(r){return e.race.kindling_kindred?F("basic_housing",r,10,1.23):0},Chrysotile(r){return e.race.smoldering?F("basic_housing",r,10,1.23):0},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=$(this)[0].citizens();return e.race.sappy?`
${t("plus_max_resource",[r,t("citizen")])}
${t("city_grove_effect",[2.5])}
`:t("plus_max_resource",[r,t("citizen")])},action(){return _($(this)[0])?(e.resource[e.race.species].display=!0,e.resource[e.race.species].max+=$(this)[0].citizens(),S($(this)[0]),e.settings.showCivic=!0,!0):!1},struct(){return{d:{count:0},p:["basic_housing","city"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},cottage:{id:"city-cottage",title(){return Oe("medium")},desc(){return t("city_cottage_desc",[$(this)[0].citizens()])},category:"residential",reqs:{housing:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("cottage",r,900,1.15)},Plywood(r){return F("cottage",r,25,1.25)},Brick(r){return F("cottage",r,20,1.25)},Wrought_Iron(r){return F("cottage",r,15,1.25)},Iron(r){return e.city.ptrait.includes("unstable")?F("cottage",r,5,1.25):0},Horseshoe(){return e.race.hooved?2:0}},effect(){let r=$(this)[0].citizens();if(e.tech.home_safe){let a=G(e.tech.home_safe>=2?e.tech.home_safe>=3?5e3:2e3:1e3);return`
${t("plus_max_citizens",[r])}
${t("plus_max_resource",[`$${a.toLocaleString()}`,t("resource_Money_name")])}
`}else return t("plus_max_citizens",[r])},action(){return _($(this)[0])?(e.resource[e.race.species].max+=$(this)[0].citizens(),S("cottage","city"),!0):!1},struct(){return{d:{count:0},p:["cottage","city"]}},citizens(){let r=2;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}},apartment:{id:"city-apartment",title(){return Oe("large")},desc(){return`
${t("city_apartment_desc",[$(this)[0].citizens()])}
${t("requires_power")}
`},category:"residential",reqs:{housing:3},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("apartment",r,1750,1.26)-500},Crystal(r){return e.race.universe==="magic"?F("apartment",r,25,1.22):0},Furs(r){return F("apartment",r,725,1.32)-500},Copper(r){return F("apartment",r,650,1.32)-500},Cement(r){return F("apartment",r,700,1.32)-500},Steel(r){return F("apartment",r,800,1.32)-500},Horseshoe(){return e.race.hooved?5:0}},effect(){let r=Q("extravagant",2),a=$(this)[0].citizens();if(e.tech.home_safe){let i=G(e.tech.home_safe>=2?e.tech.home_safe>=3?1e4:5e3:2e3);return r&&(i*=2),`
${t("plus_max_citizens",[a])}. ${t("minus_power",[$(this)[0].powered()])}
${t("plus_max_resource",[`$${i.toLocaleString()}`,t("resource_Money_name")])}
`}else return`${t("plus_max_citizens",[a])}. ${t("minus_power",[$(this)[0].powered()])}`},powered(){let r=Q("extravagant",1);return V(r||1)},action(){return _($(this)[0])?(S("apartment","city"),L($(this)[0])&&(e.resource[e.race.species].max+=$(this)[0].citizens()),!0):!1},struct(){return{d:{count:0,on:0},p:["apartment","city"]}},citizens(){let r=Q("extravagant",2),a=r?5+r:5;return e.race.high_pop&&(a*=v.high_pop.vars()[0]),a}},lodge:{id:"city-lodge",title:t("city_lodge"),desc(){return e.race.detritivore?t("city_lodge_desc_alt"):t("city_lodge_desc")},category:"residential",reqs:{housing:1,currency:1},not_trait:["cataclysm","lone_survivor"],condition(){return!!((e.race.soul_eater||e.race.detritivore||e.race.artifical||e.race.unfathomable)&&e.tech.s_lodge||e.tech.hunting&&e.tech.hunting>=2)},cost:{Money(r){return F("lodge",r,50,1.32)},Lumber(r){return F("lodge",r,20,1.36)},Stone(r){return F("lodge",r,10,1.36)},Horseshoe(){return e.race.hooved?1:0}},effect(){let r=$(this)[0].citizens();return e.race.carnivore&&!e.race.artifical?`
${t("plus_max_resource",[r,t("citizen")])}
${t("city_lodge_effect",[5])}
`:t("plus_max_resource",[r,t("citizen")])},action(){return _($(this)[0])?(S("lodge","city"),e.resource[e.race.species].display=!0,e.resource[e.race.species].max+=1,e.settings.showCivic=!0,!0):!1},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r},struct(){return{d:{count:0},p:["lodge","city"]}}},smokehouse:{id:"city-smokehouse",title(){return e.race.hrt&&["wolven","vulpine"].includes(e.race.hrt)?t("city_smokehouse_easter"):t("city_smokehouse")},desc:t("city_smokehouse_desc"),category:"trade",reqs:{hunting:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("smokehouse",r,85,1.32)},Lumber(r){return F("smokehouse",r,65,1.36)},Stone(r){return F("smokehouse",r,50,1.36)}},effect(){let r=rr(G(100));return`
${t("plus_max_resource",[r,t("resource_Food_name")])}
${t("city_smokehouse_effect",[10])}
`},action(){return _($(this)[0])?(S("smokehouse","city"),e.resource.Food.max+=rr(G(100)),!0):!1},struct(){return{d:{count:0},p:["smokehouse","city"]}}},soul_well:{id:"city-soul_well",title:t("city_soul_well"),desc:t("city_soul_well_desc"),category:"trade",reqs:{soul_eater:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.soul_well?e.city.soul_well.count:0)+r>=3?F("soul_well",r,50,1.32):0},Lumber(r){return F("soul_well",r,20,1.36)},Stone(r){return F("soul_well",r,10,1.36)}},effect(){let r=rr(G(500)),a=e.race.ghostly?2+v.ghostly.vars()[1]:2;return`
${t("city_soul_well_effect",[a])}
${t("plus_max_resource",[r,t("resource_Souls_name")])}
`},action(){return _($(this)[0])?(S("soul_well","city"),e.resource.Food.max+=rr(G(500)),!0):!1},struct(){return{d:{count:0},p:["soul_well","city"]}}},slave_pen:{id:"city-slave_pen",title(){return t("city_slave_housing",[e.resource.Slave.name])},desc(){return t("city_slave_housing",[e.resource.Slave.name])},category:"commercial",reqs:{slaves:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("slave_pen",r,250,1.32)},Lumber(r){return F("slave_pen",r,100,1.36)},Stone(r){return F("slave_pen",r,75,1.36)},Copper(r){return F("slave_pen",r,10,1.36)},Nanite(r){return e.race.deconstructor?F("slave_pen",r,4,1.36):0}},effect(){return`
${t("plus_max_resource",[4,e.resource.Slave.name])}
`},action(){return _($(this)[0])?(S("slave_pen","city"),e.resource.Slave.display=!0,e.resource.Slave.max=e.city.slave_pen.count*4,!0):!1},struct(){return{d:{count:0},p:["slave_pen","city"]}}},transmitter:{id:"city-transmitter",title:t("city_transmitter"),desc(){return`
${t("city_transmitter_desc")}
${t("requires_power")}
`},category:"residential",reqs:{high_tech:4},trait:["artifical"],cost:{Money(r){return e.city.transmitter&&e.city.transmitter.count>=3?F("transmitter",r,50,1.32):0},Copper(r){return F("transmitter",r,20,1.36)},Steel(r){return F("transmitter",r,10,1.36)}},effect(){let r=+ie("transmitter").toFixed(2),a=G(100);return`
${t("gain",[r,e.resource.Food.name])}
${t("city_transmitter_effect",[a])}
${t("minus_power",[$(this)[0].powered()])}
`},powered(){return V(.5)},powerBalancer(){return[{r:"Food",k:"lpmod"}]},action(){return _($(this)[0])?(S("transmitter","city"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["transmitter","city"]}}},captive_housing:zt("captive_housing","city"),farm:{id:"city-farm",title(){return Ce("farm")},desc:t("city_farm_desc"),category:"residential",reqs:{agriculture:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.farm?e.city.farm.count:0)+r>=3?F("farm",r,50,1.32):0},Lumber(r){return F("farm",r,20,1.36)},Stone(r){return F("farm",r,10,1.36)},Horseshoe(r){return e.race.hooved&&(e.city.farm?e.city.farm.count:0)+(r||0)>=2?1:0}},effect(){let r=$(this)[0].citizens();return e.tech.farm?`
${t("city_farm_effect")}
${t("plus_max_resource",[r,t("citizen")])}
`:t("city_farm_effect")},action(){return _($(this)[0])?(S("farm","city"),e.race.fasting?(e.civic.farmer.display=!1,e.civic.farmer.assigned=0):e.civic.farmer.display=!0,e.tech.farm&&(e.resource[e.race.species].display=!0,e.resource[e.race.species].max+=$(this)[0].citizens(),e.settings.showCivic=!0),!0):!1},struct(){return{d:{count:0},p:["farm","city"]}},citizens(){let r=1;return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r},flair(){return e.tech.agriculture>=7?t("city_farm_flair2"):t("city_farm_flair1")}},compost:{id:"city-compost",title:t("city_compost_heap"),desc:t("city_compost_heap_desc"),category:"residential",reqs:{compost:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.compost?e.city.compost.count:0)+r>=3?F("compost",r,50,1.32):0},Lumber(r){return F("compost",r,12,1.36)},Stone(r){return F("compost",r,12,1.36)}},effect(){let r=1.2+(e.tech.compost?e.tech.compost:0)*.8;r*=e.city.biome==="grassland"?xe.grassland.vars()[0]:1,r*=e.city.biome==="savanna"?xe.savanna.vars()[0]:1,r*=e.city.biome==="ashland"?xe.ashland.vars()[0]:1,r*=e.city.biome==="volcanic"?xe.volcanic.vars()[0]:1,r*=e.city.biome==="hellscape"?xe.hellscape.vars()[0]:1,r*=e.city.ptrait.includes("trashed")?Ie.trashed.vars()[0]:1,r=+r.toFixed(2);let a=rr(G(200)),i=e.race.kindling_kindred||e.race.smoldering?"":`
${t("city_compost_heap_effect2",[.5,e.resource.Lumber.name])}
`;return`
${t("city_compost_heap_effect",[r])}
${t("city_compost_heap_effect3",[a])}
${i}`},switchable(){return!0},action(){return _($(this)[0])?(S("compost","city"),e.city.compost.on++,e.resource.Food.max+=rr(G(200)),!0):!1},struct(){return{d:{count:0,on:0},p:["compost","city"]}}},mill:{id:"city-mill",title(){return e.tech.agriculture>=5?Ce("windmill"):t("city_mill_title1")},desc(){let r=e.tech.agriculture>=5?5:3;if(e.tech.agriculture>=6){let a=$(this)[0].powered()*-1;return t("city_mill_desc2",[r,a])}else return t("city_mill_desc1",[r])},category:"utility",reqs:{agriculture:4},not_tech:["wind_plant"],not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("mill",r,1e3,1.31)},Lumber(r){return F("mill",r,600,1.33)},Iron(r){return F("mill",r,150,1.33)},Cement(r){return F("mill",r,125,1.33)}},powered(){return e.race.environmentalist?-1.5:-1},power_reqs:{agriculture:6},effect(){return e.tech.agriculture>=6?`${t("city_on")} ${t("city_mill_effect1")} ${t("city_off")} ${t("city_mill_effect2")}`:!1},action(){return _($(this)[0])?(S("mill","city"),!0):!1},struct(){return{d:{count:0,on:0},p:["mill","city"]}}},windmill:{id:"city-windmill",title(){return e.race.unfathomable?t("tech_watermill"):Ce("windmill")},desc(){return e.race.unfathomable?t("tech_watermill"):Ce("windmill")},wiki:!1,category:"utility",reqs:{wind_plant:1},not_trait:["cataclysm","lone_survivor"],powered(){return e.race.environmentalist?-1.5:-1},power_reqs:{false:1},cost:{Money(r){return F("windmill",r,1e3,1.31)},Lumber(r){return F("windmill",r,600,1.33)},Iron(r){return F("windmill",r,150,1.33)},Cement(r){return F("windmill",r,125,1.33)}},effect(){let r=$(this)[0].powered()*-1;return`
${t("space_dwarf_reactor_effect1",[r])}
`},action(){return _($(this)[0])?(S("windmill","city"),!0):!1},struct(){return{d:{count:0,on:0},p:["windmill","city"]}}},silo:{id:"city-silo",title:t("city_silo"),desc:t("city_food_storage"),category:"trade",reqs:{agriculture:3},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("silo",r,85,1.32)},Lumber(r){return F("silo",r,65,1.36)},Stone(r){return F("silo",r,50,1.36)},Iron(r){return(e.city.silo?e.city.silo.count:0)+(r||0)>=4&&e.city.ptrait.includes("unstable")?F("silo",r,10,1.36):0}},effect(){let r=rr(G(500));return t("plus_max_resource",[r,t("resource_Food_name")])},action(){return _($(this)[0])?(S("silo","city"),e.resource.Food.max+=rr(G(500)),!0):!1},struct(){return{d:{count:0},p:["silo","city"]}}},assembly:zt("assembly","city"),garrison:{id:"city-garrison",title(){return e.race.flier?t("city_garrison_flier"):t("city_garrison")},desc:t("city_garrison_desc"),category:"military",reqs:{military:1,housing:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("garrison",r,240,1.5)},Stone(r){return F("garrison",r,260,1.46)},Iron(r){return(e.city.garrison?e.city.garrison.count:0)+(r||0)>=4&&e.city.ptrait.includes("unstable")?F("garrison",r,50,1.4):0},Horseshoe(){return e.race.hooved?e.race.chameleon?1:2:0}},effect(){let r=$(this)[0].soldiers();return t("plus_max_resource",[r,t("civics_garrison_soldiers")])},switchable(){return!0},action(){return _($(this)[0])?(e.settings.showMil=!0,e.settings.msgFilters.combat.unlocked||(e.settings.msgFilters.combat.unlocked=!0,e.settings.msgFilters.combat.vis=!0),e.civic.garrison.display||(e.civic.garrison.display=!0,C({el:"#garrison"},"update"),C({el:"#c_garrison"},"update")),e.civic.garrison.max+=$(this)[0].soldiers(),S("garrison","city"),e.city.garrison.on++,e.resource.Furs.display=!0,!0):!1},struct(){return{d:{count:0,on:0},p:["garrison","city"]}},soldiers(){let r=e.tech.military>=5?3:2;return e.race.chameleon&&r--,e.race.grenadier&&r--,r<=0?1:E(r)}},hospital:{id:"city-hospital",title(){return Ce("hospital")},desc:t("city_hospital_desc"),category:"military",reqs:{medic:1},not_trait:["cataclysm","artifical"],cost:{Money(r){return F("hospital",r,22e3,1.32)},Furs(r){return F("hospital",r,4e3,1.32)},Iron(r){return e.city.ptrait.includes("unstable")?F("hospital",r,500,1.32):0},Aluminium(r){return F("hospital",r,1e4,1.32)}},effect(){let r=e.tech.reproduction&&e.tech.reproduction>=2?`
${t("city_hospital_effect2")}
`:"",a=e.tech.medic*5,i=`
${t("city_hospital_effect",[a])}
${r}`;return!e.race.artifical&&e.race.hasOwnProperty("vax")&&(i=i+`
${t("tau_home_disease_lab_vax",[+e.race.vax.toFixed(2)])}
`),i},action(){return _($(this)[0])?(S("hospital","city"),!0):!1},struct(){return{d:{count:0},p:["hospital","city"]}}},boot_camp:{id:"city-boot_camp",title(){return e.race.artifical?t("city_boot_camp_art"):t("city_boot_camp")},desc(){return e.race.artifical?t("city_boot_camp_art_desc",[x[e.race.species].name]):t("city_boot_camp_desc")},category:"military",reqs:{boot_camp:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("boot_camp",r,5e4,1.32)},Lumber(r){return F("boot_camp",r,21500,1.32)},Iron(r){return e.city.ptrait.includes("unstable")?F("boot_camp",r,300,1.32):0},Aluminium(r){return F("boot_camp",r,12e3,1.32)},Brick(r){return F("boot_camp",r,1400,1.32)}},effect(){let r=e.tech.boot_camp>=2?8:5;e.blood.lust&&(r+=e.blood.lust*.2);let a=Q("militant",0);a&&(r*=1+a/100);let i=e.tech.spy&&e.tech.spy>=3?`
${t("city_boot_camp_effect",[r])}
${t("city_boot_camp_effect2",[10])}
`:`
${t("city_boot_camp_effect",[r])}
`;if(e.race.artifical&&!e.race.orbit_decayed){let s=e.tech.medic||1;i+=`
${t("city_boot_camp_art_effect",[s*5])}
`}return e.race.artifical&&e.race.hasOwnProperty("vax")&&(i+=`
${t("tau_home_disease_lab_vax",[+e.race.vax.toFixed(2)])}
`),i},action(){return _($(this)[0])?(S("boot_camp","city"),!0):!1},struct(){return{d:{count:0},p:["boot_camp","city"]}}},shed:{id:"city-shed",title(){return e.tech.storage<=2?t("city_shed_title1"):e.tech.storage>=4?t("city_shed_title3"):t("city_shed_title2")},desc(){let r=e.tech.storage>=3?e.tech.storage>=4?t("city_shed_desc_size3"):t("city_shed_desc_size2"):t("city_shed_desc_size1");return t("city_shed_desc",[r])},category:"trade",reqs:{storage:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("shed",r,75,1.22)},Lumber(r){return e.tech.storage&&e.tech.storage<4?F("shed",r,55,1.32):0},Stone(r){return e.tech.storage&&e.tech.storage<3?F("shed",r,45,1.32):0},Iron(r){return e.tech.storage&&e.tech.storage>=4?F("shed",r,22,1.32):0},Cement(r){return e.tech.storage&&e.tech.storage>=3?F("shed",r,18,1.32):0}},res(){let r=["Lumber","Stone","Chrysotile","Crystal","Furs","Copper","Iron","Aluminium","Cement","Coal"];return e.tech.storage>=3&&e.resource.Steel.display&&r.push("Steel"),e.tech.storage>=4&&e.resource.Titanium.display&&r.push("Titanium"),e.tech.shelving&&e.tech.shelving>=3&&e.resource.Graphene.display&&r.push("Graphene"),e.tech.shelving&&e.tech.shelving>=3&&e.resource.Stanene.display&&r.push("Stanene"),e.race.unfathomable&&r.push("Food"),r},val(r){switch(r){case"Food":return 50;case"Lumber":return 300;case"Stone":return 300;case"Chrysotile":return 300;case"Crystal":return 8;case"Furs":return 125;case"Copper":return 90;case"Iron":return 125;case"Aluminium":return 90;case"Cement":return 100;case"Coal":return 75;case"Steel":return 40;case"Titanium":return 20;case"Graphene":return 15;case"Stanene":return 25;default:return 0}},effect(r){let a='
',i=Pa(r);for(let s of $(this)[0].res())if(e.resource[s].display){let n=X(+(G($(this)[0].val(s))*i).toFixed(0),1);a=a+`${t("plus_max_resource",[n,e.resource[s].name])}`}return a=a+"
",a},wide:!0,action(){if(_($(this)[0])){S("shed","city");let r=Pa();for(let a of $(this)[0].res())e.resource[a].display&&(e.resource[a].max+=G($(this)[0].val(a)*r));return!0}return!1},struct(){return{d:{count:0},p:["shed","city"]}}},storage_yard:{id:"city-storage_yard",title(){return Ce("storage_yard")},desc:t("city_storage_yard_desc"),category:"trade",reqs:{container:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("storage_yard",r,10,gi(1.36))},Brick(r){return F("storage_yard",r,3,gi(1.35))},Wrought_Iron(r){return F("storage_yard",r,5,gi(1.35))}},effect(){let r=e.tech.container>=3?20:10;return e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=1&&(r+=10),e.tech.world_control&&(r+=10),e.tech.particles&&e.tech.particles>=2&&(r*=2),e.tech.trade&&e.tech.trade>=3?`
${t("plus_max_resource",[r,t("resource_Crates_name")])}
${t("city_trade_effect",[1])}
`:t("plus_max_resource",[r,t("resource_Crates_name")])},action(){if(_($(this)[0])){S("storage_yard","city");let r=e.tech.container>=3?20:10;return e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=1&&(r+=10),e.tech.world_control&&(r+=10),e.tech.particles&&e.tech.particles>=2&&(r*=2),e.resource.Crates.max+=r,e.resource.Crates.display||Yo(),!0}return!1},struct(){return{d:{count:0},p:["storage_yard","city"]}}},warehouse:{id:"city-warehouse",title:t("city_warehouse"),desc:t("city_warehouse_desc"),category:"trade",reqs:{steel_container:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("warehouse",r,400,gi(1.26))},Cement(r){return F("warehouse",r,75,gi(1.26))},Sheet_Metal(r){return F("warehouse",r,25,gi(1.25))}},effect(){let r=e.tech.steel_container>=2?20:10;return e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=2&&(r+=10),e.tech.world_control&&(r+=10),e.tech.particles&&e.tech.particles>=2&&(r*=2),t("plus_max_resource",[r,t("resource_Containers_name")])},action(){if(_($(this)[0])){S("warehouse","city");let r=e.tech.steel_container>=2?20:10;return e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=2&&(r+=10),e.tech.world_control&&(r+=10),e.tech.particles&&e.tech.particles>=2&&(r*=2),e.resource.Containers.max+=r,e.resource.Containers.display||wr(),!0}return!1},struct(){return{d:{count:0},p:["warehouse","city"]}}},bank:{id:"city-bank",title:t("city_bank"),desc(){let r=x[e.race.species].home;return t("city_bank_desc",[r])},category:"commercial",reqs:{banking:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("bank",r,ee("untrustworthy",250),1.35)},Lumber(r){return F("bank",r,ee("untrustworthy",75),1.32)},Stone(r){return F("bank",r,ee("untrustworthy",100),1.35)},Iron(r){return(e.city.bank?e.city.bank.count:0)+(r||0)>=2&&e.city.ptrait.includes("unstable")?F("bank",r,ee("untrustworthy",30),1.3):0}},effect(){let r=kr();return r=G(r),r=(+r.toFixed(0)).toLocaleString(),e.tech.banking>=2?`
${t("plus_max_resource",[`$${r}`,t("resource_Money_name")])}
${t("plus_max_resource",[E(1),t("banker_name")])}
`:t("plus_max_resource",[`$${r}`,t("resource_Money_name")])},action(){return _($(this)[0])?(e.resource.Money.max+=G(1800),S("bank","city"),e.civic.banker.max=E(e.city.bank.count),!0):!1},struct(){return{d:{count:0},p:["bank","city"]}}},pylon:{id:"city-pylon",title:t("city_pylon"),desc:t("city_pylon"),category:"industrial",reqs:{magic:2},not_trait:["cataclysm","orbit_decayed"],cost:{Money(r){return r=r||0,(e.city.pylon?e.city.pylon.count:0)+r>=2?F("pylon",r,10,1.48):0},Stone(r){return F("pylon",r,12,1.42)},Crystal(r){return F("pylon",r,8,1.42)-3}},effect(){let r=G(5),a=+(.01*Me("magic")).toFixed(3);return`
${t("gain",[a,e.resource.Mana.name])}
${t("plus_max_resource",[r,e.resource.Mana.name])}
`},special(){return!!(e.tech.magic&&e.tech.magic>=3)},action(){return _($(this)[0])?(S("pylon","city"),e.resource.Mana.max+=G(5),!0):!1},struct(){return{d:{count:0},p:["pylon","city"]}}},conceal_ward:{id:"city-conceal_ward",title:t("city_conceal_ward"),desc:t("city_conceal_ward"),category:"industrial",reqs:{roguemagic:3},not_trait:["cataclysm","orbit_decayed"],cost:{Money(r){return F("conceal_ward",r,500,1.25)},Mana(r){return F("conceal_ward",r,r_(42),1.25)},Crystal(r){return F("conceal_ward",r,5,1.25)}},effect(){let r=e.tech.roguemagic&&e.tech.roguemagic>=8?1.25:1;return`
${t("city_conceal_ward_effect",[r])}
`},action(){return _($(this)[0])?(S("conceal_ward","city"),!0):!1},struct(){return{d:{count:0},p:["conceal_ward","city"]}}},graveyard:{id:"city-graveyard",title:t("city_graveyard"),desc:t("city_graveyard_desc"),category:"industrial",reqs:{reclaimer:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.graveyard?e.city.graveyard.count:0)+r>=5?F("graveyard",r,5,1.85):0},Lumber(r){return F("graveyard",r,2,1.95)},Stone(r){return F("graveyard",r,6,1.9)}},effect(){let r=rr(G(100));return`
${t("city_graveyard_effect",[8])}
${t("plus_max_resource",[r,e.resource.Lumber.name])}
`},action(){return _($(this)[0])?(S("graveyard","city"),e.resource.Lumber.max+=rr(G(100)),!0):!1},struct(){return{d:{count:0},p:["graveyard","city"]}}},lumber_yard:{id:"city-lumber_yard",title(){return Ce("lumberyard")},desc(){return Ce("lumberyard")},category:"industrial",reqs:{axe:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return r=r||0,(e.city.lumber_yard?e.city.lumber_yard.count:0)+r>=5?F("lumber_yard",r,5,1.85):0},Lumber(r){return F("lumber_yard",r,6,1.9)},Stone(r){return F("lumber_yard",r,2,1.95)}},effect(){let r=rr(G(100));return`
${t("production",[2,e.resource.Lumber.name])}
${t("plus_max_resource",[r,e.resource.Lumber.name])}
`},action(){return _($(this)[0])?(S("lumber_yard","city"),e.civic.lumberjack.display=!0,e.resource.Lumber.max+=rr(G(100)),!0):!1},struct(){return{d:{count:0},p:["lumber_yard","city"]}}},sawmill:{id:"city-sawmill",title(){return Ce("sawmill")},desc(){return Ce("sawmill")},category:"industrial",reqs:{saw:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("sawmill",r,3e3,1.26)},Iron(r){return F("sawmill",r,400,1.26)},Cement(r){return F("sawmill",r,420,1.26)}},effect(){let r=e.tech.saw>=2?8:5,a=rr(G(200)),i=`
${t("plus_max_resource",[a,e.resource.Lumber.name])}
${t("production",[r,e.resource.Lumber.name])}
`;return e.tech.foundry&&e.tech.foundry>=4&&(i=i+`
${t("crafting",[2,e.resource.Plywood.name])}
`),e.city.powered&&(i=i+`
${t("city_sawmill_effect3",[4,$(this)[0].powered()])}
`),i},powered(){return V(1)},powerBalancer(){return e.city.sawmill.hasOwnProperty("psaw")?[{r:"Lumber",k:"psaw"}]:!1},action(){return _($(this)[0])?(S("sawmill","city"),e.resource.Lumber.max+=rr(G(200)),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["sawmill","city"]}}},rock_quarry:{id:"city-rock_quarry",title(){return e.race.flier?t("city_rock_quarry_alt"):t("city_rock_quarry")},desc(){return e.race.flier?t("city_rock_quarry_desc_alt",[e.resource.Stone.name]):t("city_rock_quarry_desc")},category:"industrial",reqs:{mining:1},not_trait:["cataclysm","sappy"],cost:{Money(r){return r=r||0,(e.city.rock_quarry?e.city.rock_quarry.count:0)+r>=2?F("rock_quarry",r,20,1.45):0},Lumber(r){return F("rock_quarry",r,50,1.36)},Stone(r){return F("rock_quarry",r,10,1.36)}},effect(){let r=rr(G(100)),a=e.race.smoldering?`
${t("plus_max_resource",[r,e.resource.Chrysotile.name])}
`:"";return e.tech.mine_conveyor?`
${t("city_rock_quarry_effect1",[2])}
${t("plus_max_resource",[r,e.resource.Stone.name])}
${a}
${t("city_rock_quarry_effect2",[4,$(this)[0].powered()])}
`:`
${t("city_rock_quarry_effect1",[2])}
${t("plus_max_resource",[r,e.resource.Stone.name])}
${a}`},special(){return!!e.race.smoldering},powered(){return V(1)},powerBalancer(){return e.city.rock_quarry.hasOwnProperty("cnvay")?e.city.hasOwnProperty("metal_refinery")&&e.city.rock_quarry.hasOwnProperty("almcvy")?[{r:"Stone",k:"cnvay"},{r:"Aluminium",k:"almcvy"}]:[{r:"Stone",k:"cnvay"}]:!1},power_reqs:{mine_conveyor:1},action(){if(_($(this)[0])){S("rock_quarry","city"),e.civic.quarry_worker.display=!0;let r=rr(G(100));return e.resource.Stone.max+=r,e.race.smoldering&&e.resource.Chrysotile.display&&(e.settings.showCivic=!0,e.settings.showIndustry=!0,e.resource.Chrysotile.max+=r),e.tech.mine_conveyor&&L($(this)[0]),!0}return!1},struct(){return{d:{count:0,on:0,asbestos:50},p:["rock_quarry","city"]}}},cement_plant:{id:"city-cement_plant",title:t("city_cement_plant"),desc:t("city_cement_plant_desc"),category:"industrial",reqs:{cement:1},not_trait:["cataclysm","lone_survivor","flier"],cost:{Money(r){return F("cement_plant",r,3e3,1.5)},Lumber(r){return F("cement_plant",r,1800,1.36)},Stone(r){return F("cement_plant",r,2e3,1.32)},Iron(r){return e.city.ptrait.includes("unstable")?F("cement_plant",r,275,1.32):0}},effect(){if(e.tech.cement>=5){let r=e.tech.cement>=6?8:5;return`
${t("plus_max_resource",[E(2),t("job_cement_worker")])}
${t("city_cement_plant_effect2",[$(this)[0].powered(),r])}
`}else return t("plus_max_resource",[E(2),t("job_cement_worker")])},powered(){return V(2)},powerBalancer(){return e.city.cement_plant.hasOwnProperty("cnvay")?[{r:"Cement",k:"cnvay"}]:!1},power_reqs:{cement:5},action(){return _($(this)[0])?(e.resource.Cement.display=!0,S("cement_plant","city"),e.civic.cement_worker.display=!0,e.civic.cement_worker.max=e.city.cement_plant.count*E(2),e.tech.cement&&e.tech.cement>=5&&L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["cement_plant","city"]}}},foundry:{id:"city-foundry",title:t("city_foundry"),desc:t("city_foundry_desc"),category:"industrial",reqs:{foundry:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("foundry",r,750,1.36)},Stone(r){return F("foundry",r,100,1.36)},Copper(r){return F("foundry",r,250,1.36)},Iron(r){return e.city.ptrait.includes("unstable")?F("foundry",r,40,1.36):0}},effect(){let r=`
${t("city_foundry_effect1",[E(1)])}
`;if(e.tech.foundry>=2){let a=e.tech.foundry>=5?e.tech.foundry>=8?8:5:3;r=r+`
${t("city_crafted_mats",[a])}
`}return e.tech.foundry>=6&&(r=r+`
${t("city_foundry_effect2",[2])}
`),r},action(){return _($(this)[0])?(e.city.foundry.count===0&&(e.race.no_craft?I(t("city_foundry_msg2"),"info",!1,["progress"]):I(t("city_foundry_msg1"),"info",!1,["progress"])),S("foundry","city"),e.civic.craftsman.max+=E(1),e.civic.craftsman.display=!0,!e.race.kindling_kindred&&!e.race.smoldering&&(e.resource.Plywood.display=!0),e.resource.Brick.display=!0,e.resource.Iron.display&&(e.resource.Wrought_Iron.display=!0),e.resource.Aluminium.display&&(e.resource.Sheet_Metal.display=!0),gt(),!0):!1},struct(){return{d:{count:0,crafting:0,Plywood:0,Brick:0,Bronze:0,Wrought_Iron:0,Sheet_Metal:0,Mythril:0,Aerogel:0,Nanoweave:0,Scarletite:0,Quantium:0},p:["foundry","city"]}}},factory:{id:"city-factory",title(){return Ce("factory")},desc:`
${t("city_factory_desc")}
${t("requires_power")}
`,category:"industrial",reqs:{high_tech:3},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("factory",r,25e3,De(1.32))},Cement(r){return F("factory",r,1e3,De(1.32))},Steel(r){return F("factory",r,7500,De(1.32))},Titanium(r){return F("factory",r,2500,De(1.32))}},effect(){let r=`
${t("city_factory_effect")}
${t("minus_power",[$(this)[0].powered()])}
`;return e.tech.foundry>=7&&(r=r+`
${t("city_crafted_mats",[5])}
`),r},powered(){return V(3)},special:!0,action(){return _($(this)[0])?(S("factory","city"),e.resource.Alloy.display=!0,e.tech.polymer&&(e.resource.Polymer.display=!0),L($(this)[0])&&e.city.factory.Alloy++,e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,on:0,Lux:0,Furs:0,Alloy:0,Polymer:0,Nano:0,Stanene:0},p:["factory","city"]}}},nanite_factory:zt("nanite_factory","city"),smelter:{id:"city-smelter",title:t("city_smelter"),desc:t("city_smelter_desc"),category:"industrial",reqs:{smelting:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("smelter",r,1e3,De(1.32))},Iron(r){return F("smelter",r,500,De(1.33))}},effect(){var r=e.tech.smelting>=3?e.tech.smelting>=7?15:12:10;return e.race.pyrophobia&&(r*=.9),e.tech.smelting>=2&&!e.race.steelen?t("city_smelter_effect2",[r]):t("city_smelter_effect1",[r])},special:!0,action(){return _($(this)[0])?(S("smelter","city"),e.race.kindling_kindred||e.race.smoldering||e.race.artifical?e.race.artifical?e.city.smelter.Oil++:e.race.evil?e.city.smelter.Wood++:e.city.smelter.Coal++:e.city.smelter.Wood++,e.city.smelter.Iron++,e.settings.showIndustry=!0,Fe(),!0):!1},struct(){return{d:{count:0,cap:0,Wood:0,Coal:0,Oil:0,Star:0,StarCap:0,Inferno:0,Iron:0,Steel:0,Iridium:0},p:["smelter","city"]}},flair:`
${t("city_smelter_flair1")}
${t("city_smelter_flair2")}
`},metal_refinery:{id:"city-metal_refinery",title:t("city_metal_refinery"),desc:t("city_metal_refinery_desc"),category:"industrial",reqs:{alumina:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("metal_refinery",r,2500,1.35)},Iron(r){return e.city.ptrait.includes("unstable")?F("metal_refinery",r,125,1.35):0},Steel(r){return F("metal_refinery",r,350,1.35)}},powered(){return V(2)},powerBalancer(){return e.city.metal_refinery.hasOwnProperty("pwr")?[{r:"Aluminium",k:"cnvay"}]:!1},power_reqs:{alumina:2},effect(){let r=e.race.sappy?"city_metal_refinery_effect_alt":"city_metal_refinery_effect";return e.tech.alumina>=2?`${t(r,[6])} ${t("city_metal_refinery_effect2",[6,12,$(this)[0].powered()])}`:t(r,[6])},action(){return _($(this)[0])?(S("metal_refinery","city"),e.resource.Aluminium.display=!0,e.city.foundry&&e.city.foundry.count>0&&!e.resource.Sheet_Metal.display&&(e.resource.Sheet_Metal.display=!0,gt()),e.tech.alumina>=2&&L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["metal_refinery","city"]}}},mine:{id:"city-mine",title(){return Ce("mine")},desc:t("city_mine_desc"),category:"industrial",reqs:{mining:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("mine",r,60,De(1.6))},Lumber(r){return F("mine",r,175,De(1.38))}},effect(){return e.tech.mine_conveyor?`
${t("plus_max_resource",[E(1),t("job_miner")])}
${t("city_mine_effect2",[$(this)[0].powered(),5])}
`:t("plus_max_resource",[E(1),t("job_miner")])},powered(){return V(1)},powerBalancer(){return e.city.mine.hasOwnProperty("cpow")&&e.city.mine.hasOwnProperty("ipow")?[{r:"Copper",k:"cpow"},{r:"Iron",k:"ipow"}]:!1},power_reqs:{mine_conveyor:1},action(){return _($(this)[0])?(S($(this)[0]),e.resource.Copper.display=!0,e.civic.miner.display=!0,e.civic.miner.max=E(e.city.mine.count),e.tech.mine_conveyor&&L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["mine","city"]}},flair(){return x[e.race.species].type==="avian"?t("city_mine_flair_avian"):""}},coal_mine:{id:"city-coal_mine",title(){return Ce("coal_mine")},desc:t("city_coal_mine_desc"),category:"industrial",reqs:{mining:4},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("coal_mine",r,480,De(1.4))},Lumber(r){return F("coal_mine",r,250,De(1.36))},Iron(r){return e.city.ptrait.includes("unstable")?F("coal_mine",r,28,De(1.36)):0},Wrought_Iron(r){return F("coal_mine",r,18,De(1.36))}},effect(){return e.tech.mine_conveyor?`
${t("plus_max_resource",[E(1),t("job_coal_miner")])}
${t("city_coal_mine_effect2",[$(this)[0].powered(),5])}
`:t("plus_max_resource",[E(1),t("job_coal_miner")])},powered(){return V(1)},powerBalancer(){return e.city.coal_mine.hasOwnProperty("cpow")&&e.city.coal_mine.hasOwnProperty("upow")&&e.resource.Uranium.display?[{r:"Coal",k:"cpow"},{r:"Uranium",k:"upow"}]:e.city.coal_mine.hasOwnProperty("cpow")?[{r:"Coal",k:"cpow"}]:!1},power_reqs:{mine_conveyor:1},action(){return _($(this)[0])?(S($(this)[0]),e.resource.Coal.display=!0,e.civic.coal_miner.display=!0,e.civic.coal_miner.max=E(e.city.coal_mine.count),e.tech.mine_conveyor&&L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["coal_mine","city"]}}},oil_well:{id:"city-oil_well",title(){return e.race.blubber?t("tech_oil_refinery"):t("city_oil_well")},desc(){return e.race.blubber?t("city_oil_well_blubber"):t("city_oil_well_desc")},category:"industrial",reqs:{oil:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("oil_well",r,5e3,De(1.5))},Iron(r){return e.city.ptrait.includes("unstable")?F("oil_well",r,450,De(1.5)):0},Cement(r){return F("oil_well",r,5250,De(1.5))},Steel(r){return F("oil_well",r,6e3,De(1.5))}},effect(){let r=+ie("oil_well").toFixed(2),a=G(500),i=`
${t("city_oil_well_effect",[r,a])}
`;if(e.race.blubber&&e.city.hasOwnProperty("oil_well")){let s=e.city.oil_well.count+(e.space.oil_extractor?e.space.oil_extractor.count:0);i+=`
${t("city_oil_well_bodies",[+e.city.oil_well.dead.toFixed(1),50*s])}
`,i+=`
${t("city_oil_well_consume",[v.blubber.vars()[0]])}
`}return i},action(){return _($(this)[0])?(S("oil_well","city"),e.resource.Oil.max+=G(500),e.city.oil_well.count===1&&(e.resource.Oil.display=!0,Fe()),!0):!1},struct(){return{d:{count:0,dead:0},p:["oil_well","city"]}},flair:t("city_oil_well_flair")},oil_depot:{id:"city-oil_depot",title:t("city_oil_depot"),desc:t("city_oil_depot_desc"),category:"trade",reqs:{oil:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("oil_depot",r,2500,De(1.46))},Iron(r){return e.city.ptrait.includes("unstable")?F("oil_depot",r,325,De(1.36)):0},Cement(r){return F("oil_depot",r,3750,De(1.46))},Sheet_Metal(r){return F("oil_depot",r,100,De(1.45))}},effect(){let r=G(1e3);r*=e.tech.world_control?1.5:1;let a=`
${t("plus_max_resource",[r,e.resource.Oil.name])}.
`;if(e.resource.Helium_3.display){let i=G(400);i*=e.tech.world_control?1.5:1,a=a+`
${t("plus_max_resource",[i,e.resource.Helium_3.name])}.
`}if(e.tech.uranium>=2){let i=G(250);i*=e.tech.world_control?1.5:1,a=a+`
${t("plus_max_resource",[i,e.resource.Uranium.name])}.
`}return a},action(){return _($(this)[0])?(S("oil_depot","city"),e.resource.Oil.max+=G(1e3)*(e.tech.world_control?1.5:1),e.resource.Helium_3.display&&(e.resource.Helium_3.max+=G(400)*(e.tech.world_control?1.5:1)),e.tech.uranium>=2&&(e.resource.Uranium.max+=G(250)*(e.tech.world_control?1.5:1)),!0):!1},struct(){return{d:{count:0},p:["oil_depot","city"]}}},trade:{id:"city-trade",title:t("city_trade"),desc:t("city_trade_desc"),category:"trade",reqs:{trade:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("trade",r,500,1.36)},Lumber(r){return F("trade",r,125,1.36)},Stone(r){return F("trade",r,50,1.36)},Iron(r){return e.city.ptrait.includes("unstable")?F("trade",r,15,1.36):0},Furs(r){return F("trade",r,65,1.36)}},effect(){let r=e.race.xenophobic||e.race.nomadic?e.tech.trade:e.tech.trade+1;return e.tech.trade&&e.tech.trade>=3&&r--,e.race.flier&&(r+=v.flier.vars()[1]),t("city_trade_effect",[r])},action(){if(_($(this)[0])){S("trade","city");let r=e.race.xenophobic||e.race.nomadic?e.tech.trade:e.tech.trade+1;return e.tech.trade&&e.tech.trade>=3&&r--,e.city.market.mtrade+=r,!0}return!1},struct(){return{d:{count:0},p:["trade","city"]}}},wharf:{id:"city-wharf",title:t("city_wharf"),desc:t("city_wharf_desc"),category:"trade",era:"industrialized",reqs:{wharf:1},not_trait:["thalassophobia","cataclysm"],cost:{Money(r){return F("wharf",r,62e3,1.32)},Lumber(r){return F("wharf",r,44e3,1.32)},Iron(r){return e.city.ptrait.includes("unstable")?F("wharf",r,200,1.32):0},Cement(r){return F("wharf",r,3e3,1.32)},Oil(r){return F("wharf",r,750,1.32)}},effect(){let r=e.tech.world_control?15:10;return e.tech.particles&&e.tech.particles>=2&&(r*=2),`
${t("city_trade_effect",[2])}
${t("city_wharf_effect")}
${t("plus_max_crates",[r])}
${t("plus_max_containers",[r])}
`},action(){if(_($(this)[0])){S("wharf","city"),e.city.market.mtrade+=2;let r=e.tech.world_control?15:10;return e.tech.particles&&e.tech.particles>=2&&(r*=2),e.resource.Crates.max+=r,e.resource.Containers.max+=r,e.resource.Containers.display||wr(),!0}return!1},struct(){return{d:{count:0},p:["wharf","city"]}}},tourist_center:{id:"city-tourist_center",title:t("city_tourist_center"),desc:t("city_tourist_center_desc"),category:"commercial",reqs:{monument:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("tourist_center",r,1e5,1.36)},Stone(r){return F("tourist_center",r,25e3,1.36)},Iron(r){return e.city.ptrait.includes("unstable")?F("tourist_center",r,1e3,1.36):0},Furs(r){return F("tourist_center",r,7500,1.36)},Plywood(r){return F("tourist_center",r,5e3,1.36)}},effect(r){let a=e.tech.monument&&e.tech.monument>=3&&ur(r)?3:1,i=(e.civic.govern.type==="corpocracy"?2:1)*a,s=(e.civic.govern.type==="corpocracy"?10:5)*a,n=(e.civic.govern.type==="corpocracy"?4:2)*a,c=`
${t("city_tourist_center_effect1",[e.resource.Food.name])}
`;c+=`
${t("city_tourist_center_effect2",[i,m.city.amphitheatre.title()])}
`,c+=`
${t("city_tourist_center_effect2",[s,Ce("casino")])}
`,c+=`
${t("city_tourist_center_effect2",[n,t("arpa_project_monument_title")])}
`,e.stats.achieve.banana&&e.stats.achieve.banana.l>=4&&(c+=`
${t("city_tourist_center_effect2",[(e.civic.govern.type==="corpocracy"?6:3)*a,t("city_trade")])}
`);let o=Q("pious",1);return o&&(c+=`
${t("city_tourist_center_effect2",[(e.civic.govern.type==="corpocracy"?o*2:o)*a,Ce("temple")])}
`),c},powered(){return 0},action(){return _($(this)[0])?(S("tourist_center","city"),e.city.tourist_center.on++,!0):!1},struct(){return{d:{count:0,on:0},p:["tourist_center","city"]}}},amphitheatre:{id:"city-amphitheatre",title(){return Q("athleticism",0)?t("city_stadium"):t("city_amphitheatre")},desc(){return Q("athleticism",0)?t("city_stadium"):t("city_amphitheatre_desc")},category:"commercial",reqs:{theatre:1},not_trait:["joyless","cataclysm"],cost:{Money(r){return F("amphitheatre",r,500,1.55)},Lumber(r){return F("amphitheatre",r,50,1.75)},Stone(r){return F("amphitheatre",r,200,1.75)},Iron(r){return e.city.ptrait.includes("unstable")?F("amphitheatre",r,18,1.36):0}},effect(){let r=Q("athleticism",0),a=Q("athleticism",1);return`
${t("plus_max_resource",[E(a||1),t("job_entertainer")])}
${t("city_max_morale",[r||1])}
`},action(){if(_($(this)[0])){S("amphitheatre","city");let r=Q("athleticism",1);return e.civic.entertainer.max+=E(r||1),e.civic.entertainer.display=!0,!0}return!1},struct(){return{d:{count:0},p:["amphitheatre","city"]}},flair(){return Q("athleticism",0)?t("city_stadium_flair"):t("city_amphitheatre_flair")}},casino:{id:"city-casino",title(){return Ce("casino")},desc(){return Ce("casino")},category:"commercial",reqs:{gambling:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("casino",r,ee("untrustworthy",35e4),1.35)},Iron(r){return e.city.ptrait.includes("unstable")?F("casino",r,ee("untrustworthy",2e3),1.35):0},Furs(r){return F("casino",r,ee("untrustworthy",6e4),1.35)},Plywood(r){return F("casino",r,ee("untrustworthy",1e4),1.35)},Brick(r){return F("casino",r,ee("untrustworthy",6e3),1.35)}},effect(){let r=Gi();return r=r+`
${t("minus_power",[$(this)[0].powered()])}
`,r},powered(){return V(e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=2?2:3)},action(){return _($(this)[0])?(S("casino","city"),e.race.joyless||(e.civic.entertainer.max+=E(1),e.civic.entertainer.display=!0),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["casino","city"]}},flair:t("city_casino_flair")},temple:{id:"city-temple",title(){return Ce("temple")},desc(){let r=e.race.gods!=="none"?x[e.race.gods.toLowerCase()].entity:x[e.race.species].entity;return t("city_temple_desc",[r])},category:"commercial",reqs:{theology:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("temple",r,50,1.36)},Lumber(r){return F("temple",r,25,1.36)},Iron(r){return e.city.ptrait.includes("unstable")?F("temple",r,6,1.36):0},Furs(r){return F("temple",r,15,1.36)},Cement(r){return F("temple",r,10,1.36)}},effect(){let r=Qn();return e.genes.ancients&&e.genes.ancients>=2&&(r=r+`
${t("plus_max_resource",[E(1),t("job_priest")])}
`),r},action(){return _($(this)[0])?(e.genes.ancients&&e.genes.ancients>=2&&(e.civic.priest.display=!0,e.civic.priest.max+=E(1)),S("temple","city"),!0):!1},struct(){return{d:{count:0},p:["temple","city"]}}},wonder_lighthouse:{id:"city-wonder_lighthouse",title(){return t("city_wonder_lighthouse",[x[e.race.species].home])},desc(){return t("city_wonder_lighthouse",[x[e.race.species].home])},category:"commercial",reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.city.wonder_lighthouse)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}},wonder_pyramid:{id:"city-wonder_pyramid",title(){return t("city_wonder_pyramid",[x[e.race.species].name])},desc(){return t("city_wonder_pyramid",[x[e.race.species].name])},category:"commercial",reqs:{},condition(){return!!(e.race.wish&&e.race.wishStats&&e.city.wonder_pyramid)},trait:["wish"],queue_complete(){return!1},effect(){return t("city_wonder_effect",[5])},action(){return!1}},shrine:{id:"city-shrine",title:t("city_shrine"),desc(){return t("city_shrine_desc")},category:"commercial",reqs:{theology:2},trait:["magnificent"],not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("shrine",r,75,1.32)},Stone(r){return F("shrine",r,65,1.32)},Furs(r){return F("shrine",r,10,1.32)},Copper(r){return F("shrine",r,15,1.32)}},effect(){let r=vi("morale"),a=vi("metal"),i=vi("know"),s=vi("tax"),n=`
${t("city_shrine_effect")}
`;return e.city.shrine&&r.active&&(n=n+`
${t("city_shrine_morale",[+r.add.toFixed(1)])}
`),e.city.shrine&&a.active&&(n=n+`
${t("city_shrine_metal",[+((a.mult-1)*100).toFixed(1)])}
`),e.city.shrine&&i.active&&(n=n+`
${t("city_shrine_know",[(+i.add.toFixed(1)).toLocaleString()])}
`,n=n+`
${t("city_shrine_know2",[+((i.mult-1)*100).toFixed(1)])}
`),e.city.shrine&&s.active&&(n=n+`
${t("city_shrine_tax",[+((s.mult-1)*100).toFixed(1)])}
`),n},action(){return _($(this)[0])?(S("shrine","city"),e.city.calendar.moon>0&&e.city.calendar.moon<7?e.city.shrine.morale++:e.city.calendar.moon>7&&e.city.calendar.moon<14?e.city.shrine.metal++:e.city.calendar.moon>14&&e.city.calendar.moon<21?e.city.shrine.know++:e.city.calendar.moon>21?e.city.shrine.tax++:e.city.shrine.cycle++,!0):!1},struct(){return{d:{count:0,morale:0,metal:0,know:0,tax:0,cycle:0},p:["shrine","city"]}}},meditation:{id:"city-meditation",title:t("city_meditation"),desc:t("city_meditation"),category:"commercial",reqs:{primitive:3},trait:["calm"],not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("meditation",r,50,1.2)},Stone(r){return F("meditation",r,25,1.2)},Furs(r){return F("meditation",r,8,1.2)}},effect(){let r=e.resource.Zen.amount/(e.resource.Zen.amount+5e3);return`
${t("city_meditation_effect",[v.calm.vars()[0]])}
${t("city_meditation_effect2",[2])}
${t("city_meditation_effect3",[1])}
${t("city_meditation_effect4",[`${(r*100).toFixed(2)}%`])}
`},action(){return _($(this)[0])?(S("meditation","city"),e.resource.Zen.max+=v.calm.vars()[0],!0):!1},struct(){return{d:{count:0},p:["meditation","city"]}}},banquet:{id:"city-banquet",title:t("city_banquet"),desc:t("city_banquet_desc"),category:"commercial",reqs:{banquet:1},queue_complete(){return e.stats.achieve.endless_hunger?e.stats.achieve.endless_hunger.l-e.city.banquet.count:0},no_multi:!0,condition(){return!!(e.stats.achieve.endless_hunger&&e.stats.achieve.endless_hunger.l>=1)},cost:{Money(r){switch((r||0)+(e.city.banquet?e.city.banquet.count:0)){case 0:return 45e3;case 1:return 18e4;case 2:return 24e5;case 3:return 3e7;case 4:return 14e7;default:return 0}},Food(r){let a=(r||0)+(e.city.banquet?e.city.banquet.count:0);return(()=>{switch(a){case 0:return 4e4;case 1:return 124e3;case 2:return 3e5;case 3:return 72e4;case 4:return 12e5;default:return 0}})()*(e.race.artifical?.25:1)},Brick(r){switch((r||0)+(e.city.banquet?e.city.banquet.count:0)){case 0:return 1600;case 1:return 18e3;case 2:return 75e3;default:return 0}},Wrought_Iron(r){switch((r||0)+(e.city.banquet?e.city.banquet.count:0)){case 0:return 0;case 1:return 26e3;case 2:return 88e3;case 3:return 144e3;case 4:return 24e4;default:return 0}},Iridium(r){switch((r||0)+(e.city.banquet?e.city.banquet.count:0)){case 2:return 5e4;case 3:return 27e4;case 4:return 7e5;default:return 0}},Aerogel(r,a){let i=(r||0)+(e.city.banquet?e.city.banquet.count:0);if(a?a.truepath:e.race.truepath)return 0;switch(i){case 3:return 4e4;case 4:return 15e4;default:return 0}},Quantium(r,a){let i=(r||0)+(e.city.banquet?e.city.banquet.count:0);if(a?!a.truepath:!e.race.truepath)return 0;switch(i){case 3:return 4e4;case 4:return 15e4;default:return 0}},Bolognium(r){switch(r||0||(e.city.banquet?e.city.banquet.count:0)){case 4:return 15e4;default:return 0}}},effect(r){let a=e.city.banquet?e.city.banquet.strength:0,i=(r?.count??0)+(e.city.banquet?e.city.banquet.count:0),s=`
Strength: ${a}
`;return s+=`
${t("city_banquet_effect1",[X(((i>=5?1.02:1.022)**a-1)*100)])}
`,i>=1&&(s+=`
${t("city_banquet_effect2",[(a**.75).toFixed(2)])}
`),i>=2&&(s+=`
${t("city_banquet_effect3",[(a**.65).toFixed(2)])}
`),i>=3&&(s+=`
${t("city_banquet_effect4",[(a**.65).toFixed(2)])}
`),i>=4&&(s+=`
${t("city_banquet_effect5",[(a**.75).toFixed(2)])}
`),s},powered(){return 0},action(){return e.city.banquet.count=3&&e.city.ptrait.includes("unstable")?F("university",r,25,1.36):0}},effect(r){let a=+$(this)[0].knowVal(r).toFixed(0);return`
${t("city_university_effect",[E(1)])}
${t("city_max_knowledge",[a.toLocaleString()])}
`},knowVal(r){let a=1,i=e.tech.science&&e.tech.science>=8?700:500;e.city.ptrait.includes("permafrost")&&(i+=Ie.permafrost.vars()[1]),e.tech.science>=4&&(a+=e.city.library.count*.02),e.space.observatory&&e.space.observatory.count>0&&(a+=(r?e.space.observatory.on:be.observatory)*.05),e.portal.sensor_drone&&e.tech.science>=14&&(a+=(r?e.portal.sensor_drone.on:H.sensor_drone)*.02),e.race.hard_of_hearing&&(a*=1-v.hard_of_hearing.vars()[0]/100),e.race.curious&&(a*=1+v.curious.vars()[0]/100*e.resource[e.race.species].amount);let s=re("cath");s>0&&(a*=1+v.curious.vars(3)[0]*s);let c=ur(r)?r?e.galaxy?.scavenger?.on??0:Mr.scavenger:0;if(c>0){let p=Gt("gxy_alien2",!1,!1,r),h=c*p/4;a*=1+h}let o=Q("teacher",0);o&&(a*=1+o/100);let l=Q("athleticism",2);if(l&&(a*=1-l/100),mc()){let p=vi("know");a*=p.mult}let u=i*a;if(e.tech.supercollider){let p=e.tech.tp_particles||e.tech.particles&&e.tech.particles>=3?12.5:25;u*=e.tech.supercollider/p+1}return e.race.orbit_decayed&&(e.space.satellite&&(u*=1+e.space.satellite.count*.12),e.tech.biotech&&e.tech.biotech>=1&&(u*=2)),u},action(){if(_($(this)[0])){let r=e.tech.science&&e.tech.science>=8?700:500;if(e.tech.science>=4&&(r*=1+e.city.library.count*.02),e.tech.supercollider){let a=e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/a+1}return e.resource.Knowledge.max+=r,S("university","city"),e.civic.professor.display=!0,e.civic.professor.max=E(e.city.university.count),!0}return!1},struct(){return{d:{count:0},p:["university","city"]}}},library:{id:"city-library",title:t("city_library"),desc(){let r=x[e.race.species].home;return t("city_library_desc",[r])},category:"science",reqs:{science:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("library",r,45,1.2)},Crystal(r){return e.race.universe==="magic"?F("library",r,2,1.2):0},Iron(r){return e.city.ptrait.includes("unstable")?F("library",r,4,1.2):0},Furs(r){return F("library",r,22,1.2)},Plywood(r){return F("library",r,20,1.2)},Brick(r){return F("library",r,15,1.2)}},effect(){let r=125;e.race.nearsighted&&(r*=1-v.nearsighted.vars()[0]/100),e.race.studious&&(r*=1+v.studious.vars()[1]/100);let a=re("elven");if(a>0&&(r*=1+v.studious.vars(1)[1]/100*a),e.tech.science&&e.tech.science>=8&&(r*=1.4),e.tech.anthropology&&e.tech.anthropology>=2&&(r*=1+e.city.temple.count*.05),e.tech.science&&e.tech.science>=5){let l=Xe(e.civic.scientist.workers,"scientist");e.race.high_pop&&(l=he(l)),r*=1+l*.12}let i=Q("teacher",0);i&&(r*=1+i/100);let s=Q("athleticism",2);s&&(r*=1-s/100);let n=Q("muckraker",1);n&&(r*=1+n/100),r=+r.toFixed(0);let c=Q("muckraker",2),o=c?5-c:5;return e.race.autoignition&&(o-=v.autoignition.vars()[0],o<0&&(o=0)),`
${t("city_max_knowledge",[r.toLocaleString()])}
${t("city_library_effect",[o])}
`},action(){if(_($(this)[0])){let r=125;return e.race.nearsighted&&(r*=1-v.nearsighted.vars()[0]/100),e.tech.science&&e.tech.science>=8&&(r*=1.4),e.tech.anthropology&&e.tech.anthropology>=2&&(r*=1+e.city.temple.count*.05),e.tech.science&&e.tech.science>=5&&(r*=1+Xe(e.civic.scientist.workers,"scientist")*.12),r=+r.toFixed(1),e.resource.Knowledge.max+=r,S("library","city"),e.tech.science&&e.tech.science>=3&&(e.civic.professor.impact=.5+e.city.library.count*.01),!0}return!1},struct(){return{d:{count:0},p:["library","city"]}},flair:t("city_library_flair")},wardenclyffe:{id:"city-wardenclyffe",title(){return Kt()},desc:t("city_wardenclyffe_desc"),category:"science",reqs:{high_tech:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("wardenclyffe",r,5e3,1.22)},Knowledge(r){return F("wardenclyffe",r,e.race.logical?1e3-v.logical.vars()[0]:1e3,1.22)},Crystal(r){return e.race.universe==="magic"?F("wardenclyffe",r,100,1.22):0},Copper(r){return F("wardenclyffe",r,500,1.22)},Iron(r){return e.city.ptrait.includes("unstable")?F("wardenclyffe",r,75,1.22):0},Cement(r){return F("wardenclyffe",r,350,1.22)},Sheet_Metal(r){return F("wardenclyffe",r,125,1.2)},Nanite(r){return e.race.deconstructor?F("wardenclyffe",r,50,1.18):0}},effect(){let r=1e3;if(e.city.ptrait.includes("magnetic")&&(r+=Ie.magnetic.vars()[1]),e.tech.supercollider){let s=e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/s+1}e.space.satellite&&(r*=1+e.space.satellite.count*.04);let a=Q("athleticism",2);a&&(r*=1-a/100),r=+r.toFixed(0);let i=`
${t("city_wardenclyffe_effect1",[E(1),e.civic.scientist?e.civic.scientist.name:t("job_scientist")])}
${t("city_max_knowledge",[r.toLocaleString()])}
`;if(e.city.powered){let s=e.tech.science>=7?2500:2e3;if(e.city.ptrait.includes("magnetic")&&(s+=Ie.magnetic.vars()[1]),e.space.satellite&&(s*=1+e.space.satellite.count*.04),e.tech.supercollider){let c=e.tech.particles&&e.tech.particles>=3?12.5:25;s*=e.tech.supercollider/c+1}let n=Q("athleticism",2);if(n&&(s*=1-n/100),s=+s.toFixed(1),e.tech.science>=15&&(i=i+`
${t("city_wardenclyffe_effect4",[2])}
`),e.race.universe==="magic"){let c=G(8);i=i+`
${t("plus_max_resource",[c,e.resource.Mana.name])}
`}if(e.tech.broadcast){let c=e.tech.broadcast;i=i+`
${t("city_wardenclyffe_effect3",[$(this)[0].powered(),s.toLocaleString(),c])}
`}else i=i+`
${t("city_wardenclyffe_effect2",[$(this)[0].powered(),s.toLocaleString()])}
`;e.race.artifical&&(i=i+`
${t("city_transmitter_effect",[G(250)])}=7?2500:2e3),e.tech.supercollider){let a=e.tech.particles&&e.tech.particles>=3?12.5:25;r*=e.tech.supercollider/a+1}return e.resource.Knowledge.max+=r,!0}return!1},struct(){return{d:{count:0,on:0},p:["wardenclyffe","city"]}},flair(){return e.race.universe==="magic"?`
${t("city_wizard_tower_flair")}
`:e.race.evil?`
${t("city_babel_flair")}
`:`
${t("city_wardenclyffe_flair1")}
${t("city_wardenclyffe_flair2")}
`}},biolab:{id:"city-biolab",title:t("city_biolab"),desc:`
${t("city_biolab_desc")}
${t("requires_power")}
`,category:"science",reqs:{genetics:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("biolab",r,25e3,1.3)},Knowledge(r){return F("biolab",r,5e3,1.3)},Copper(r){return F("biolab",r,1250,1.3)},Iron(r){return e.city.ptrait.includes("unstable")?F("biolab",r,160,1.3):0},Alloy(r){return F("biolab",r,350,1.3)}},effect(r){let a=3e3;return e.portal.sensor_drone&&e.tech.science>=14&&(a*=1+(r?e.portal.sensor_drone.on:H.sensor_drone)*.02),e.tech.science>=20&&(a*=3),e.tech.science>=21&&(a*=1.45),e.tech.biotech>=1&&(a*=2.5),e.race.elemental&&v.elemental.vars()[0]==="frost"&&(a*=1+v.elemental.vars()[4]*e.resource[e.race.species].amount/100),a=+a.toFixed(0),`${t("city_max_knowledge",[a.toLocaleString()])}, ${t("minus_power",[$(this)[0].powered()])}`},powered(){return V(2)},action(){return _($(this)[0])?(S("biolab","city"),L($(this)[0])&&(e.resource.Knowledge.max+=3e3),!0):!1},struct(){return{d:{count:0,on:0},p:["biolab","city"]}}},coal_power:{id:"city-coal_power",title(){return e.race.environmentalist?t("city_hydro_power"):t(e.race.universe==="magic"?"city_mana_engine":"city_coal_power")},desc(){return e.race.environmentalist?`
${t("city_hydro_power_desc")}
`:`
${t(e.race.universe==="magic"?"city_mana_engine_desc":"city_coal_power_desc")}
${t("requires_res",[t(e.race.universe==="magic"?"resource_Mana_name":"resource_Coal_name")])}
`},category:"utility",reqs:{high_tech:2},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("coal_power",r,1e4,De(1.22))},Crystal(r){return e.race.universe==="magic"?F("coal_power",r,125,De(1.22)):0},Copper(r){return F("coal_power",r,1800,De(1.22))-1e3},Iron(r){return e.city.ptrait.includes("unstable")?F("coal_power",r,175,De(1.22)):0},Cement(r){return F("coal_power",r,600,De(1.22))},Steel(r){return F("coal_power",r,2e3,De(1.22))-1e3}},effect(){let r=e.race.universe==="magic"?.05:.35,a=-$(this)[0].powered();return e.race.environmentalist?`+${a}MW`:`+${a}MW. ${t(e.race.universe==="magic"?"city_mana_engine_effect":"city_coal_power_effect",[r])}`},powered(){let r=e.race.environmentalist?e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=1?-5:-4:e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=1?-6:-5,a=Q("dirty_jobs",1);return a&&(r-=a),nt(r)},p_fuel(){return e.race.universe==="magic"?{r:"Mana",a:e.race.environmentalist?0:.05}:{r:"Coal",a:e.race.environmentalist?0:.35}},action(){return _($(this)[0])?(S("coal_power","city"),e.city.coal_power.on++,e.city.power+=5,!0):!1},struct(){return{d:{count:0,on:0},p:["coal_power","city"]}}},oil_power:{id:"city-oil_power",title(){return e.race.environmentalist?t("city_wind_power"):t("city_oil_power")},desc(){return e.race.environmentalist?`
${t("city_wind_power_desc")}
`:`
${t("city_oil_power_desc")}
${t("requires_res",[t("resource_Oil_name")])}
`},category:"utility",reqs:{oil:3},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("oil_power",r,5e4,De(1.22))},Copper(r){return F("oil_power",r,6500,De(1.22))+1e3},Iron(r){return e.city.ptrait.includes("unstable")?F("oil_power",r,180,De(1.22)):0},Aluminium(r){return F("oil_power",r,12e3,De(1.22))},Cement(r){return F("oil_power",r,5600,De(1.22))+1e3}},effect(){let r=.65,a=-$(this)[0].powered();return e.race.environmentalist?`+${a}MW`:`+${a}MW. ${t("city_oil_power_effect",[r])}`},powered(){let r=0;if(e.race.environmentalist)if(e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=3){let i=e.city.calendar.wind===1?-7:-5;r=e.stats.achieve.dissipated.l>=5?i-2:i-1}else r=e.city.calendar.wind===1?-7:-5;else e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=3?r=e.stats.achieve.dissipated.l>=5?-8:-7:r=-6;let a=Q("dirty_jobs",1);return a&&(r-=a),nt(r)},p_fuel(){return{r:"Oil",a:e.race.environmentalist?0:.65}},action(){return _($(this)[0])?(S("oil_power","city"),e.city.oil_power.on++,e.city.power+=6,!0):!1},struct(){return{d:{count:0,on:0},p:["oil_power","city"]}}},fission_power:{id:"city-fission_power",title:t("city_fission_power"),desc:`
${t("city_fission_power_desc")}
${t("requires_res",[t("resource_Uranium_name")])}
`,category:"utility",reqs:{high_tech:5},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("fission_power",r,25e4,1.36)},Copper(r){return F("fission_power",r,13500,1.36)},Iron(r){return e.city.ptrait.includes("unstable")?F("fission_power",r,1750,1.36):0},Cement(r){return F("fission_power",r,10800,1.36)},Titanium(r){return F("fission_power",r,7500,1.36)}},effect(){let r=.1;return`+${-$(this)[0].powered()}MW. ${t("city_fission_power_effect",[r])}`},powered(){return nt(e.tech.uranium>=4?-18:-14)},p_fuel(){return{r:"Uranium",a:.1}},action(){return _($(this)[0])?(S("fission_power","city"),e.city.fission_power.on++,e.city.power+=14,!0):!1},struct(){return{d:{count:0,on:0},p:["fission_power","city"]}}},mass_driver:{id:"city-mass_driver",title:t("city_mass_driver"),desc:`
${t("city_mass_driver_desc")}
${t("requires_power")}
`,category:"utility",reqs:{mass:1},not_trait:["cataclysm","lone_survivor"],cost:{Money(r){return F("mass_driver",r,375e3,1.32)},Copper(r){return F("mass_driver",r,33e3,1.32)},Iron(r){return F("mass_driver",r,42500,1.32)},Iridium(r){return F("mass_driver",r,2200,1.32)}},effect(){return`${e.tech.mass>=2?`
${t("city_mass_driver_effect2",[1,e.civic.scientist.name])}
`:""}${t("city_mass_driver_effect",[e.race.truepath?6:5,lt("name")])} ${t("minus_power",[$(this)[0].powered()])}`},powered(){let r=e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=4?4:5;return V(e.tech.mass>=2?r-1:r)},action(){return _($(this)[0])?(S("mass_driver","city"),L($(this)[0]),!0):!1},struct(){return{d:{count:0,on:0},p:["mass_driver","city"]}}},replicator:{id:"city-replicator",title:t("tech_replicator"),desc:t("tech_replicator"),category:"utility",reqs:{special_hack:1},cost:{},wiki:!1,effect(){return"fake structure"},powered(){return 1},action(){return!1}}},tech:as(),arpa:Pe("PhysicsTech"),genes:Pe("GeneTech"),blood:Pe("BloodTech"),space:Ps(),interstellar:yo(),galaxy:bo(),starDock:{probes:{id:"starDock-probes",title:t("star_dock_probe"),desc(){return`
${t("star_dock_probe_desc")}
`},reqs:{genesis:4},cost:{Money(r){return F("probes",r,35e4,e.race.truepath?1.125:1.25,"starDock")},Alloy(r){return F("probes",r,75e3,e.race.truepath?1.125:1.25,"starDock")},Polymer(r){return F("probes",r,85e3,e.race.truepath?1.125:1.25,"starDock")},Iridium(r){return F("probes",r,12e3,e.race.truepath?1.125:1.25,"starDock")},Mythril(r){return F("probes",r,3500,e.race.truepath?1.125:1.25,"starDock")}},effect(){return`
${t("star_dock_probe_effect")}
`},action(){return _($(this)[0])?(S("probes","starDock"),!0):!1},struct(){return{d:{count:0},p:["probes","starDock"]}}},geck:{id:"starDock-geck",title:t("tech_geck"),desc(){return`
${t("tech_geck_desc")}
`},reqs:{geck:1},condition(){return!!(e.stats.achieve.lamentis&&e.stats.achieve.lamentis.l>=5)},queue_complete(){return 0},no_multi:!0,cost:{Money(r){return F("geck",r,1e6,1.25,"starDock")},Elerium(r){return F("geck",r,1e3,1.25,"starDock")},Plasmid(r){return F("geck",r,25,1.4,"starDock")}},effect(){return`
${t("star_dock_geck_effect")}
`},action(){return _($(this)[0])?(S("geck","starDock"),!0):!1},struct(){return{d:{count:0},p:["geck","starDock"]}}},seeder:{id:"starDock-seeder",title(){return e.race.cataclysm?t("star_dock_exodus"):t("star_dock_seeder")},desc(){let r=e.race.cataclysm?t("star_dock_exodus"):t("star_dock_seeder");return e.starDock.seeder&&e.starDock.seeder.count>=100?`
${r}
${t("star_dock_seeder_desc2")}
`:`
${r}
${t("star_dock_seeder_desc1")}
`},reqs:{genesis:5},queue_size:10,queue_complete(){return 100-e.starDock.seeder.count},cost:{Money(r){return(r||0)+(e.starDock.hasOwnProperty("seeder")?e.starDock.seeder.count:0)<100?1e5:0},Steel(r){return(r||0)+(e.starDock.hasOwnProperty("seeder")?e.starDock.seeder.count:0)<100?25e3:0},Neutronium(r){return(r||0)+(e.starDock.hasOwnProperty("seeder")?e.starDock.seeder.count:0)<100?240:0},Elerium(r){return(r||0)+(e.starDock.hasOwnProperty("seeder")?e.starDock.seeder.count:0)<100?10:0},Nano_Tube(r){return(r||0)+(e.starDock.hasOwnProperty("seeder")?e.starDock.seeder.count:0)<100?12e3:0}},effect(r){let a=(r?.count??0)+(e.starDock.seeder?e.starDock.seeder.count:0),i=a<100?t("star_dock_seeder_status1",[100-a]):t("star_dock_seeder_status2");return`
${e.race.cataclysm?t("star_dock_exodus_effect"):t("star_dock_seeder_effect")}
${i}
`},action(){if(e.starDock.seeder.count<100&&_($(this)[0])){if(S("seeder","starDock"),e.starDock.seeder.count>=100){e.tech.genesis=6,ue("starDock-seeder"),K($("#modalBox"));let r=m.space.spc_gas.star_dock;_c(r,"star_dock")}return!0}return!1},struct(){return{d:{count:0},p:["seeder","starDock"]}}},prep_ship:{id:"starDock-prep_ship",title:t("star_dock_prep"),desc(){return`
${e.race.cataclysm?t("star_dock_prep_cata_desc"):t("star_dock_prep_desc")}
${t("star_dock_genesis_desc2")}
`},reqs:{genesis:6},queue_complete(){return 0},cost:{Helium_3(r,a){return+ve(e.race.gravity_well?15e4:75e3,!1,a).toFixed(0)}},effect(){let r=$e("bioseed"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${e.race.cataclysm?t("star_dock_prep_cata_effect"):t("star_dock_prep_effect")}
${t("star_dock_genesis_effect2",[r.plasmid,a])}
${t("star_dock_genesis_effect3",[r.phage])}
`},action(){if(_($(this)[0])){e.tech.genesis=7,ue("starDock-prep_ship"),K($("#modalBox"));let r=m.space.spc_gas.star_dock;return _c(r,"star_dock"),!0}return!1}},launch_ship:{id:"starDock-launch_ship",title:t("star_dock_genesis"),desc(){return`
${e.race.cataclysm?t("star_dock_prep_cata_effect"):t("star_dock_genesis_desc1")}
${t("star_dock_genesis_desc2")}
`},reqs:{genesis:7},queue_complete(){return 0},cost:{},effect(){let r=$e("bioseed"),a=e.race.universe==="antimatter"?t("resource_AntiPlasmid_plural_name"):t("resource_Plasmid_plural_name");return`
${e.race.cataclysm?t("star_dock_genesis_cata_effect1"):t("star_dock_genesis_effect1")}
${t("star_dock_genesis_effect2",[r.plasmid,a])}
${t("star_dock_genesis_effect3",[r.phage])}
`},action(){return Jc(),!1}}},portal:Ds(),tauceti:no(),eden:Os()};function Ys(){let r=$("#evolution .evolving").nextAll();Object.values(r).forEach(function(a){K($(a),!0)}),K($("#evolution .evolving"),!0),e.evolution.bunker={count:1},na(m.evolution.bunker.id),sl(),e.race.truepath||e.race.lone_survivor?(e.evolution.nerfed={count:0},e.evolution.badgenes={count:0}):(e.race.universe==="antimatter"?e.evolution.mastery={count:0}:e.evolution.plasmid={count:0},e.evolution.crispr={count:0}),e.evolution.trade={count:0},e.evolution.craft={count:0},e.evolution.junker={count:0},e.evolution.joyless={count:0},e.evolution.steelen={count:0},(e.stats.achieve.whitehole||e.sim)&&(e.evolution.decay={count:0}),(e.stats.achieve.ascended||e.sim)&&(e.evolution.emfield={count:0}),(e.stats.achieve.scrooge||e.sim)&&(e.evolution.inflation={count:0}),(e.stats.achieve.shaken||e.sim)&&(e.evolution.cataclysm={count:0}),(e.stats.achieve.whitehole||e.stats.achieve.ascended||e.sim)&&(e.evolution.banana={count:0},e.evolution.orbit_decay={count:0}),e.race.universe==="standard"&&(e.stats.achieve.whitehole||e.sim),e.race.universe==="heavy"&&(e.stats.achieve.seeder&&e.stats.achieve.seeder.h||e.sim)&&(e.evolution.gravity_well={count:0}),e.race.universe==="magic"&&(e.stats.achieve.ascended&&e.stats.achieve.ascended.mg||e.sim)&&(e.evolution.witch_hunter={count:0}),e.race.universe==="evil"&&(e.stats.achieve.godslayer&&e.stats.achieve.godslayer.e||e.sim),(e.stats.achieve.ascended||e.stats.achieve.corrupted||e.sim)&&(e.evolution.truepath={count:0}),((e.stats.achieve.ascended||e.stats.achieve.corrupted)&&e.stats.achieve.extinct_junker||e.sim)&&(e.evolution.sludge={count:0}),(e.stats.achieve.godslayer&&e.stats.achieve.extinct_sludge||e.sim)&&(e.evolution.ultra_sludge={count:0}),(e.stats.achieve.bluepill||e.sim)&&(e.evolution.simulation={count:0}),(e.stats.achieve.retired||e.sim)&&(e.evolution.lone_survivor={count:0}),(e.stats.achieve.corrupted||e.sim)&&(e.evolution.fasting={count:0}),a_(),e.race.truepath||e.race.lone_survivor?Ee("evolution","nerfed"):e.race.universe==="antimatter"?Ee("evolution","mastery"):Ee("evolution","plasmid"),Ee("evolution","trade"),Ee("evolution","craft"),e.race.truepath||e.race.lone_survivor?Ee("evolution","badgenes"):Ee("evolution","crispr"),i_(),Ee("evolution","joyless"),Ee("evolution","steelen"),(e.stats.achieve.whitehole||e.sim)&&Ee("evolution","decay"),(e.stats.achieve.ascended||e.sim)&&Ee("evolution","emfield"),(e.stats.achieve.scrooge||e.sim)&&Ee("evolution","inflation"),((e.stats.achieve.ascended||e.stats.achieve.corrupted)&&e.stats.achieve.extinct_junker||e.sim)&&Ee("evolution","sludge"),(e.stats.achieve.godslayer&&e.stats.achieve.extinct_sludge||e.sim)&&Ee("evolution","ultra_sludge"),(e.stats.achieve.whitehole||e.stats.achieve.ascended||e.sim)&&Ee("evolution","orbit_decay"),e.race.universe==="standard"&&(e.stats.achieve.whitehole||e.sim),e.race.universe==="heavy"&&(e.stats.achieve.seeder&&e.stats.achieve.seeder.h||e.sim)&&Ee("evolution","gravity_well"),e.race.universe==="magic"&&(e.stats.achieve.ascended&&e.stats.achieve.ascended.mg||e.sim)&&Ee("evolution","witch_hunter"),e.race.universe==="evil"&&(e.stats.achieve.godslayer&&e.stats.achieve.godslayer.e||e.sim),e.hasOwnProperty("beta")&&!e.sim&&Ee("evolution","simulation"),s_(),Ee("evolution","junker"),(e.stats.achieve.shaken||e.sim)&&Ee("evolution","cataclysm"),(e.stats.achieve.whitehole||e.stats.achieve.ascended||e.sim)&&Ee("evolution","banana"),(e.stats.achieve.ascended||e.stats.achieve.corrupted||e.sim)&&Ee("evolution","truepath"),(e.stats.achieve.retired||e.sim)&&Ee("evolution","lone_survivor"),(e.stats.achieve.corrupted||e.sim)&&Ee("evolution","fasting"),e.sim?n_():e.race.simulation&&c_()}function zt(r,a){let i=e.race.orbit_decay?"orbit_decayed":"cataclysm",s=function(n,c,o){return o==="space"?n.hasOwnProperty("trait")?n.trait.push(c):n.trait=[c]:o==="tauceti"?n.reqs.isolation=1:n.hasOwnProperty("not_trait")?n.not_trait.push(c):n.not_trait=[c],n};switch(r){case"bonfire":{let n={id:`${a}-bonfire`,title:t("city_bonfire"),desc:t("city_bonfire_desc"),category:"outskirts",wiki:!1,reqs:{primitive:3},condition(){return ke("summer")},queue_complete(){return 0},effect(){let c=e.resource.Thermite.diff*2.5/(e.resource.Thermite.diff*2.5+500)*500,o=1e5+e.stats.reset*9e3;o>1e6&&(o=1e6);let l=e.resource.Thermite.amount${t("city_bonfire_effect3",[o.toLocaleString()])}
${t("city_bonfire_effect4",[(+e.resource.Thermite.amount.toFixed(0)).toLocaleString(),o.toLocaleString()])}
`:"";return`
${t("city_bonfire_effect",[e.resource.Thermite.diff])}
${t("city_bonfire_effect2",[+c.toFixed(1)])}
${l}`},action(){return!1},flair(){return t("city_bonfire_flair")}};return s(n,i,a)}case"firework":{let n={id:`${a}-firework`,title:t("city_firework"),desc:t("city_firework"),category:"outskirts",wiki:!1,reqs:{mining:3},condition(){return ke("firework")&&e[a].firework&&(e.tech.cement||e.race.flier)},cost:{Money(){return e[a].firework.count===0?5e4:0},Iron(){return e[a].firework.count===0?7500:0},Cement(){return e[a].firework.count===0?1e4:0}},queue_complete(){return 1-e[a].firework.count},switchable(){return!0},effect(){return e[a].firework.count===0?t("city_firework_build"):t("city_firework_effect")},action(){return e[a].firework.count===0&&_($(this)[0])?(e[a].firework.count=1,!0):!1}};return s(n,i,a)}case"assembly":{let n=function(o){let l=he(o);return e.race.promiscuous&&(l/=1+v.promiscuous.vars()[1]*e.race.promiscuous),Math.round(l)},c={id:`${a}-assembly`,title:t("city_assembly"),desc(){return t("city_assembly_desc",[x[e.race.species].name])},category:"military",reqs:{},trait:["artifical"],queue_complete(){return e.resource[e.race.species].max-e.resource[e.race.species].amount},cost:{Money(o){return e.resource[e.race.species].amount?F("citizen",o,n(125),1.01):0},Copper(o){return e.race.deconstructor?0:e.resource[e.race.species].amount>=5?F("citizen",o,n(50),1.01):0},Aluminium(o){return e.race.deconstructor?0:e.resource[e.race.species].amount>=5?F("citizen",o,n(50),1.01):0},Nanite(o){return e.race.deconstructor&&e.resource[e.race.species].amount>=3?F("citizen",o,n(500),1.01):0}},effect(){let o="";return e.resource[e.race.species].max===e.resource[e.race.species].amount&&(o=`
${t("city_assembly_effect_warn")}
`),`
${t("city_assembly_effect",[x[e.race.species].name])}
${o}`},action(){return e.race.vax&&e.race.vax>=100?!0:e.resource[e.race.species].max>e.resource[e.race.species].amount&&_($(this)[0])?(e.resource[e.race.species].amount++,!0):!1}};return s(c,i,a)}case"nanite_factory":{let n={id:`${a}-nanite_factory`,title:t("city_nanite_factory"),desc:t("city_nanite_factory"),category:"industrial",reqs:{},trait:["deconstructor"],region:"city",cost:{Money(c){return F("nanite_factory",c,25e3,De(1.25))},Copper(c){return F("nanite_factory",c,1200,De(1.25))},Steel(c){return F("nanite_factory",c,1e3,De(1.25))}},effect(){let c=G(2500);return`
${t("city_nanite_factory_effect",[e.resource.Nanite.name])}
${t("plus_max_resource",[c,e.resource.Nanite.name])}.
`},special:!0,action(){return _($(this)[0])?(S("nanite_factory","city"),e.settings.showIndustry=!0,Fe(),!0):!1},flair:t("city_nanite_factory_flair")};return s(n,i,a)}case"captive_housing":{let n={id:`${a}-captive_housing`,title:t("city_captive_housing"),desc:t("city_captive_housing_desc"),category:"residential",reqs:{unfathomable:1},trait:["unfathomable"],region:"city",cost:{Money(c){return F("captive_housing",c,40,1.35)},Lumber(c){return F("captive_housing",c,30,1.35)},Stone(c){return F("captive_housing",c,18,1.35)}},effect(){let c="";if(!e.race.artifical&&!e.race.detritivore&&!e.race.carnivore&&!e.race.soul_eater){let u=e.city.hasOwnProperty("captive_housing")?e.city.captive_housing.cattle:0,p=e.city.hasOwnProperty("captive_housing")?e.city.captive_housing.cattleCap:0;c+=`
${t("city_captive_housing_cattle",[u,p])}
`}let o=0;if(e.city.hasOwnProperty("surfaceDwellers"))for(let u=0;u${t("city_captive_housing_broken",[x[p].name,h])}`,c+=`
${t("city_captive_housing_untrained",[x[p].name,d])}
`}let l=e.city.hasOwnProperty("captive_housing")?e.city.captive_housing.raceCap:0;return c+=`
${t("city_captive_housing_capacity",[o,l])}
`,e.tech.unfathomable&&e.tech.unfathomable>=2&&(c+=`
${t("plus_max_resource",[1,t("job_torturer")])}
`),c},action(){if(_($(this)[0])){S("captive_housing","city");let c=e.city.captive_housing.count;return e.city.captive_housing.raceCap=c*(e.tech.unfathomable&&e.tech.unfathomable>=3?3:2),e.city.captive_housing.cattleCap=c*5,!0}return!1},struct(){return{d:{count:0,cattle:0,cattleCatch:0,race0:0,jailrace0:0,race1:0,jailrace1:0,race2:0,jailrace2:0,raceCap:0,cattleCap:0},p:["captive_housing","city"]}}};return s(n,i,a)}case"horseshoe":{let n={id:`${a}-horseshoe`,title(){return t(`city_${Lt(!0)}`,[Lt(!1)])},desc(){return t(`city_${Lt(!0)}_desc`,[Lt(!1)])},category:"outskirts",reqs:{primitive:3},condition(){return e.race.hooved||ke("fool",2023)},inflation:!1,cost:{Lumber(c){let o=(e.race.shoecnt||0)+(c||0);return!e.race.kindling_kindred&&!e.race.smoldering&&(!e.resource.Copper.display||o<=12)?Math.round((o>12?25:5)*(o<=5?1:o-4)*(v.hooved.vars()[0]/100)):0},Copper(c){let o=(e.race.shoecnt||0)+(c||0),l=!(e.race.kindling_kindred||e.race.smoldering);return!!((!l||l&&o>12&&e.resource.Copper.display)&&(!e.resource.Iron.display||o<=75))?Math.round((o>75?20:5)*(o<=12?1:o-11)*(v.hooved.vars()[0]/100)):0},Iron(c){let o=(e.race.shoecnt||0)+(c||0);return e.resource.Iron.display&&o>75&&(!e.resource.Steel.display||o<=150)?Math.round((o<=150?12:28)*o*(v.hooved.vars()[0]/100)):0},Steel(c){let o=(e.race.shoecnt||0)+(c||0);return e.resource.Steel.display&&o>150&&(!e.resource.Adamantite.display||o<=500)?Math.round((o<=500?40:100)*o*(v.hooved.vars()[0]/100)):0},Adamantite(c){let o=(e.race.shoecnt||0)+(c||0);return e.resource.Adamantite.display&&o>500&&(!e.resource.Orichalcum.display||o<=5e3)?Math.round((o<=5e3?5:25)*o*(v.hooved.vars()[0]/100)):0},Orichalcum(c){let o=(e.race.shoecnt||0)+(c||0);return e.resource.Orichalcum.display&&o>5e3?Math.round((25*o-12e4)*(v.hooved.vars()[0]/100)):0}},action(){return!e.race.hooved&&ke("fool",2023)?!0:e.resource.Horseshoe.display&&_($(this)[0])?(e.resource.Horseshoe.amount++,e.race.shoecnt++,e.race.shoecnt===5001&&e.resource.Orichalcum.display||e.race.shoecnt===501&&e.resource.Adamantite.display||e.race.shoecnt===151&&e.resource.Steel.display||e.race.shoecnt===76&&e.resource.Iron.display||e.race.shoecnt===13&&e.resource.Copper.display&&e.resource.Lumber.display?0:!0):!1}};return s(n,i,a)}}}function qt(r,a){a=a||"evo";let i=e.evolution.final||0;return(e.tech[a]&&e.tech[a]===r||e.evolution.gselect)&&i<100}var yi=["human","orc","elven","troll","ogre","cyclops","kobold","goblin","gnome","cath","wolven","vulpine","centaur","rhinotaur","capybara","tortoisan","gecko","slitheryn","arraak","pterodacti","dracnid","sporgar","shroomi","moldling","mantis","scorpid","antid","entish","cacti","pinguicula","sharkin","octigoran","dryad","satyr","phoenix","salamander","yeti","wendigo","tuskin","kamel","imp","balorg","seraph","unicorn","synth","nano","ghast","shoggoth","dwarf","raccoon","lichen","wyvern","beholder","djinn","narwhal","bombardier","nephilim","custom","hybrid"];yi.forEach(function(r){(!["custom","hybrid"].includes(r)||r==="custom"&&e.custom.hasOwnProperty("race0")||r==="hybrid"&&e.custom.hasOwnProperty("race1"))&&(m.evolution[r]={id:`evolution-${r}`,title(){return x[r].name},desc(){return`${t("evo_evolve")} ${x[r].name}`},reqs:{evo:7},grant:["evo",8],condition(){let a=e.stats.achieve.godslayer&&x[r].type==="hybrid"?x[r].hybrid:[x[r].type],i=!1;return a.forEach(function(s){e.tech[`evo_${s}`]>=2&&(i=!0)}),(e.race.seeded||e.stats.achieve.mass_extinction&&e.stats.achieve.mass_extinction.l>=1||e.stats.achieve[`extinct_${r}`]&&e.stats.achieve[`extinct_${r}`].l>=1)&&i&&e.evolution.final===100&&!e.race.evoFinalMenu},cost:{RNA(){return 320},DNA(){return 320}},race:!0,effect(){return`${typeof x[r].desc=="string"?x[r].desc:x[r].desc()} ${t("evo_complete")}`},action(){if(_($(this)[0])){if(["synth","custom"].includes(r))return d_(r);e.race.species=r,en()}return!1},queue_complete(){return e.tech.evo&&e.tech.evo===7?1:0},emblem(){return at(`extinct_${r}`)}})});Object.keys(e.stats.synth).length>1&&Re(yi.filter(a=>!["nano","synth"].includes(a))).forEach(a=>m.evolution[`s-${a}`]={id:`evolution-s-${a}`,title(){return x[a].name},desc(){return`${t("evo_imitate")} ${x[a].name}`},reqs:{evo:8},grant:["evo",9],condition(){return a==="custom"&&!e.custom.hasOwnProperty("race0")||a==="hybrid"&&!e.custom.hasOwnProperty("race1")?!1:(e.stats.synth[a]||e.beta)&&e.race.evoFinalMenu},cost:{},wiki:!1,race:!0,effect(){return t("evo_imitate_race",[x[a].name])},action(){return(e.stats.synth[a]||e.beta)&&(e.race.species=e.race.evoFinalMenu,e.race.srace=a,en()),!1},queue_complete(){return e.tech.evo&&e.tech.evo===8?1:0}});var aa={plasmid:"no_plasmid",mastery:"weak_mastery",trade:"no_trade",craft:"no_craft",crispr:"no_crispr",nerfed:"nerfed",badgenes:"badgenes"};Object.keys(aa).forEach(r=>m.evolution[r]={id:`evolution-${r}`,title:t(`evo_challenge_${r}`),desc:t(`evo_challenge_${r}`),condition(){return e.evolution.hasOwnProperty(r)},cost:{DNA(){return 10}},challenge:!0,effect(){return rl(r)},action(){return _($(this)[0])&&(e.race[aa[r]]?(delete e.race[aa[r]],$(`#${$(this)[0].id}`).removeClass("hl"),(e.race.truepath||e.race.lone_survivor)&&(delete e.race.nerfed,delete e.race.badgenes),["junker","cataclysm","banana","truepath","lone_survivor","fasting"].forEach(function(a){delete e.race[a],$(`#evolution-${a}`).removeClass("hl")})):(e.race[aa[r]]=1,$(`#${$(this)[0].id}`).addClass("hl")),Ys(),rn()),!1},highlight(){return!!e.race[aa[r]]},queue_complete(){return 0}});var Zs={joyless:{t:"c",e:"joyless"},steelen:{t:"c",e:"steelen"},decay:{t:"c",e:"dissipated"},emfield:{t:"c",e:"technophobe"},inflation:{t:"c",e:"wheelbarrow"},sludge:{t:"c",e:"extinct_sludge"},ultra_sludge:{t:"c",e:"extinct_ultra_sludge"},orbit_decay:{t:"c",e:"lamentis"},gravity_well:{t:"c",e:"escape_velocity"},witch_hunter:{t:"c",e:"soul_sponge"},simulation:{t:"c",e:"thereisnospoon"},junker:{t:"s",e:"extinct_junker"},cataclysm:{t:"s",e:"iron_will"},banana:{t:"s",e:"banana"},truepath:{t:"s",e:"pathfinder"},lone_survivor:{t:"s",e:"adam_eve"},fasting:{t:"s",e:"endless_hunger"}};Object.keys(Zs).forEach(r=>m.evolution[r]={id:`evolution-${r}`,title:t(`evo_challenge_${r}`),desc(){let a="";return e.race.universe==="micro"&&(a=a+`
${t("evo_challenge_micro_warn")}
`),a=a+`
${t(`evo_challenge_${r}_desc`)}
`,["sludge","junker","ultra_sludge"].includes(r)&&(a=a+`
${t("evo_start")}
`),a},condition(){return e.evolution.hasOwnProperty(r)},cost:{DNA(){return Zs[r].t==="c"?25:50}},challenge:!0,effect(){return rl(r)},action(){return _($(this)[0])&&(Zs[r].t==="c"?Uu(r):Wu(r)),!1},emblem(){return at(Zs[r].e)},highlight(){return!!e.race[r]},queue_complete(){return 0}});m.evolution.bunker={id:"evolution-bunker",title:t("evo_bunker"),desc(){return`
${t("evo_bunker")}
${t("evo_challenge")}
`},reqs:{evo:6},grant:["evo_challenge",1],condition(){return e.genes.challenge&&e.evolution.final===100&&!e.race.evoFinalMenu},cost:{DNA(){return 10}},effect:t("evo_bunker_effect"),action(){return!!_($(this)[0])},queue_complete(){return e.tech.evo_challenge?0:1},flair:t("evo_bunker_flair")};function As(){if(!(!e.settings.tabLoad&&e.settings.civTabs!==0)&&!(e.race.universe==="bigbang"||e.race.seeded&&!e.race.chose)){if(e.tech.evo_challenge){let r=$("#evolution .evolving").nextAll();Object.values(r).forEach(function(a){K($(a),!0)}),K($("#evolution .evolving"),!0)}Object.keys(m.evolution).forEach(function(r){if(!m.evolution[r].challenge){na(m.evolution[r].id);var a=!0;m.evolution[r].hasOwnProperty("reqs")&&Object.keys(m.evolution[r].reqs).forEach(function(i){(!e.tech[i]||e.tech[i]=2&&sl(),e.tech.evo_challenge&&Ys())}}function rl(r){switch(r){case"nerfed":let a=e.race.universe==="antimatter"?["20%","50%","50%","33%"]:["50%","20%","50%","33%"];return t(`evo_challenge_${r}_effect`,a);case"badgenes":return t(`evo_challenge_${r}_effect`,[1,2]);case"orbit_decay":return jt()>=100?`
${t("evo_challenge_orbit_decay_effect",[5e3])}
${t("evo_challenge_scenario_failwarn")}
`:`
${t("evo_challenge_orbit_decay_effect",[5e3])}
${t("evo_challenge_scenario_failwarn")}
${t("evo_challenge_scenario_warn")}
`;case"junker":return e.city.biome==="hellscape"&&e.race.universe!=="evil"?`
${t("evo_challenge_junker_effect")}
${t("evo_warn_unwise")}
`:t("evo_challenge_junker_effect");case"cataclysm":return jt()>=50?`
${t("evo_challenge_cataclysm_effect")}
${t("evo_challenge_cataclysm_warn")}
`:`
${t("evo_challenge_cataclysm_effect")}
${t("evo_challenge_scenario_warn")}
`;default:return t(`evo_challenge_${r}_effect`)}}function Qn(){let r;if(e.race.universe==="antimatter"||e.race.no_plasmid){let a=lc(100);if(a=+a.toFixed(3),r=`
${t("city_temple_effect1",[a])}
`,e.race.universe==="antimatter"){let i=6;if(e.genes.ancients&&e.genes.ancients>=2&&e.civic.priest.display){let s=e.genes.ancients>=5?.12:e.genes.ancients>=3?.1:.08;e.race.high_pop&&(s=he(s)),i+=s*Xe(e.civic.priest.workers,"priest")}r+=`
${t("city_temple_effect5",[i.toFixed(2)])}
`}}else{let a=uc(100);a=+a.toFixed(3),r=`
${t("city_temple_effect2",[a])}
`}return e.tech.fanaticism&&e.tech.fanaticism>=3&&(r=r+`
${t("city_temple_effect3")}
`),e.tech.anthropology&&e.tech.anthropology>=4&&(r=r+`
${e.race.truepath?t("city_temple_effect_tp",[2,25]):t("city_temple_effect4")}
`),r}function Gi(){let r=e.tech.gambling>=3?6e4:4e4;e.tech.gambling>=5&&(r+=e.tech.gambling>=6?24e4:6e4),r=G(r),e.race.gambler&&(r*=1+e.race.gambler*.04),e.tech.world_control&&(r=r*1.25),e.race.truepath&&(r=r*1.5),e.tech.stock_exchange&&e.tech.gambling>=4&&(r*=1+e.tech.stock_exchange*.05),e.race.inflation&&(r*=1+e.race.inflation/100),e.tech.isolation&&(r*=5.5),r=Math.round(r);let a=e.race.joyless?"":`
${t("plus_max_resource",[E(1),t("job_entertainer")])}
`,i=e.race.orbit_decayed||e.tech.isolation?`
${t("plus_max_resource",[E(1),t("banker_name")])}
`:"",s=`
${t("plus_max_resource",[`$${r.toLocaleString()}`,t("resource_Money_name")])}
${a}${i}
${t("city_max_morale",[1])}
`,n=Math.log2(1+e.resource[e.race.species].amount)*(e.race.gambler?2.5+e.race.gambler/10:2.5);return e.tech.gambling&&e.tech.gambling>=2&&(n*=e.tech.gambling>=5?2:1.5),e.tech.stock_exchange&&e.tech.gambling>=4&&(n*=1+e.tech.stock_exchange*.01),e.civic.govern.type==="corpocracy"&&(n*=3),e.civic.govern.type==="socialist"&&(n*=.8),e.race.inflation&&(n*=1+e.race.inflation/1250),e.tech.isolation&&(n*=1.25,e.tech.iso_gambling&&(n*=1+Xe(e.civic.banker.workers,"banker")*.05)),e.race.wish&&e.race.wishStats&&e.race.wishStats.casino&&(n*=1.35),n=+n.toFixed(2),s=s+`
${t("tech_casino_effect2",[n])}
`,s}function ha(r,a,i,s){return((e.evolution.hasOwnProperty(r)?e.evolution[r].count:0)+(s||0))*i+a}function Uu(r){e.race[r]?(delete e.race[r],$(`#evolution-${r}`).removeClass("hl"),r==="sludge"&&Object.keys(x).forEach(function(a){a!=="junker"&&a!=="sludge"&&a!=="ultra_sludge"&&$(`#evolution-${a}`).removeClass("is-hidden")})):(e.race[r]=1,$(`#evolution-${r}`).addClass("hl"),(r==="sludge"||r==="ultra_sludge")&&(Object.keys(x).forEach(function(a){a!=="junker"&&a!=="sludge"&&a!=="ultra_sludge"&&$(`#evolution-${a}`).addClass("is-hidden")}),e.race.junker&&delete e.race.junker,r!=="sludge"&&delete e.race.sludge,r!=="ultra_sludge"&&delete e.race.ultra_sludge),r==="orbit_decay"&&(delete e.race.cataclysm,e.race.lone_survivor&&(delete e.race.lone_survivor,["nerfed","badgenes"].forEach(function(a){delete e.race[aa[a]]})))),Ys(),rn()}function Wu(r){if(e.race.sludge||Object.keys(x).forEach(function(a){a!=="junker"&&a!=="sludge"&&a!=="ultra_sludge"&&$(`#evolution-${a}`).removeClass("is-hidden")}),e.race[r])delete e.race[r],$(`#evolution-${r}`).removeClass("hl"),["nerfed","badgenes"].forEach(function(a){delete e.race[aa[a]]});else{["junker","cataclysm","banana","truepath","lone_survivor","fasting"].forEach(function(i){delete e.race[i],$(`#evolution-${i}`).removeClass("hl")}),e.race[r]=1,$(`#evolution-${r}`).addClass("hl"),r==="junker"&&(Object.keys(x).forEach(function(i){i!=="junker"&&i!=="sludge"&&i!=="ultra_sludge"&&$(`#evolution-${i}`).addClass("is-hidden")}),e.race.sludge&&delete e.race.sludge,e.race.ultra_sludge&&delete e.race.ultra_sludge),(r==="cataclysm"||r==="lone_survivor")&&delete e.race.orbit_decay,r==="truepath"||r==="lone_survivor"?(e.race.nerfed=1,["crispr","plasmid","mastery"].forEach(function(i){delete e.race[aa[i]]})):(["nerfed","badgenes"].forEach(function(i){delete e.race[aa[i]]}),e.race.universe==="antimatter"?(e.race.weak_mastery=1,$("#evolution-mastery").hasClass("hl")||$("#evolution-mastery").addClass("hl")):(e.race.no_plasmid=1,$("#evolution-plasmid").hasClass("hl")||$("#evolution-plasmid").addClass("hl")));let a=r==="truepath"||r==="lone_survivor"?["badgenes","trade","craft"]:["crispr","trade","craft"];for(let i=0;i=3&&(i*=e.tech.storage>=4?3:1.5),e.race.pack_rat&&(i*=1+v.pack_rat.vars()[1]/100);let s=re("kobold");return s>0&&(i*=1+v.pack_rat.vars(1)[1]/100*s),e.tech.storage>=6&&(i*=1+e.tech.supercollider/20),e.tech.tp_depot&&(i*=1+e.tech.tp_depot/20),e.tech.shelving&&e.tech.shelving>=3&&(i*=1.5),e.stats.achieve.blackhole&&(i*=1+e.stats.achieve.blackhole.l*.05),i*=e.tech.world_control?3:1,e.race.ascended&&(i*=1.1),e.blood.hoarder&&(i*=1+e.blood.hoarder/100),e.tech.storage>=7&&e.interstellar.cargo_yard&&(i*=1+e.interstellar.cargo_yard.count*Cr(a)/100),i*r}function Kr(r){if((e.race.kindling_kindred||e.race.smoldering)&&r==="lumber")return!1;if((e.race.kindling_kindred||e.race.smoldering)&&r==="stone")return!0;let a=e.race.truepath?"truepath":"standard";if(m.city[r].hasOwnProperty("path")&&!m.city[r].path.includes(a))return!1;var i=!0;return Object.keys(m.city[r].reqs).forEach(function(s){(!e.tech[s]||e.tech[s]=3&&(s=!0,e.r_queue.queue.forEach(function(c){dc(c.type,!1)&&(a[m[c.action][c.type].grant[0]]={v:m[c.action][c.type].grant[1],a:c.type})}),Object.keys(n).forEach(function(c){let o=e.tech[c]||0;tl(c,e.tech[c]||0)||(!a[c]||a[c].vo+1)&&(s=!1)})),(i||s)&&(!e.tech[m.tech[r].grant[0]]||e.tech[m.tech[r].grant[0]]=m.tech[r].grant[1])switch(r){case"fanaticism":return!!e.tech.fanaticism;case"anthropology":return!!e.tech.anthropology;case"deify":return!!e.tech.ancient_deify;case"study":return!!e.tech.ancient_study;case"isolation_protocol":return!!e.tech.isolation;case"focus_cure":return!!e.tech.focus_cure;case"vax_strat1":return!!e.tech.vax_p;case"vax_strat2":return!!e.tech.vax_f;case"vax_strat3":return!!e.tech.vax_s;case"vax_strat4":return!!e.tech.vax_c;default:return!0}return!1}function pc(r){let a=!0;return r.power_reqs&&Object.keys(r.power_reqs).forEach(function(i){(!e.tech[i]||e.tech[i]`).appendTo("#city").append(`

${t(`city_dist_${i}`)}

`),r[i].forEach(function(s){Ee("city",s)}),N(`dist-${i}`,function(){return t(`city_dist_${i}_desc`)},{elm:`#city-dist-${i} h3`,classes:"has-background-light has-text-dark"})}})}function ae(){if(!e.settings.tabLoad&&e.settings.civTabs!==3)return;let r={},a={},i={},s=[],n=[],c=[];["primitive","civilized","discovery","industrialized","globalized","early_space","deep_space","interstellar","intergalactic"].forEach(function(u){i[u]=[]});let o={interstellar:"solar"},l={};Object.keys(m.tech).forEach(function(u){if(!Qu(u))return;na(m.tech[u].id);let p=Ju(u),h=m.tech[u],d="category"in h?h.category:"research";if(!p&&s.indexOf(d)===-1&&s.push(d),p&&n.indexOf(d)===-1&&n.push(d),c.indexOf(d)===-1&&c.push(d),p===!0)d in a||(a[d]=[]),a[d].push(u);else{let g=m.tech[u];if(!ma(g,u))return;let w=dc(u,l);if(!w)return;d in r||(r[d]=[]);let k=e.race.truepath&&o[g.era]?o[g.era]:g.era;i.hasOwnProperty(k)||(i[k]=[]),i[k].push({t:u,p:w==="precog"})}}),K($("#tech")),Object.keys(i).forEach(function(u){i[u].length>0&&($("#tech").append(`

${t(`tech_era_${u}`)}

`),i[u].sort(function(p,h){return m.tech[p.t].cost.Knowledge==null?-1:m.tech[h.t].cost.Knowledge==null?1:m.tech[p.t].cost.Omniscience!=null&&m.tech[h.t].cost.Omniscience!=null?m.tech[p.t].cost.Omniscience()>m.tech[h.t].cost.Omniscience()?1:-1:m.tech[p.t].cost.Knowledge()>m.tech[h.t].cost.Knowledge()?1:-1}),i[u].forEach(function(p){Ee("tech",p.t,!1,p.p?l:!1)}))}),c.forEach(function(u){K($(`#tech-dist-${u}`),!0),K($(`#tech-dist-old-${u}`),!0)}),n.forEach(function(u){if(!(u in a))return;$(`
`).appendTo("#oldTech").append(`

${t(`tech_dist_${u}`)}

`);let p=mt(4,12,!1);p.length>0&&u==="science"&&$("#tech-dist-old-science h3").append(p),a[u].forEach(function(h){Ee("tech",h,!0,!1)})})}function Ee(r,a,i,s){let n=m[r][a];er(n,r,a,i,s)}function er(r,a,i,s,n){if(ma(r,i)===!1)return;let c=a;a==="outerSol"&&(a="space"),r.region&&(a=r.region),r.powered&&!e[a][i].on&&(e[a][i].on=0);let o=r.id;na(o);let l="";n&&r&&r.reqs&&Object.keys(r.reqs).forEach(function(d){n[d]&&(l+=` data-req-${d}="${n[d].a}"`)});let u=r.highlight&&r.highlight()?$(`
`):$(`
`);_r(r,!1,["genes","blood"].includes(a))||u.addClass("cna"),_r(r,!0,["genes","blood"].includes(a))||u.addClass("cnam");let p;if(s)p=$('{{ title }}');else{let d="",g="";if(r.cost){let M=a!=="genes"&&a!=="blood"?Ct(r):r.cost;Object.keys(M).forEach(function(q){let P=M[q]();P>0&&(d=d+` res-${q}`,g=g+` data-${q}="${P}"`)})}let w="";r.class&&(w=typeof r.class=="function"?` ${r.class()}`:` ${r.class}`),n&&(w=" precog");let k=r.highlight?r.highlight()?`${t("active")}`:`${t("not_active")}`:"";p=$(`${k}{{ title }} description`)}if(u.append(p),r.hasOwnProperty("special")&&(typeof r.special=="function"&&r.special()||r.special===!0)){let d=$(`
-
`);u.append(d)}if(r.on||r.off){if(r.on){let d=$(``);u.append(d)}if(r.off){let d=$(``);u.append(d)}}else if(r.powered&&e.tech.high_tech&&e.tech.high_tech>=2&&pc(r)||r.switchable&&r.switchable()){let d=$(``),g=$(``);u.append(d),u.append(g)}if(r.count){let d=r.count();d>1&&p.append($(`${d}`))}else a!=="tech"&&e[a]&&e[a][i]&&e[a][i].count>=0?p.append($(``)):a==="blood"&&e[a]&&e[a][r.grant[0]]&&e[a][r.grant[0]]>0&&r.grant[1]==="*"&&p.append($(` ${e[a][r.grant[0]]} `));if(a!=="tech"&&e[a]&&e[a][i]&&typeof e[a][i].repair<"u"&&p.append($('
')),s?$("#oldTech").append(u):$("#"+c).append(u),a!=="tech"&&e[a]&&e[a][i]&&e[a][i].count===0&&($(`#${o} .count`).css("display","none"),$(`#${o} .special`).css("display","none"),$(`#${o} .on`).css("display","none"),$(`#${o} .off`).css("display","none")),r.emblem){let d=r.emblem();u.append($(d))}let h={template:''};C({el:"#"+o,data:{title:typeof r.title=="string"?r.title:r.title(),act:e[a][i]},methods:{action(){"ontouchstart"in document.documentElement&&navigator.userAgent.match(e.settings.touch)||al(r,a,i)},describe(){Ai(e_(r,s))},trigModal(){if(r.sAction&&typeof r.sAction=="function")r.sAction();else{this.$buefy.modal.open({parent:this,component:h});let d=setInterval(function(){$("#modalBox").length>0&&(clearInterval(d),_c(r,i))},50)}},on_label(){return`on: ${e[a][i].on}`},off_label(){return`off: ${e[a][i].count-e[a][i].on}`},power_on(){if(i==="banquet")e[a][i].on=1;else{let d=W();for(let g=0;g0;g++)e[a][i].on--;r.postPower&&setTimeout(function(){r.postPower(!1)},250)},repair(){return e[a][i].repair},repairMax(){return r.repair()}},filters:{val(d){switch(d){case"on":return r.on();case"off":return r.off()}},p_off(d,g){let w=e[a][i].count-d;if(g==="city-casino"&&!e.race.cataclysm&&!e.race.orbit_decayed||g==="space-spc_casino"&&(e.race.cataclysm||e.race.orbit_decayed)||g==="tauceti-tauceti_casino"&&e.tech.isolation){let k=ht(5,12);if(w===0&&k.length>0)return k}else if(g==="city-banquet")return d?0:1;return w},p_on(d,g){if(g==="city-biolab"&&!e.race.cataclysm&&!e.race.orbit_decayed||(e.race.cataclysm||e.race.orbit_decayed)&&g==="space-exotic_lab"||e.tech.isolation&&g==="tauceti-infectious_disease_lab"){let w=ht(12,12);if(d===0&&w.length>0)return w}else if(g==="city-garrison"||g==="space-space_barracks"){let w=mt(1,14,!0);if(d===(g==="city-garrison"?13:0)&&w.length>0)return w}else if(g==="city-banquet")return d?1:0;return d},title(d){return d},options(d){return t("action_options",[d])},count(d,g){return["temple","ziggurat"].includes(g)?Us(g!=="temple"):d}}}),N(o,function(){},{in:function(d){Ra(d.popper,r,e[a][i],s,a,i)},out:function(){C({el:"#popTimer"},"destroy")},attach:a==="starDock"?"body .modal":"#main",wide:r.wide})}function al(r,a,i){if(r.id==="spcdock-launch_ship")r.action();else switch(a){case"tech":if(!(e.settings.qKey&&Nr.q)&&dc(i,!1)&&r.action())Xu(i),r.post&&setTimeout(function(){r.post()},250);else if(!(r.no_queue&&r.no_queue())&&e.tech.r_queue&&e.r_queue.queue.length0){let d=e.settings.qKey?s:1;d>e.queue.max-p&&(d=e.queue.max-p);let g=r.queue_size?r.queue_size:1;if(r.region&&(a=r.id.split("-")[0]),e.settings.q_merge!=="merge_never")e.queue.queue.length>0&&e.queue.queue[e.queue.queue.length-1].id===r.id?e.queue.queue[e.queue.queue.length-1].q+=Math.min(h,g*d):e.queue.queue.push({id:r.id,action:a,type:i,label:typeof r.title=="string"?r.title:r.title(),cna:!1,time:0,q:Math.min(h,g*d),qs:g,t_max:0,bres:!1});else for(let w=0;w0;w++)e.queue.queue.push({id:r.id,action:a,type:i,label:typeof r.title=="string"?r.title:r.title(),cna:!1,time:0,q:Math.min(h,g),qs:g,t_max:0,bres:!1}),h-=g;c=!0}}break}else e.race.inflation&&e.tech.primitive&&(!r.hasOwnProperty("inflation")||r.inflation)&&e.race.inflation++;n=!0}if(n&&(Yu(r,a,i),e.tech.queue&&r.queue_complete)){let l=r.queue_complete();for(let u=0,p=0;pl?(h.q=l,l=0):l-=h.q)}}c&&ka();break}}}function Yu(r,a,i){if(!_r(r)){let s=r.id;$(`#${s}`).addClass("cna")}if(r.grant){let s=r.grant[0];(!e.tech[s]||e.tech[s]0,n=!s,c=e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("tasks")&&e.race.hasOwnProperty("replicator")&&Object.values(e.race.governor.tasks).includes("replicate")&&e.race.governor.config.replicate.pow.on&&e.race.replicator.pow>0;if(s&&e.city.hasOwnProperty("powered")){let u=e.city.power;c&&(u+=e.race.replicator.pow),n=r.powered()<=u}let o=r.hasOwnProperty("s_type")&&r.hasOwnProperty("support")&&r.support()<0,l=!o;if(o){let u=Jr(),p=u[r.s_type].r,h=u[r.s_type].rs;l=e[p][h].support-r.support()<=e[p][h].s_max}return n&&l||e.settings.alwaysPower?(e[i[0]][i[1]].on++,s&&(e.city.power-=r.powered(),c&&dr.replicate.task()),a&&typeof a=="function"?a(r):!0):!1}function e_(r,a){let i=typeof r.desc=="string"?r.desc:r.desc();if(i=i+". ",r.cost&&!a){_r(r)?i=i+t("affordable")+". ":i=i+t("not_affordable")+". ",i=i+"Costs: ";let n=r.id.split("-")[0];var s=n!=="genes"&&n!=="blood"?Ct(r):r.cost;Object.keys(s).forEach(function(c){if(c==="Custom"){let o=s[c]();i=i+o.label}else if(c==="Structs"){let o=s[c]();Object.keys(o).forEach(function(l){Object.keys(o[l]).forEach(function(u){let p="";if(o[l][u].hasOwnProperty("s")){let h=o[l][u].s;p=typeof m[l][h][u].title=="string"?m[l][h][u].title:m[l][h][u].title()}else p=typeof m[l][u].title=="string"?m[l][u].title:m[l][u].title();i=i+`${p}. `,e[l][u]?o[l][u].count>e[l][u].count?i=i+`${t("insufficient")} ${p}. `:o[l][u].hasOwnProperty("on")&&o[l][u].on>e[l][u].on&&(i=i+`${t("insufficient")} ${p} enabled. `):i=i+`${t("insufficient")} ${p}. `})})}else if(e.prestige.hasOwnProperty(c)){let o=s[c]();if(o>0){c==="Plasmid"&&e.race.universe==="antimatter"&&(c="AntiPlasmid");let l=t(`resource_${c}_name`);i=i+`${l}: ${o}. `,e.prestige[c].count0){let l=t(`resource_${c}_name`);i=i+`${l}: ${o}. `,e.portal.purifier.supply0){let u=l==="Money"?"$":e.resource[l].name+": ";u=u.replace("_"," ");let p=X(o,1);i=i+`${u}${p}. `,e.resource[l].amount${a.hasOwnProperty("touchlabel")?a.touchlabel:t("construct")}`),r.append(u),$("#touchButton").on("touchstart",function(){al(a,n,c)})),r.append($(`
${l}
`));let p=a.id.split("-")[0];a.category&&p==="tech"&&!s&&r.append($(`
${t("tech_dist_category")}: ${t(`tech_dist_${a.category}`)}
`));let h=li(a,!1,!0);if(a.cost&&!s){let M=!0;var d=$('
'),g=p!=="genes"&&p!=="blood"?Ct(a):a.cost;Object.keys(g).forEach(function(q){if(q==="Custom"){let P=g[q]();d.append($(`
${P.label}
`)),M=!1}else if(q==="Structs"){let P=g[q]();Object.keys(P).forEach(function(O){Object.keys(P[O]).forEach(function(U){let Z=P[O][U].hasOwnProperty("on")?P[O][U].on:P[O][U].count,z="has-text-dark",Y="";e[O][U]?P[O][U].count>e[O][U].count?(z="has-text-danger",Y=' (blocking resource)'):P[O][U].hasOwnProperty("on")&&P[O][U].on>e[O][U].on&&(z="has-text-alert"):(z="has-text-danger",Y=' (blocking resource)');let tt="";if(P[O][U].hasOwnProperty("s")){let it=P[O][U].s;tt=typeof m[O][it][U].title=="string"?m[O][it][U].title:m[O][it][U].title()}else tt=typeof m[O][U].title=="string"?m[O][U].title:m[O][U].title();M=!1,d.append($(`
${tt}: ${Z}${Y}
`))})})}else if(e.prestige.hasOwnProperty(q)){let P=g[q]();if(P>0){q==="Plasmid"&&e.race.universe==="antimatter"&&(q="AntiPlasmid");let O=t(`resource_${q}_name`),U="has-text-dark",Z="";e.prestige[q].count(blocking resource)'),M=!1,d.append($(`
${O}: ${P}${Z}
`))}}else if(q==="Supply"){let P=g[q]();if(P>0){let O=t(`resource_${q}_name`),U="has-text-dark",Z="";e.portal.purifier.supply(blocking resource)'),M=!1,d.append($(`
${O}: ${P}${Z}
`))}}else if(q!=="Morale"&&q!=="Army"&&q!=="Bool"){let P=g[q]();if(P>0){let O="",U=q==="Species"?e.race.species:q;if(q==="HellArmy"){let Z=t("fortress_troops"),z="has-text-dark";e.portal.fortress.garrison-e.portal.fortress.patrols*e.portal.fortress.patrol_size(blocking resource)'):z="has-text-alert"),M=!1,d.append($(`
${Z}: ${P}${O}
`))}else if(q==="Troops"){let Z=e.tech.world_control&&!e.race.truepath?t("civics_garrison_peacekeepers"):t("civics_garrison_soldiers"),z="has-text-dark";we()(blocking resource)'):z="has-text-alert"),M=!1,d.append($(`
${Z}: ${P}${O}
`))}else{let Z=U==="Money"?"$":e.resource[U].name+": ";Z=Z.replace("_"," ");let z="has-text-dark",Y="";e.resource[U].amount(blocking resource)'):z="has-text-alert",o&&o!==q&&h.r===U?(z+=" grad-from-left",Y=' (first blocking resource)'):o&&o===q&&h.r!==U&&(z+=" grad-from-left-warn")):o&&o===q&&(z+=" grad-from-right",Y=' (last blocking resource)');let tt=X(P,1);M=!1,d.append($(`
${Z}${tt}${Y}
`))}}}}),M||r.append(d)}if(a.effect){var w=typeof a.effect=="string"?a.effect:a.effect();w&&r.append($(`
${w}
`))}if(a.flair){var k=typeof a.flair=="string"?a.flair:a.flair();r.append($(`
${k}
`)),r.addClass("flair")}if(a.reqs){let M=[];if(Object.keys(a.reqs).forEach(function(q){let P=$(`#${a.id}`).attr(`data-req-${q}`);P&&M.push(typeof m.tech[P].title=="string"?m.tech[P].title:m.tech[P].title())}),M.length>0){let q=M.join(", ");r.append($(`
${t("requires_tech",[q])}
`))}}if(!s&&a.id.substring(0,5)!=="blood"&&!_r(a)&&_r(a,!0)){if(typeof i=="string"&&i==="notimer")return;if(i&&i.time)r.append($('
{{ time | timer }}
')),C({el:"#popTimer",data:i,filters:{timer(M){return t("action_ready",[M])}}});else{let M=ut(h.t);r.append($(`
${t("action_ready",[M])}
`))}}(a.id==="portal-spire"||a.id==="portal-waygate"&&e.tech.waygate>=2)&&i&&i.time&&(r.append($('
{{ time | timer }}
')),C({el:"#popTimer",data:i,filters:{timer(M){let q=!a.hasOwnProperty("mscan")||a.hasOwnProperty("mscan")&&a.mscan()>0?M:"???";return t("floor_clearing",[q])}}})),a.id==="portal-devilish_dish"&&i&&i.time&&(r.append($('
{{ time | timer }}
')),C({el:"#popTimer",data:i,filters:{timer(M){let q=!a.hasOwnProperty("mscan")||a.hasOwnProperty("mscan")&&a.mscan()>0?M:"???";return t("action_done",[q])}}}))}function na(r){K($(`#${r}`),!0),le(r)}function es(r,a,i){var s=r.id;e[a]&&e[a][i]&&e[a][i].count&&($(`#${s} .count`).html(e[a][i].count),e[a][i]&&e[a][i].count>0&&($(`#${s} .count`).css("display","inline-block"),$(`#${s} .special`).css("display","block"),$(`#${s} .on`).css("display","block"),$(`#${s} .off`).css("display","block"))),$("#popper").data("id")===s&&Ra($("#popper"),r,e[a][i],!1,a,i)}function _(r,a){return a=a||Ct(r),vs(a)?(Object.keys(a).forEach(function(i){if(e.prestige.hasOwnProperty(i)){let s=a[i]();i==="Plasmid"&&e.race.universe==="antimatter"&&(i="AntiPlasmid"),e.prestige[i].count-=s}else if(i==="Supply"){let s=a[i]();e.portal.purifier.supply-=s}else if(i!=="Morale"&&i!=="Army"&&i!=="HellArmy"&&i!=="Troops"&&i!=="Structs"&&i!=="Bool"&&i!=="Custom"){let s=a[i](),n=i==="Species"?e.race.species:i;e.resource[n].amount-=s,n==="Knowledge"&&(e.stats.know+=s)}}),!0):!1}function _r(r,a,i){if(r.cost){let s=i?r.cost:Ct(r);return a?t_(s):vs(s)}return!0}function Us(r){if(!r&&e.city.temple){let a=e.city.temple.count;return e.race.wish&&e.race.wishStats&&e.race.wishStats.temple&&a++,e.genes.hasOwnProperty("ancients")&&e.genes.ancients>=6&&a++,a}else if(r&&e.space.ziggurat){let a=e.space.ziggurat.count;return e.race.wish&&e.race.wishStats&&e.race.wishStats.zigg&&a++,e.genes.hasOwnProperty("ancients")&&e.genes.ancients>=7&&a++,a}return 0}function t_(r){var a=!0;return Object.keys(r).forEach(function(i){if(i!=="Custom")if(i==="Structs"){if(!il(r[i]())){a=!1;return}}else if(e.prestige.hasOwnProperty(i)){let n=i;if(i==="Plasmid"&&e.race.universe==="antimatter"&&(i="AntiPlasmid"),e.prestige[i].count"u"||e.portal.fortress.garrison-e.portal.fortress.patrols*e.portal.fortress.patrol_size0||e.resource[n].max>=0&&s>Number(e.resource[n].max)&&Number(e.resource[n].max)!==-1){a=!1;return}}}),a}function vs(r){var a=!0;return Object.keys(r).forEach(function(i){if(i==="Custom"){if(!r[i]().met){a=!1;return}}else if(i==="Structs"){if(!il(r[i]())){a=!1;return}}else if(e.prestige.hasOwnProperty(i)){let n=i;if(i==="Plasmid"&&e.race.universe==="antimatter"&&(i="AntiPlasmid"),e.prestige[i].count"u"||e.portal.fortress.garrison-e.portal.fortress.patrols*e.portal.fortress.patrol_size=0&&s>e.resource[n].max;if(s>Number(e.resource[n].amount)+e.resource[n].diff||c){a=!1;return}}}),a}function il(r){let a=!0;return Object.keys(r).forEach(function(i){if(e.hasOwnProperty(i))Object.keys(r[i]).forEach(function(s){if(e[i].hasOwnProperty(s)){if(e[i][s].count=7&&(r*=.92**e.tech.nexus),r}function De(r){let a=Q("dirty_jobs",0);return a&&(r-=a),r}function a_(){let r=$('
');$("#evolution").append(r),r.append($(`

${t("evo_challenge_genes")}

`)),r.append($(`
${t("evo_challenge_genes_desc")}
`)),e.genes.challenge&&e.genes.challenge>=2&&r.append($(`
${t("evo_challenge_genes_mastery")}
`))}function i_(){let r=$('
');$("#evolution").append(r),r.append($(`

${t("evo_challenge_run")}

`)),r.append($(`
${t("evo_challenge_run_desc")}
`))}function s_(){let r=$('
');$("#evolution").append(r),r.append($(`

${t("evo_scenario")}

`)),r.append($(`
${t("evo_scenario_desc")}
`))}function n_(){let r=$('
');$("#evolution").append(r),r.append($(`

${t("evo_challenge_simulation")}

`)),r.append($(`
${t("evo_challenge_simulation_desc")}
`)),r.append($(``)),C({el:"#simSection",data:{},methods:{exitsim(){h_()}}})}function c_(){let r=$('
');$("#evolution").append(r),r.append($(`

${t("evo_challenge_simulation")}

`)),r.append($(`
${t("evo_challenge_simulation_desc")}
`));let a=$($('
'));r.append(a),e.race.simConfig||(e.race.simConfig={}),["Plasmid","AntiPlasmid","Phage","Dark","Harmony","AICore","Artifact","Blood_Stone"].forEach(function(i){e.race.simConfig[i]=e.race.simConfig[i]||0,a.append($(`
${t(`resource_${i}_name`)}
`))}),C({el:"#simSection",data:e.race.simConfig})}function _c(r,a){let i=typeof r.title=="string"?r.title:r.title();$("#modalBox").append($(`

${i}

`));var s=$('
');switch($("#modalBox").append(s),a){case"smelter":case"hell_smelter":case"stellar_forge":case"hell_forge":case"sacred_smelter":case"geothermal":case"ore_refinery":bt("smelter",s);break;case"factory":case"red_factory":case"int_factory":case"tau_factory":bt("factory",s);break;case"star_dock":o_(s);break;case"mining_droid":bt("droid",s);break;case"g_factory":case"refueling_station":bt("graphene",s);break;case"freighter":case"super_freighter":nc(s);break;case"pylon":bt("pylon",s);break;case"rock_quarry":bt("rock_quarry",s);break;case"titan_mine":bt("titan_mine",s);break;case"mining_ship":bt("mining_ship",s);break;case"alien_space_station":bt("alien_space_station",s);break;case"nanite_factory":bt("nanite_factory",s);break;case"alien_outpost":bt("replicator",s);break;case"mech_station":bt("mech_station",s);break}}function o_(r){if(e.tech.genesis<4){let s=$(`
${t("stardock_warn")}
`);r.append(s);return}let a=$('
');r.append(a);let i=m.starDock.probes;if(er(i,"starDock","probes"),e.tech.geck&&e.stats.achieve.lamentis&&e.stats.achieve.lamentis.l>=5){let s=m.starDock.geck;er(s,"starDock","geck")}if(e.tech.genesis>=5){let s=m.starDock.seeder;er(s,"starDock","seeder")}if(e.tech.genesis===6){let s=m.starDock.prep_ship;er(s,"starDock","prep_ship")}if(e.tech.genesis>=7){let s=m.starDock.launch_ship;er(s,"starDock","launch_ship")}}function sl(){K($("#evolution .evolving"),!0);let r=$(`
${e.evolution.final}%
`);$("#evolution").append(r)}function Kt(){return e.race.universe==="magic"?t("city_wizard_tower_title"):e.race.evil?t("city_babel_title"):t("city_wardenclyffe")}function l_(){if(ke("halloween").active)return t("events_halloween_basic_house");switch(e.race.species){case"orc":return t("city_basic_housing_orc_title");case"wolven":return t("city_basic_housing_wolven_title");case"sporgar":return t("city_basic_housing_sporgar_title");case"dracnid":return t("city_basic_housing_title7");case"balorg":return t("city_basic_housing_title7");case"imp":return t("city_basic_housing_title8");case"seraph":return t("city_basic_housing_seraph_title");case"unicorn":return t("city_basic_housing_unicorn_title")}switch(e.race.maintype||x[e.race.species].type){case"avian":return t("city_basic_housing_nest_title");case"plant":return t("city_basic_housing_entish_title");case"sand":return t("city_basic_housing_sand_title");case"polar":return t("city_basic_housing_polar_title");case"eldritch":return t("city_basic_housing_eldritch_title")}return e.city.ptrait.includes("trashed")?t("city_basic_housing_trash_title"):t("city_basic_housing_title")}function u_(){if(ke("halloween").active)return t("events_halloween_medium_house");switch(e.race.species){case"sporgar":return t("city_cottage_title2");case"balorg":return t("city_cottage_title3");case"imp":return t("city_basic_housing_title7");case"seraph":return t("city_cottage_title4");case"unicorn":return t("city_cottage_title5");case"dracnid":return t("city_cottage_title7")}switch(e.race.maintype||x[e.race.species].type){case"avian":return t("city_cottage_title6");case"eldritch":return t("city_cottage_title8")}return t("city_cottage_title1")}function __(r){if(ke("halloween").active)return t("events_halloween_large_house");if(!r&&Q("extravagant",0))return t("city_mansion");switch(e.race.species){case"sporgar":return t("city_apartment_title2")}switch(e.race.maintype||x[e.race.species].type){case"avian":return t("city_apartment_title5");case"sand":return t("city_apartment_title6");case"demonic":return t("city_apartment_title3");case"angelic":return t("city_apartment_title4");case"giant":return t("city_apartment_title7");case"eldritch":return t("city_apartment_title8")}return t("city_apartment_title1")}function Oe(r,a){switch(r){case"small":return l_();case"medium":return u_();case"large":return __(a)}}function Ce(r){let a=ke("halloween");switch(r){case"casino":return a.active?t("events_halloween_casino"):t("city_casino");case"farm":return a.active?t("events_halloween_farm"):t("city_farm");case"dormitory":return a.active?t("events_halloween_dorm"):t("galaxy_dormitory");case"mine":return a.active?t("events_halloween_mine"):t("city_mine");case"coal_mine":return a.active?t("events_halloween_coal_mine"):t("city_coal_mine");case"lumberyard":return a.active?t("events_halloween_lumberyard"):t("city_lumber_yard");case"sawmill":return a.active?t("events_halloween_sawmill"):t("city_sawmill");case"hospital":return a.active?t("events_halloween_hospital"):t("city_hospital");case"windmill":return a.active?t("events_halloween_windmill"):t("city_mill_title2");case"factory":return a.active?t("events_halloween_factory"):t("city_factory");case"storage_yard":return a.active?t("events_halloween_storage_yard"):t("city_storage_yard");case"temple":return a.active?t("events_halloween_temple"):t("city_temple")}}function Lr(r,a){if(e.tech.queue&&e.queue.display){let i=["space","interstellar","galaxy","portal","tauceti"];for(let s=0;s-1)if(i.includes(n.action)){let c=!0;Object.keys(m[n.action]).forEach(function(o){m[n.action][o][n.type]&&c&&(e.queue.queue[s].label=typeof m[n.action][o][n.type].title=="string"?m[n.action][o][n.type].title:m[n.action][o][n.type].title(),c=!1)})}else m[n.action][n.type]&&(e.queue.queue[s].label=typeof m[n.action][n.type].title=="string"?m[n.action][n.type].title:m[n.action][n.type].title())}}if(r&&e.tech.r_queue&&e.r_queue.display)for(let i=0;i1)return e.race.evoFinalMenu=r,As(),!0;e.race.species=r,en()}function en(){e.race.simulation&&p_(),e.sim&&(e.settings.showGenetics=!0,e.settings.arpa.physics=!1,e.settings.arpa.crispr=!0,e.settings.arpa.arpaTabs=2),e.resource.hasOwnProperty("RNA")&&(e.resource.RNA.display=!1),e.resource.hasOwnProperty("DNA")&&(e.resource.DNA.display=!1),(e.race.species==="junker"||e.race.species==="sludge"||e.race.species==="ultra_sludge")&&nl(),e.race.species!=="junker"&&delete e.race.junker,e.race.species!=="sludge"&&delete e.race.sludge,e.race.species!=="ultra_sludge"&&delete e.race.ultra_sludge;for(var r=["rna","dna","membrane","organelles","nucleus","eukaryotic_cell","mitochondria"],a=0;a=2?(e.race.maintype=d,me(g,{set:xt[d][g]}),e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=4&&me(g)):(me(g,{set:xt[d][g]}),me(g,{down:!0}))})}),Object.keys(x[e.race.species].traits).forEach(function(d){me(d,{set:x[e.race.species].traits[d]})}),e.race.evil&&e.race.maintype&&e.race.maintype==="angelic"&&delete e.race.evil,e.race.imitation&&e.race.srace&&tn(!1),Object.keys(e.tech).forEach(function(d){d.substring(0,4)==="evo_"&&delete e.tech[d]}),delete e.tech.evo,e.evolution={},e.race.ocular_power&&(e.settings.showWish=!0,e.race.ocularPowerConfig={d:!1,p:!1,w:!1,t:!1,f:!1,c:!1,ds:0},Xr());let s=new Date;!e.settings.boring&&s.getMonth()===11&&s.getDate()>=17&&(e.race.species==="elven"?(me("slaver",{set:2}),me("resourceful",{set:.5}),me("small",{set:.25})):e.race.species==="capybara"?(me("beast_of_burden",{set:1}),me("pack_rat",{set:.5}),me("musical",{set:.25})):e.race.species==="centaur"?(me("beast_of_burden",{set:1}),me("curious",{set:.5}),me("blissful",{set:.25})):e.race.species==="wendigo"?(me("immoral",{set:3}),me("cannibalize",{set:.5}),me("claws",{set:.25})):e.race.species==="yeti"?(me("scavenger",{set:3}),me("regenerative",{set:.5}),me("musical",{set:.25})):e.race.species==="entish"&&(me("photosynth",{set:3}),me("optimistic",{set:.5}),me("armored",{set:.25})));let n=ke("easter");e.race.species==="wolven"&&n.active?(me("hyper",{set:1}),me("fast_growth",{set:1}),me("rainbow",{set:1}),me("optimistic",{set:1})):e.race.species==="vulpine"&&n.active&&(me("cannibalize",{set:2}),me("rage",{set:1}),me("blood_thirst",{set:1}),me("sticky",{set:1}));let c=Dt();if(e.race.species==="unicorn"&&c.active?(me("gloomy",{set:1}),me("darkness",{set:1}),delete e.race.rainbow):e.race.species==="human"&&c.active?(me("anthropophagite",{set:1}),me("cannibalize",{set:2}),me("infectious",{set:3})):e.race.species==="tortoisan"&&c.active&&(me("hyper",{set:.25}),me("swift",{set:.5}),me("infiltrator",{set:1}),delete e.race.slow),e.race.no_crispr||e.race.badgenes){let d=e.race.badgenes?3:1;for(let g=0;g10&&J(e.version)>104e3){let g=J(e.version)>104001?2:1;e.race.overtapped=(d-10)*g}}if(e.race.unfathomable)for(e.city.surfaceDwellers=[];e.city.surfaceDwellers.length=2)for(let d=1;d<8;d++)e.genes.evolve>=d+1&&os(d);let u=Gr();e.civic.foreign.gov0.name={s0:u.s0,s1:u.s1};let p=Gr();for(;u.s0===p.s0&&u.s1===p.s1;)p=Gr();e.civic.foreign.gov1.name={s0:p.s0,s1:p.s1};let h=Gr();for(;u.s0===h.s0&&u.s1===h.s1||p.s0===h.s0&&p.s1===h.s1;)h=Gr();if(e.civic.foreign.gov2.name={s0:h.s0,s1:h.s1},e.race.truepath||e.race.lone_survivor){e.civic.foreign.gov0.mil=Math.round(e.civic.foreign.gov0.mil*1.5),e.civic.foreign.gov1.mil=Math.round(e.civic.foreign.gov1.mil*1.4),e.civic.foreign.gov2.mil=Math.round(e.civic.foreign.gov2.mil*1.25),e.civic.foreign.gov3={unrest:0,hstl:Math.floor(T(20,40)),mil:Math.floor(T(650,750)),eco:Math.floor(T(250,300)),spy:0,esp:0,trn:0,sab:0,act:"none"};let d=Gr(!0);e.civic.foreign.gov3.name={s0:d.s0,s1:d.s1},e.civic.foreign.gov4={unrest:0,hstl:100,mil:300,eco:100,spy:0,esp:0,trn:0,sab:0,act:"none"};let g=Gr(!0);for(;g.s1===d.s1;)g=Gr(!0);e.civic.foreign.gov4.name={s0:99,s1:g.s1}}if(e.race.cataclysm?I(t("cataclysm_sentience",[x[e.race.species].home,lt("name")]),"info",!1,["progress"]):I(t("sentience",[t("genelab_genus_"+e.race.maintype),x[e.race.species].entity,lt("name")]),"info",!1,["progress"]),e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=1&&(e.resource.Steel.display=!0,e.resource.Steel.amount=25,e.stats.achieve.technophobe.l>=3)){e.race.truepath||(e.resource.Soul_Gem.display=!0);let d=1;for(let g=1;g=5&&d++;e.resource.Soul_Gem.amount=d}if(e.race.species==="tortoisan"){let d=Math.floor(T(100));d===99?e.race.shell_color="rainbow":d>=97&&d<=98?e.race.shell_color="white":d>=93&&d<=96?e.race.shell_color="red":d>=89&&d<=92?e.race.shell_color="orange":d>=85&&d<=88?e.race.shell_color="yellow":d>=75&&d<=84?e.race.shell_color="purple":d>=65&&d<=74?e.race.shell_color="blue":e.race.shell_color="green"}if(e.race.species==="vulpine"){let d=Math.floor(T(100));d>=85?e.race.fox_color="white":d>=70&&d<=84?e.race.fox_color="tan":d>=55&&d<=69?e.race.fox_color="silver":d>=35&&d<=54?e.race.fox_color="grey":e.race.fox_color="red"}if(xr(!0),e.blood.aware&&(e.settings.arpa.blood=!0,e.tech.b_stone=2),Hi(!0),Wi(),_i(!0),e.race.shapeshifter&&Zr(!1,!0),e.race.carnivore||e.race.soul_eater||e.race.unfathomable?(e.civic.d_job="hunter",e.civic.hunter.display=!0):e.race.forager?(e.civic.d_job="forager",e.civic.forager.display=!0):(e.civic.d_job="unemployed",e.civic.unemployed.display=!0),e.race.hooved&&(e.resource.Horseshoe.display=!0,e.resource.Horseshoe.amount=5,e.race.shoecnt=5),e.race.deconstructor&&(e.resource.Nanite.display=!0,e.city.nanite_factory={count:1,Lumber:0,Chrysotile:0,Stone:0,Crystal:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Water:0,Deuterium:0,Neutronium:0,Adamantite:0,Bolognium:0,Orichalcum:0},e.settings.showIndustry=!0),jt(!0),(e.race.truepath||e.race.lone_survivor)&&Object.keys(da).forEach(function(d){e.resource.hasOwnProperty(d)&&(e.resource[d].value=da[d]*2)}),R(e.race.species,!0),He("sentience",{species:e.race.species,challenge:ft()-1}),e.stats.feat.adept){let d=an();e.resource.Food.amount+=d*100,e.resource.Stone.max+=d*60,e.resource.Stone.amount+=d*100,e.race.smoldering?(e.resource.Chrysotile.max+=d*60,e.resource.Chrysotile.amount+=d*100):(e.resource.Lumber.max+=d*60,e.resource.Lumber.amount+=d*100)}e.race.fasting&&(e.resource.Food.amount=0),e.race.cataclysm?f_():e.race.lone_survivor?_o():e.race.artifical&&m_(),e.settings.tabLoad?(Ht(),Ni(),jr($("#c_garrison"),!1),Ri(),e.race.cataclysm||e.race.lone_survivor?(K($("#r_civics")),_i(),Fe(),Yr("market"),Yr("storage"),Se.hasOwnProperty("resource")&&Object.keys(Se.resource).forEach(function(d){let g=Se.resource[d].color,w=Se.resource[d].tradable;if(Se.resource[d].stackable){var M=$(`
`);$("#resStorage").append(M),Ji(`#stack-${d}`,M,d,g,!0)}if(w){var M=$(`
`);$("#market").append(M),Qi(`#market-${d}`,M,d,g,!0)}}),pi(),Pe("Genetics"),Pe("Crispr"),Pe("Blood")):e.sim&&(Pe("Crispr"),Pe("Blood"))):Ma("mTabCivil"),e.queue.hasOwnProperty("queue")&&(e.queue.queue=[]),(e.race.slow||e.race.hyper||e.race.species==="junker")&&(pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),ge.w&&ge.w.terminate(),window.location.reload())}function p_(){e.race.simulation&&(e.hasOwnProperty("sim")||(e.sim={stats:Re(e.stats),prestige:Re(e.prestige),genes:Re(e.genes),blood:Re(e.blood),pillars:Re(e.pillars),race:Re(e.race)},e.stats={start:Date.now(),days:0,tdays:0},qn(),e.genes={minor:{},challenge:1},e.blood={aware:1},e.pillars={},delete e.race.ancient_ruins,delete e.race.rapid_mutation,delete e.race.corruption,delete e.race.rejuvenated,e.race.ascended=!1,e.race.gods="none",e.race.old_gods="none",["Plasmid","AntiPlasmid","Phage","Dark","Harmony","AICore","Artifact","Blood_Stone"].forEach(function(r){e.prestige[r]={count:Number(e.race.simConfig[r])}})))}function h_(){e.hasOwnProperty("sim")&&(e.stats=Re(e.sim.stats),e.prestige=Re(e.sim.prestige),e.genes=Re(e.sim.genes),e.blood=Re(e.sim.blood),e.pillars=Re(e.sim.pillars),e.race=Re(e.sim.race),delete e.sim,e.race.species="protoplasm",delete e.race.simulation,pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),ge.w&&ge.w.terminate(),window.location.reload())}function m_(){e.race.artifical&&(e.tech.spy=5,e.tech.primitive=3,e.tech.currency=6,e.tech.govern=3,e.tech.boot_camp=1,e.tech.medic=1,e.tech.military=5,e.tech.explosives=3,e.tech.trade=3,e.tech.banking=6,e.tech.home_safe=1,e.tech.housing=3,e.tech.smelting=3,e.tech.copper=1,e.tech.storage=5,e.tech.container=4,e.tech.steel_container=3,e.tech.mining=4,e.tech.pickaxe=2,e.tech.hammer=2,e.tech.oil=3,e.tech.alumina=1,e.tech.titanium=1,e.tech.foundry=7,e.tech.factory=1,e.tech.theatre=3,e.tech.broadcast=1,e.tech.science=7,e.tech.high_tech=4,e.tech.theology=2,e.settings.showIndustry=!0,e.settings.showPowerGrid=!0,e.settings.showResearch=!0,e.settings.showCivic=!0,e.settings.showMil=!0,e.settings.showResources=!0,e.settings.showMarket=!0,e.settings.showStorage=!0,e.resource[e.race.species].display=!0,e.resource.Knowledge.display=!0,e.resource.Money.display=!0,e.resource.Food.display=!0,e.resource.Money.amount=1e3,e.resource.Stone.display=!0,e.resource.Furs.display=!0,e.resource.Copper.display=!0,e.resource.Iron.display=!0,e.resource.Aluminium.display=!0,e.resource.Coal.display=!0,e.resource.Oil.display=!0,e.resource.Steel.display=!0,e.resource.Titanium.display=!0,e.resource.Brick.display=!0,e.resource.Wrought_Iron.display=!0,e.resource.Sheet_Metal.display=!0,e.resource.Crates.display=!0,e.resource.Containers.display=!0,e.race.flier||(e.tech.cement=5,e.resource.Cement.display=!0),!e.race.kindling_kindred&&!e.race.smoldering&&(e.race.evil?(e.tech.reclaimer=3,y(m.city.graveyard),e.city.graveyard.count=1):(e.tech.axe=3,e.tech.saw=2,y(m.city.lumber_yard),e.city.lumber_yard.count=1,y(m.city.sawmill)),e.resource.Lumber.display=!0,e.resource.Plywood.display=!0,e.civic.lumberjack.display=!0),e.race.smoldering&&(e.resource.Chrysotile.display=!0),e.resource[e.race.species].max=0,e.resource[e.race.species].amount=0,e.resource.Crates.amount=10,e.resource.Containers.amount=10,e.civic.taxes.display=!0,e.civic.miner.display=!0,e.civic.coal_miner.display=!0,e.race.sappy||(e.civic.quarry_worker.display=!0),e.civic.professor.display=!0,e.civic.scientist.display=!0,e.race.flier||(e.civic.cement_worker.display=!0),e.civic.banker.display=!0,e.city.calendar.day++,e.city.market.active=!0,e.city.power=7.5,e.city.powered=!0,y(m.city.factory),y(m.city.foundry),y(m.city.smelter),e.city.smelter.count=1,e.city.smelter.Oil=1,e.city.smelter.Iron=1,y(m.city.oil_power),e.city.oil_power.count=1,e.city.oil_power.on=1,y(m.city.coal_power),y(m.city.transmitter),e.city.transmitter.count=1,e.city.transmitter.on=1,y(m.city.mine),e.city.mine.count=1,y(m.city.coal_mine),e.city.coal_mine.count=1,y(m.city.oil_well),e.city.oil_well.count=1,y(m.city.oil_depot),e.city.oil_depot.count=1,y(m.city.cement_plant),e.city.cement_plant.count=1,y(m.city.garrison),y(m.city.boot_camp),y(m.city.basic_housing),y(m.city.cottage),y(m.city.apartment),y(m.city.amphitheatre),y(m.city.rock_quarry),e.city.rock_quarry.count=1,y(m.city.metal_refinery),e.city.metal_refinery.count=1,y(m.city.shed),e.city.shed.count=2,y(m.city.storage_yard),e.city.storage_yard.count=1,y(m.city.warehouse),e.city.warehouse.count=1,y(m.city.trade),y(m.city.wharf),y(m.city.bank),e.city.bank.count=1,y(m.city.university),e.city.university.count=1,y(m.city.library),e.city.library.count=1,y(m.city.wardenclyffe),y(m.city.temple),e.race.calm&&(e.resource.Zen.display=!0,y(m.city.meditation)),e.race.cannibalize&&y(m.city.s_alter),e.race.magnificent&&y(m.city.shrine),e.civic.govern.type="technocracy",e.civic.garrison={display:!0,disabled:!1,progress:0,tactic:0,workers:0,wounded:0,raid:0,max:0},Ht(),ae(),gt())}function f_(){e.race.cataclysm&&(e.tech.unify=2,e.tech.spy=5,e.tech.primitive=3,e.tech.currency=6,e.tech.govern=3,e.tech.boot_camp=1,e.tech.medic=1,e.tech.military=5,e.tech.marines=1,e.tech.explosives=3,e.tech.trade=3,e.tech.wharf=1,e.tech.banking=6,e.tech.gambling=1,e.tech.home_safe=1,e.tech.housing=3,e.tech.smelting=3,e.tech.copper=1,e.tech.storage=5,e.tech.container=4,e.tech.steel_container=3,e.tech.mining=4,e.tech.oil=7,e.tech.mass=1,e.tech.alumina=1,e.tech.titanium=2,e.tech.polymer=2,e.tech.uranium=4,e.tech.foundry=7,e.tech.factory=1,e.tech.theatre=3,e.tech.broadcast=2,e.tech.mine_conveyor=1,e.tech.science=9,e.tech.high_tech=7,e.tech.genetics=1,e.tech.theology=2,e.tech.space=6,e.tech.solar=3,e.tech.luna=2,e.tech.hell=1,e.tech.mars=5,e.tech.gas_giant=1,e.tech.gas_moon=2,e.tech.asteroid=3,e.tech.satellite=1,e.tech.space_explore=4,e.tech.genesis=2,e.settings.showSpace=!0,e.settings.space.home=!0,e.settings.space.moon=!0,e.settings.space.red=!0,e.settings.space.hell=!0,e.settings.space.sun=!0,e.settings.space.gas=!0,e.settings.space.gas_moon=!0,e.settings.space.belt=!0,e.settings.space.dwarf=!0,e.settings.showCity=!1,e.settings.showIndustry=!0,e.settings.showPowerGrid=!0,e.settings.showResearch=!0,e.settings.showCivic=!0,e.settings.showMil=!0,e.settings.showResources=!0,e.settings.showMarket=!0,e.settings.showStorage=!0,e.settings.civTabs=1,e.settings.spaceTabs=1,e.settings.showGenetics=!0,e.settings.arpa.physics=!0,e.resource[e.race.species].display=!0,e.resource.Knowledge.display=!0,e.resource.Money.display=!0,e.resource.Food.display=!0,e.resource.Stone.display=!0,e.resource.Furs.display=!0,e.resource.Copper.display=!0,e.resource.Iron.display=!0,e.resource.Aluminium.display=!0,e.resource.Coal.display=!0,e.resource.Oil.display=!0,e.resource.Uranium.display=!0,e.resource.Steel.display=!0,e.resource.Titanium.display=!0,e.resource.Alloy.display=!0,e.resource.Polymer.display=!0,e.resource.Iridium.display=!0,e.resource.Helium_3.display=!0,e.resource.Brick.display=!0,e.resource.Wrought_Iron.display=!0,e.resource.Sheet_Metal.display=!0,e.resource.Mythril.display=!0,e.resource.Crates.display=!0,e.resource.Containers.display=!0,e.race.flier||(e.resource.Cement.display=!0,e.resource.Cement.max=75e3,e.resource.Cement.amount=75e3),!e.race.kindling_kindred&&!e.race.smoldering&&(e.resource.Lumber.display=!0,e.resource.Plywood.display=!0,e.resource.Lumber.max=9e4,e.resource.Lumber.amount=9e4,e.resource.Plywood.amount=5e4),e.race.smoldering&&(e.resource.Chrysotile.display=!0,e.resource.Chrysotile.max=9e4,e.resource.Chrysotile.amount=9e4),e.resource[e.race.species].max=8,e.resource[e.race.species].amount=8,e.resource.Crates.amount=20,e.resource.Containers.amount=20,e.resource.Money.max=225e3,e.resource.Money.amount=225e3,e.resource.Food.max=1e3,e.resource.Food.amount=1e3,e.resource.Oil.max=1e3,e.resource.Oil.amount=1e3,e.resource.Helium_3.max=1e3,e.resource.Helium_3.amount=1e3,e.resource.Uranium.max=1e3,e.resource.Uranium.amount=1e3,e.resource.Stone.max=9e4,e.resource.Stone.amount=9e4,e.resource.Furs.max=4e4,e.resource.Furs.amount=4e4,e.resource.Copper.max=75e3,e.resource.Copper.amount=75e3,e.resource.Iron.max=75e3,e.resource.Iron.amount=75e3,e.resource.Steel.max=75e3,e.resource.Steel.amount=75e3,e.resource.Aluminium.max=75e3,e.resource.Aluminium.amount=75e3,e.resource.Titanium.max=75e3,e.resource.Titanium.amount=75e3,e.resource.Coal.max=1e4,e.resource.Coal.amount=1e4,e.resource.Alloy.max=2e4,e.resource.Alloy.amount=2e4,e.resource.Polymer.max=2e4,e.resource.Polymer.amount=2e4,e.resource.Iridium.max=1e3,e.resource.Iridium.amount=1e3,e.resource.Brick.amount=5e4,e.resource.Wrought_Iron.amount=5e4,e.resource.Sheet_Metal.amount=5e4,e.resource.Mythril.amount=8e3,e.resource.Iridium.crates=5,e.resource.Iridium.containers=5,e.civic.taxes.display=!0,e.civic.professor.display=!0,e.civic.scientist.display=!0,e.civic.colonist.display=!0,e.civic.space_miner.display=!0,e.civic.craftsman.display=!0,e.race.flier||(e.tech.cement=5,e.civic.cement_worker.display=!0,e.civic.cement_worker.max=E(1),e.civic.cement_worker.workers=E(1)),e.civic.colonist.max=E(4),e.civic.colonist.workers=E(4),e.civic.space_miner.max=E(3),e.civic.space_miner.workers=E(2),e.civic.professor.max=E(1),e.civic.professor.workers=E(1),e.city.calendar.day++,e.city.market.active=!0,e.city.power=0,e.city.powered=!0,e.race.artifical&&y(m.city.transmitter),y(m.city.factory),y(m.city.foundry),y(m.city.smelter),e.city.smelter.cap=2,e.city.smelter.Oil=2,e.city.smelter.Iron=1,e.city.smelter.Steel=1,y(m.city.fission_power),y(m.city.oil_power),y(m.city.coal_power),y(m.city.mass_driver),y(m.city.mine),y(m.city.coal_mine),y(m.city.oil_well),y(m.city.oil_depot),y(m.city.garrison),y(m.city.basic_housing),y(m.city.cottage),y(m.city.apartment),y(m.city.amphitheatre),y(m.city.casino),y(m.city.rock_quarry),y(m.city.metal_refinery),y(m.city.storage_yard),y(m.city.warehouse),y(m.city.trade),y(m.city.wharf),y(m.city.bank),y(m.city.tourist_center),y(m.city.university),y(m.city.library),y(m.city.wardenclyffe),y(m.city.biolab),y(m.city.lumber_yard),y(m.city.sawmill),y(m.city.temple),y(m.space.spc_home.satellite),e.space.satellite.count=1,y(m.space.spc_home.propellant_depot),e.space.propellant_depot.count=1,y(m.space.spc_home.gps),e.space.gps.count=4,y(m.space.spc_home.nav_beacon),e.space.nav_beacon.count=1,e.space.nav_beacon.on=1,y(m.space.spc_moon.moon_base),e.space.moon_base.count=1,e.space.moon_base.on=1,e.space.moon_base.support=3,e.space.moon_base.s_max=3,y(m.space.spc_moon.iridium_mine),e.space.iridium_mine.count=1,e.space.iridium_mine.on=1,y(m.space.spc_moon.helium_mine),e.space.helium_mine.count=1,e.space.helium_mine.on=1,y(m.space.spc_moon.observatory),e.space.observatory.count=1,e.space.observatory.on=1,y(m.space.spc_red.spaceport),e.space.spaceport.count=2,e.space.spaceport.on=2,e.space.spaceport.support=8,e.space.spaceport.s_max=10,y(m.space.spc_red.red_tower),e.space.red_tower.count=1,e.space.red_tower.on=1,y(m.space.spc_red.living_quarters),e.space.living_quarters.count=4,e.space.living_quarters.on=4,y(m.space.spc_red.vr_center),y(m.space.spc_red.garage),e.space.garage.count=1,y(m.space.spc_red.red_mine),e.space.red_mine.count=1,e.space.red_mine.on=1,y(m.space.spc_red.fabrication),e.space.fabrication.count=1,e.space.fabrication.on=1,y(m.space.spc_red.red_factory),e.space.red_factory.count=1,e.space.red_factory.on=1,y(m.space.spc_red.exotic_lab),e.space.exotic_lab.count=1,e.space.exotic_lab.on=1,y(m.space.spc_red.ziggurat),y(m.space.spc_red.space_barracks),e.space.space_barracks.count=1,e.space.space_barracks.on=1,y(m.space.spc_red.biodome),e.space.biodome.count=2,e.space.biodome.on=2,y(m.space.spc_hell.geothermal),e.space.geothermal.count=2,e.space.geothermal.on=2,y(m.space.spc_hell.spc_casino),y(m.space.spc_hell.swarm_plant),y(m.space.spc_sun.swarm_control),e.space.swarm_control.count=5,e.space.swarm_control.support=40,e.space.swarm_control.s_max=50,y(m.space.spc_sun.swarm_satellite),e.space.swarm_satellite.count=40,y(m.space.spc_gas.gas_mining),e.space.gas_mining.count=2,e.space.gas_mining.on=2,y(m.space.spc_gas.gas_storage),e.space.gas_storage.count=1,y(m.space.spc_gas_moon.outpost),y(m.space.spc_gas_moon.drone),y(m.space.spc_gas_moon.oil_extractor),e.space.oil_extractor.count=2,e.space.oil_extractor.on=2,y(m.space.spc_belt.space_station),e.space.space_station.count=1,e.space.space_station.on=1,e.space.space_station.s_max=3,y(m.space.spc_belt.iridium_ship),e.space.iridium_ship.count=1,e.space.iridium_ship.on=1,y(m.space.spc_belt.elerium_ship),y(m.space.spc_belt.iron_ship),e.space.iron_ship.count=1,e.space.iron_ship.on=1,y(m.space.spc_dwarf.elerium_contain),e.civic.garrison={display:!0,disabled:!1,progress:0,tactic:0,workers:2,wounded:0,raid:0,max:2},Ht(),ae(),St(),Pe("Physics"),gt())}function rs(r){switch(x[r].fanaticism){case"smart":e.race.dumb?(os(5),Pe("Genetics")):Xs("smart");break;case"infectious":Xs("infectious"),e.race.species==="human"&&B("infested");break;case"blood_thirst":Xs("blood_thirst"),e.race.species==="entish"&&B("madagascar_tree");break;case"none":os(5),Pe("Genetics");break;default:Xs(x[r].fanaticism);break}}function Xs(r){e.race[r]?me(r)?r==="imitation"?tn(!0):r==="shapeshifter"&&Zr(e.race.ss_genus):(os(5),Pe("Genetics")):(e.race[r]=1,Ka(r))}function Zi(){if(!e.settings.tabLoad&&e.settings.civTabs!==3)return;Nn(),K($("#resQueue")),$("#resQueue").append($(` + `);u.append(d)}if(r.on||r.off){if(r.on){let d=$(``);u.append(d)}if(r.off){let d=$(``);u.append(d)}}else if(r.powered&&e.tech.high_tech&&e.tech.high_tech>=2&&pc(r)||r.switchable&&r.switchable()){let d=$(``),g=$(``);u.append(d),u.append(g)}if(r.count){let d=r.count();d>1&&p.append($(`${d}`))}else a!=="tech"&&e[a]&&e[a][i]&&e[a][i].count>=0?p.append($(``)):a==="blood"&&e[a]&&e[a][r.grant[0]]&&e[a][r.grant[0]]>0&&r.grant[1]==="*"&&p.append($(` ${e[a][r.grant[0]]} `));if(a!=="tech"&&e[a]&&e[a][i]&&typeof e[a][i].repair<"u"&&p.append($('
')),s?$("#oldTech").append(u):$("#"+c).append(u),a!=="tech"&&e[a]&&e[a][i]&&e[a][i].count===0&&($(`#${o} .count`).css("display","none"),$(`#${o} .special`).css("display","none"),$(`#${o} .on`).css("display","none"),$(`#${o} .off`).css("display","none")),r.emblem){let d=r.emblem();u.append($(d))}let h={template:''};C({el:"#"+o,data:{title:typeof r.title=="string"?r.title:r.title(),act:e[a][i]},methods:{action(){"ontouchstart"in document.documentElement&&navigator.userAgent.match(e.settings.touch)||al(r,a,i)},describe(){Ai(e_(r,s))},trigModal(){if(r.sAction&&typeof r.sAction=="function")r.sAction();else{this.$buefy.modal.open({parent:this,component:h});let d=setInterval(function(){$("#modalBox").length>0&&(clearInterval(d),_c(r,i))},50)}},on_label(){return`on: ${e[a][i].on}`},off_label(){return`off: ${e[a][i].count-e[a][i].on}`},power_on(){if(i==="banquet")e[a][i].on=1;else{let d=W();for(let g=0;g0;g++)e[a][i].on--;r.postPower&&setTimeout(function(){r.postPower(!1)},250)},repair(){return e[a][i].repair},repairMax(){return r.repair()}},filters:{val(d){switch(d){case"on":return r.on();case"off":return r.off()}},p_off(d,g){let w=e[a][i].count-d;if(g==="city-casino"&&!e.race.cataclysm&&!e.race.orbit_decayed||g==="space-spc_casino"&&(e.race.cataclysm||e.race.orbit_decayed)||g==="tauceti-tauceti_casino"&&e.tech.isolation){let k=ht(5,12);if(w===0&&k.length>0)return k}else if(g==="city-banquet")return d?0:1;return w},p_on(d,g){if(g==="city-biolab"&&!e.race.cataclysm&&!e.race.orbit_decayed||(e.race.cataclysm||e.race.orbit_decayed)&&g==="space-exotic_lab"||e.tech.isolation&&g==="tauceti-infectious_disease_lab"){let w=ht(12,12);if(d===0&&w.length>0)return w}else if(g==="city-garrison"||g==="space-space_barracks"){let w=mt(1,14,!0);if(d===(g==="city-garrison"?13:0)&&w.length>0)return w}else if(g==="city-banquet")return d?1:0;return d},title(d){return d},options(d){return t("action_options",[d])},count(d,g){return["temple","ziggurat"].includes(g)?Us(g!=="temple"):d}}}),N(o,function(){},{in:function(d){Ra(d.popper,r,e[a][i],s,a,i)},out:function(){C({el:"#popTimer"},"destroy")},attach:a==="starDock"?"body .modal":"#main",wide:r.wide})}function al(r,a,i){if(r.id==="spcdock-launch_ship")r.action();else switch(a){case"tech":if(!(e.settings.qKey&&Nr.q)&&dc(i,!1)&&r.action())Xu(i),r.post&&setTimeout(function(){r.post()},250);else if(!(r.no_queue&&r.no_queue())&&e.tech.r_queue&&e.r_queue.queue.length0){let d=e.settings.qKey?s:1;d>e.queue.max-p&&(d=e.queue.max-p);let g=r.queue_size?r.queue_size:1;if(r.region&&(a=r.id.split("-")[0]),e.settings.q_merge!=="merge_never")e.queue.queue.length>0&&e.queue.queue[e.queue.queue.length-1].id===r.id?e.queue.queue[e.queue.queue.length-1].q+=Math.min(h,g*d):e.queue.queue.push({id:r.id,action:a,type:i,label:typeof r.title=="string"?r.title:r.title(),cna:!1,time:0,q:Math.min(h,g*d),qs:g,t_max:0,bres:!1});else for(let w=0;w0;w++)e.queue.queue.push({id:r.id,action:a,type:i,label:typeof r.title=="string"?r.title:r.title(),cna:!1,time:0,q:Math.min(h,g),qs:g,t_max:0,bres:!1}),h-=g;c=!0}}break}else e.race.inflation&&e.tech.primitive&&(!r.hasOwnProperty("inflation")||r.inflation)&&e.race.inflation++;n=!0}if(n&&(Yu(r,a,i),e.tech.queue&&r.queue_complete)){let l=r.queue_complete();for(let u=0,p=0;pl?(h.q=l,l=0):l-=h.q)}}c&&ka();break}}}function Yu(r,a,i){if(!_r(r)){let s=r.id;$(`#${s}`).addClass("cna")}if(r.grant){let s=r.grant[0];(!e.tech[s]||e.tech[s]0,n=!s,c=e.race.hasOwnProperty("governor")&&e.race.governor.hasOwnProperty("tasks")&&e.race.hasOwnProperty("replicator")&&Object.values(e.race.governor.tasks).includes("replicate")&&e.race.governor.config.replicate.pow.on&&e.race.replicator.pow>0;if(s&&e.city.hasOwnProperty("powered")){let u=e.city.power;c&&(u+=e.race.replicator.pow),n=r.powered()<=u}let o=r.hasOwnProperty("s_type")&&r.hasOwnProperty("support")&&r.support()<0,l=!o;if(o){let u=Jr(),p=u[r.s_type].r,h=u[r.s_type].rs;l=e[p][h].support-r.support()<=e[p][h].s_max}return n&&l||e.settings.alwaysPower?(e[i[0]][i[1]].on++,s&&(e.city.power-=r.powered(),c&&dr.replicate.task()),a&&typeof a=="function"?a(r):!0):!1}function e_(r,a){let i=typeof r.desc=="string"?r.desc:r.desc();if(i=i+". ",r.cost&&!a){_r(r)?i=i+t("affordable")+". ":i=i+t("not_affordable")+". ",i=i+"Costs: ";let n=r.id.split("-")[0];var s=n!=="genes"&&n!=="blood"?Ct(r):r.cost;Object.keys(s).forEach(function(c){if(c==="Custom"){let o=s[c]();i=i+o.label}else if(c==="Structs"){let o=s[c]();Object.keys(o).forEach(function(l){Object.keys(o[l]).forEach(function(u){let p="";if(o[l][u].hasOwnProperty("s")){let h=o[l][u].s;p=typeof m[l][h][u].title=="string"?m[l][h][u].title:m[l][h][u].title()}else p=typeof m[l][u].title=="string"?m[l][u].title:m[l][u].title();i=i+`${p}. `,e[l][u]?o[l][u].count>e[l][u].count?i=i+`${t("insufficient")} ${p}. `:o[l][u].hasOwnProperty("on")&&o[l][u].on>e[l][u].on&&(i=i+`${t("insufficient")} ${p} enabled. `):i=i+`${t("insufficient")} ${p}. `})})}else if(e.prestige.hasOwnProperty(c)){let o=s[c]();if(o>0){c==="Plasmid"&&e.race.universe==="antimatter"&&(c="AntiPlasmid");let l=t(`resource_${c}_name`);i=i+`${l}: ${o}. `,e.prestige[c].count0){let l=t(`resource_${c}_name`);i=i+`${l}: ${o}. `,e.portal.purifier.supply0){let u=l==="Money"?"$":e.resource[l].name+": ";u=u.replace("_"," ");let p=X(o,1);i=i+`${u}${p}. `,e.resource[l].amount${a.hasOwnProperty("touchlabel")?a.touchlabel:t("construct")}`),r.append(u),$("#touchButton").on("touchstart",function(){al(a,n,c)})),r.append($(`
${l}
`));let p=a.id.split("-")[0];a.category&&p==="tech"&&!s&&r.append($(`
${t("tech_dist_category")}: ${t(`tech_dist_${a.category}`)}
`));let h=li(a,!1,!0);if(a.cost&&!s){let M=!0;var d=$('
'),g=p!=="genes"&&p!=="blood"?Ct(a):a.cost;Object.keys(g).forEach(function(q){if(q==="Custom"){let P=g[q]();d.append($(`
${P.label}
`)),M=!1}else if(q==="Structs"){let P=g[q]();Object.keys(P).forEach(function(O){Object.keys(P[O]).forEach(function(U){let Z=P[O][U].hasOwnProperty("on")?P[O][U].on:P[O][U].count,z="has-text-dark",Y="";e[O][U]?P[O][U].count>e[O][U].count?(z="has-text-danger",Y=' (blocking resource)'):P[O][U].hasOwnProperty("on")&&P[O][U].on>e[O][U].on&&(z="has-text-alert"):(z="has-text-danger",Y=' (blocking resource)');let tt="";if(P[O][U].hasOwnProperty("s")){let it=P[O][U].s;tt=typeof m[O][it][U].title=="string"?m[O][it][U].title:m[O][it][U].title()}else tt=typeof m[O][U].title=="string"?m[O][U].title:m[O][U].title();M=!1,d.append($(`
${tt}: ${Z}${Y}
`))})})}else if(e.prestige.hasOwnProperty(q)){let P=g[q]();if(P>0){q==="Plasmid"&&e.race.universe==="antimatter"&&(q="AntiPlasmid");let O=t(`resource_${q}_name`),U="has-text-dark",Z="";e.prestige[q].count(blocking resource)'),M=!1,d.append($(`
${O}: ${P}${Z}
`))}}else if(q==="Supply"){let P=g[q]();if(P>0){let O=t(`resource_${q}_name`),U="has-text-dark",Z="";e.portal.purifier.supply(blocking resource)'),M=!1,d.append($(`
${O}: ${P}${Z}
`))}}else if(q!=="Morale"&&q!=="Army"&&q!=="Bool"){let P=g[q]();if(P>0){let O="",U=q==="Species"?e.race.species:q;if(q==="HellArmy"){let Z=t("fortress_troops"),z="has-text-dark";e.portal.fortress.garrison-e.portal.fortress.patrols*e.portal.fortress.patrol_size(blocking resource)'):z="has-text-alert"),M=!1,d.append($(`
${Z}: ${P}${O}
`))}else if(q==="Troops"){let Z=e.tech.world_control&&!e.race.truepath?t("civics_garrison_peacekeepers"):t("civics_garrison_soldiers"),z="has-text-dark";we()(blocking resource)'):z="has-text-alert"),M=!1,d.append($(`
${Z}: ${P}${O}
`))}else{let Z=U==="Money"?"$":e.resource[U].name+": ";Z=Z.replace("_"," ");let z="has-text-dark",Y="";e.resource[U].amount(blocking resource)'):z="has-text-alert",o&&o!==q&&h.r===U?(z+=" grad-from-left",Y=' (first blocking resource)'):o&&o===q&&h.r!==U&&(z+=" grad-from-left-warn")):o&&o===q&&(z+=" grad-from-right",Y=' (last blocking resource)');let tt=X(P,1);M=!1,d.append($(`
${Z}${tt}${Y}
`))}}}}),M||r.append(d)}if(a.effect){var w=typeof a.effect=="string"?a.effect:a.effect();w&&r.append($(`
${w}
`))}if(a.flair){var k=typeof a.flair=="string"?a.flair:a.flair();r.append($(`
${k}
`)),r.addClass("flair")}if(a.reqs){let M=[];if(Object.keys(a.reqs).forEach(function(q){let P=$(`#${a.id}`).attr(`data-req-${q}`);P&&M.push(typeof m.tech[P].title=="string"?m.tech[P].title:m.tech[P].title())}),M.length>0){let q=M.join(", ");r.append($(`
${t("requires_tech",[q])}
`))}}if(!s&&a.id.substring(0,5)!=="blood"&&!_r(a)&&_r(a,!0)){if(typeof i=="string"&&i==="notimer")return;if(i&&i.time)r.append($('
{{ time | timer }}
')),C({el:"#popTimer",data:i,filters:{timer(M){return t("action_ready",[M])}}});else{let M=ut(h.t);r.append($(`
${t("action_ready",[M])}
`))}}(a.id==="portal-spire"||a.id==="portal-waygate"&&e.tech.waygate>=2)&&i&&i.time&&(r.append($('
{{ time | timer }}
')),C({el:"#popTimer",data:i,filters:{timer(M){let q=!a.hasOwnProperty("mscan")||a.hasOwnProperty("mscan")&&a.mscan()>0?M:"???";return t("floor_clearing",[q])}}})),a.id==="portal-devilish_dish"&&i&&i.time&&(r.append($('
{{ time | timer }}
')),C({el:"#popTimer",data:i,filters:{timer(M){let q=!a.hasOwnProperty("mscan")||a.hasOwnProperty("mscan")&&a.mscan()>0?M:"???";return t("action_done",[q])}}}))}function na(r){K($(`#${r}`),!0),ue(r)}function es(r,a,i){var s=r.id;e[a]&&e[a][i]&&e[a][i].count&&($(`#${s} .count`).html(e[a][i].count),e[a][i]&&e[a][i].count>0&&($(`#${s} .count`).css("display","inline-block"),$(`#${s} .special`).css("display","block"),$(`#${s} .on`).css("display","block"),$(`#${s} .off`).css("display","block"))),$("#popper").data("id")===s&&Ra($("#popper"),r,e[a][i],!1,a,i)}function _(r,a){return a=a||Ct(r),vs(a)?(Object.keys(a).forEach(function(i){if(e.prestige.hasOwnProperty(i)){let s=a[i]();i==="Plasmid"&&e.race.universe==="antimatter"&&(i="AntiPlasmid"),e.prestige[i].count-=s}else if(i==="Supply"){let s=a[i]();e.portal.purifier.supply-=s}else if(i!=="Morale"&&i!=="Army"&&i!=="HellArmy"&&i!=="Troops"&&i!=="Structs"&&i!=="Bool"&&i!=="Custom"){let s=a[i](),n=i==="Species"?e.race.species:i;e.resource[n].amount-=s,n==="Knowledge"&&(e.stats.know+=s)}}),!0):!1}function _r(r,a,i){if(r.cost){let s=i?r.cost:Ct(r);return a?t_(s):vs(s)}return!0}function Us(r){if(!r&&e.city.temple){let a=e.city.temple.count;return e.race.wish&&e.race.wishStats&&e.race.wishStats.temple&&a++,e.genes.hasOwnProperty("ancients")&&e.genes.ancients>=6&&a++,a}else if(r&&e.space.ziggurat){let a=e.space.ziggurat.count;return e.race.wish&&e.race.wishStats&&e.race.wishStats.zigg&&a++,e.genes.hasOwnProperty("ancients")&&e.genes.ancients>=7&&a++,a}return 0}function t_(r){var a=!0;return Object.keys(r).forEach(function(i){if(i!=="Custom")if(i==="Structs"){if(!il(r[i]())){a=!1;return}}else if(e.prestige.hasOwnProperty(i)){let n=i;if(i==="Plasmid"&&e.race.universe==="antimatter"&&(i="AntiPlasmid"),e.prestige[i].count"u"||e.portal.fortress.garrison-e.portal.fortress.patrols*e.portal.fortress.patrol_size0||e.resource[n].max>=0&&s>Number(e.resource[n].max)&&Number(e.resource[n].max)!==-1){a=!1;return}}}),a}function vs(r){var a=!0;return Object.keys(r).forEach(function(i){if(i==="Custom"){if(!r[i]().met){a=!1;return}}else if(i==="Structs"){if(!il(r[i]())){a=!1;return}}else if(e.prestige.hasOwnProperty(i)){let n=i;if(i==="Plasmid"&&e.race.universe==="antimatter"&&(i="AntiPlasmid"),e.prestige[i].count"u"||e.portal.fortress.garrison-e.portal.fortress.patrols*e.portal.fortress.patrol_size=0&&s>e.resource[n].max;if(s>Number(e.resource[n].amount)+e.resource[n].diff||c){a=!1;return}}}),a}function il(r){let a=!0;return Object.keys(r).forEach(function(i){if(e.hasOwnProperty(i))Object.keys(r[i]).forEach(function(s){if(e[i].hasOwnProperty(s)){if(e[i][s].count=7&&(r*=.92**e.tech.nexus),r}function De(r){let a=Q("dirty_jobs",0);return a&&(r-=a),r}function a_(){let r=$('
');$("#evolution").append(r),r.append($(`

${t("evo_challenge_genes")}

`)),r.append($(`
${t("evo_challenge_genes_desc")}
`)),e.genes.challenge&&e.genes.challenge>=2&&r.append($(`
${t("evo_challenge_genes_mastery")}
`))}function i_(){let r=$('
');$("#evolution").append(r),r.append($(`

${t("evo_challenge_run")}

`)),r.append($(`
${t("evo_challenge_run_desc")}
`))}function s_(){let r=$('
');$("#evolution").append(r),r.append($(`

${t("evo_scenario")}

`)),r.append($(`
${t("evo_scenario_desc")}
`))}function n_(){let r=$('
');$("#evolution").append(r),r.append($(`

${t("evo_challenge_simulation")}

`)),r.append($(`
${t("evo_challenge_simulation_desc")}
`)),r.append($(``)),C({el:"#simSection",data:{},methods:{exitsim(){h_()}}})}function c_(){let r=$('
');$("#evolution").append(r),r.append($(`

${t("evo_challenge_simulation")}

`)),r.append($(`
${t("evo_challenge_simulation_desc")}
`));let a=$($('
'));r.append(a),e.race.simConfig||(e.race.simConfig={}),["Plasmid","AntiPlasmid","Phage","Dark","Harmony","AICore","Artifact","Blood_Stone"].forEach(function(i){e.race.simConfig[i]=e.race.simConfig[i]||0,a.append($(`
${t(`resource_${i}_name`)}
`))}),C({el:"#simSection",data:e.race.simConfig})}function _c(r,a){let i=typeof r.title=="string"?r.title:r.title();$("#modalBox").append($(`

${i}

`));var s=$('
');switch($("#modalBox").append(s),a){case"smelter":case"hell_smelter":case"stellar_forge":case"hell_forge":case"sacred_smelter":case"geothermal":case"ore_refinery":bt("smelter",s);break;case"factory":case"red_factory":case"int_factory":case"tau_factory":bt("factory",s);break;case"star_dock":o_(s);break;case"mining_droid":bt("droid",s);break;case"g_factory":case"refueling_station":bt("graphene",s);break;case"freighter":case"super_freighter":nc(s);break;case"pylon":bt("pylon",s);break;case"rock_quarry":bt("rock_quarry",s);break;case"titan_mine":bt("titan_mine",s);break;case"mining_ship":bt("mining_ship",s);break;case"alien_space_station":bt("alien_space_station",s);break;case"nanite_factory":bt("nanite_factory",s);break;case"alien_outpost":bt("replicator",s);break;case"mech_station":bt("mech_station",s);break}}function o_(r){if(e.tech.genesis<4){let s=$(`
${t("stardock_warn")}
`);r.append(s);return}let a=$('
');r.append(a);let i=m.starDock.probes;if(er(i,"starDock","probes"),e.tech.geck&&e.stats.achieve.lamentis&&e.stats.achieve.lamentis.l>=5){let s=m.starDock.geck;er(s,"starDock","geck")}if(e.tech.genesis>=5){let s=m.starDock.seeder;er(s,"starDock","seeder")}if(e.tech.genesis===6){let s=m.starDock.prep_ship;er(s,"starDock","prep_ship")}if(e.tech.genesis>=7){let s=m.starDock.launch_ship;er(s,"starDock","launch_ship")}}function sl(){K($("#evolution .evolving"),!0);let r=$(`
${e.evolution.final}%
`);$("#evolution").append(r)}function Kt(){return e.race.universe==="magic"?t("city_wizard_tower_title"):e.race.evil?t("city_babel_title"):t("city_wardenclyffe")}function l_(){if(ke("halloween").active)return t("events_halloween_basic_house");switch(e.race.species){case"orc":return t("city_basic_housing_orc_title");case"wolven":return t("city_basic_housing_wolven_title");case"sporgar":return t("city_basic_housing_sporgar_title");case"dracnid":return t("city_basic_housing_title7");case"balorg":return t("city_basic_housing_title7");case"imp":return t("city_basic_housing_title8");case"seraph":return t("city_basic_housing_seraph_title");case"unicorn":return t("city_basic_housing_unicorn_title")}switch(e.race.maintype||x[e.race.species].type){case"avian":return t("city_basic_housing_nest_title");case"plant":return t("city_basic_housing_entish_title");case"sand":return t("city_basic_housing_sand_title");case"polar":return t("city_basic_housing_polar_title");case"eldritch":return t("city_basic_housing_eldritch_title")}return e.city.ptrait.includes("trashed")?t("city_basic_housing_trash_title"):t("city_basic_housing_title")}function u_(){if(ke("halloween").active)return t("events_halloween_medium_house");switch(e.race.species){case"sporgar":return t("city_cottage_title2");case"balorg":return t("city_cottage_title3");case"imp":return t("city_basic_housing_title7");case"seraph":return t("city_cottage_title4");case"unicorn":return t("city_cottage_title5");case"dracnid":return t("city_cottage_title7")}switch(e.race.maintype||x[e.race.species].type){case"avian":return t("city_cottage_title6");case"eldritch":return t("city_cottage_title8")}return t("city_cottage_title1")}function __(r){if(ke("halloween").active)return t("events_halloween_large_house");if(!r&&Q("extravagant",0))return t("city_mansion");switch(e.race.species){case"sporgar":return t("city_apartment_title2")}switch(e.race.maintype||x[e.race.species].type){case"avian":return t("city_apartment_title5");case"sand":return t("city_apartment_title6");case"demonic":return t("city_apartment_title3");case"angelic":return t("city_apartment_title4");case"giant":return t("city_apartment_title7");case"eldritch":return t("city_apartment_title8")}return t("city_apartment_title1")}function Oe(r,a){switch(r){case"small":return l_();case"medium":return u_();case"large":return __(a)}}function Ce(r){let a=ke("halloween");switch(r){case"casino":return a.active?t("events_halloween_casino"):t("city_casino");case"farm":return a.active?t("events_halloween_farm"):t("city_farm");case"dormitory":return a.active?t("events_halloween_dorm"):t("galaxy_dormitory");case"mine":return a.active?t("events_halloween_mine"):t("city_mine");case"coal_mine":return a.active?t("events_halloween_coal_mine"):t("city_coal_mine");case"lumberyard":return a.active?t("events_halloween_lumberyard"):t("city_lumber_yard");case"sawmill":return a.active?t("events_halloween_sawmill"):t("city_sawmill");case"hospital":return a.active?t("events_halloween_hospital"):t("city_hospital");case"windmill":return a.active?t("events_halloween_windmill"):t("city_mill_title2");case"factory":return a.active?t("events_halloween_factory"):t("city_factory");case"storage_yard":return a.active?t("events_halloween_storage_yard"):t("city_storage_yard");case"temple":return a.active?t("events_halloween_temple"):t("city_temple")}}function Lr(r,a){if(e.tech.queue&&e.queue.display){let i=["space","interstellar","galaxy","portal","tauceti"];for(let s=0;s-1)if(i.includes(n.action)){let c=!0;Object.keys(m[n.action]).forEach(function(o){m[n.action][o][n.type]&&c&&(e.queue.queue[s].label=typeof m[n.action][o][n.type].title=="string"?m[n.action][o][n.type].title:m[n.action][o][n.type].title(),c=!1)})}else m[n.action][n.type]&&(e.queue.queue[s].label=typeof m[n.action][n.type].title=="string"?m[n.action][n.type].title:m[n.action][n.type].title())}}if(r&&e.tech.r_queue&&e.r_queue.display)for(let i=0;i1)return e.race.evoFinalMenu=r,As(),!0;e.race.species=r,en()}function en(){e.race.simulation&&p_(),e.sim&&(e.settings.showGenetics=!0,e.settings.arpa.physics=!1,e.settings.arpa.crispr=!0,e.settings.arpa.arpaTabs=2),e.resource.hasOwnProperty("RNA")&&(e.resource.RNA.display=!1),e.resource.hasOwnProperty("DNA")&&(e.resource.DNA.display=!1),(e.race.species==="junker"||e.race.species==="sludge"||e.race.species==="ultra_sludge")&&nl(),e.race.species!=="junker"&&delete e.race.junker,e.race.species!=="sludge"&&delete e.race.sludge,e.race.species!=="ultra_sludge"&&delete e.race.ultra_sludge;for(var r=["rna","dna","membrane","organelles","nucleus","eukaryotic_cell","mitochondria"],a=0;a=2?(e.race.maintype=d,me(g,{set:xt[d][g]}),e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=4&&me(g)):(me(g,{set:xt[d][g]}),me(g,{down:!0}))})}),Object.keys(x[e.race.species].traits).forEach(function(d){me(d,{set:x[e.race.species].traits[d]})}),e.race.evil&&e.race.maintype&&e.race.maintype==="angelic"&&delete e.race.evil,e.race.imitation&&e.race.srace&&tn(!1),Object.keys(e.tech).forEach(function(d){d.substring(0,4)==="evo_"&&delete e.tech[d]}),delete e.tech.evo,e.evolution={},e.race.ocular_power&&(e.settings.showWish=!0,e.race.ocularPowerConfig={d:!1,p:!1,w:!1,t:!1,f:!1,c:!1,ds:0},Xr());let s=new Date;!e.settings.boring&&s.getMonth()===11&&s.getDate()>=17&&(e.race.species==="elven"?(me("slaver",{set:2}),me("resourceful",{set:.5}),me("small",{set:.25})):e.race.species==="capybara"?(me("beast_of_burden",{set:1}),me("pack_rat",{set:.5}),me("musical",{set:.25})):e.race.species==="centaur"?(me("beast_of_burden",{set:1}),me("curious",{set:.5}),me("blissful",{set:.25})):e.race.species==="wendigo"?(me("immoral",{set:3}),me("cannibalize",{set:.5}),me("claws",{set:.25})):e.race.species==="yeti"?(me("scavenger",{set:3}),me("regenerative",{set:.5}),me("musical",{set:.25})):e.race.species==="entish"&&(me("photosynth",{set:3}),me("optimistic",{set:.5}),me("armored",{set:.25})));let n=ke("easter");e.race.species==="wolven"&&n.active?(me("hyper",{set:1}),me("fast_growth",{set:1}),me("rainbow",{set:1}),me("optimistic",{set:1})):e.race.species==="vulpine"&&n.active&&(me("cannibalize",{set:2}),me("rage",{set:1}),me("blood_thirst",{set:1}),me("sticky",{set:1}));let c=Dt();if(e.race.species==="unicorn"&&c.active?(me("gloomy",{set:1}),me("darkness",{set:1}),delete e.race.rainbow):e.race.species==="human"&&c.active?(me("anthropophagite",{set:1}),me("cannibalize",{set:2}),me("infectious",{set:3})):e.race.species==="tortoisan"&&c.active&&(me("hyper",{set:.25}),me("swift",{set:.5}),me("infiltrator",{set:1}),delete e.race.slow),e.race.no_crispr||e.race.badgenes){let d=e.race.badgenes?3:1;for(let g=0;g10&&J(e.version)>104e3){let g=J(e.version)>104001?2:1;e.race.overtapped=(d-10)*g}}if(e.race.unfathomable)for(e.city.surfaceDwellers=[];e.city.surfaceDwellers.length=2)for(let d=1;d<8;d++)e.genes.evolve>=d+1&&os(d);let u=Gr();e.civic.foreign.gov0.name={s0:u.s0,s1:u.s1};let p=Gr();for(;u.s0===p.s0&&u.s1===p.s1;)p=Gr();e.civic.foreign.gov1.name={s0:p.s0,s1:p.s1};let h=Gr();for(;u.s0===h.s0&&u.s1===h.s1||p.s0===h.s0&&p.s1===h.s1;)h=Gr();if(e.civic.foreign.gov2.name={s0:h.s0,s1:h.s1},e.race.truepath||e.race.lone_survivor){e.civic.foreign.gov0.mil=Math.round(e.civic.foreign.gov0.mil*1.5),e.civic.foreign.gov1.mil=Math.round(e.civic.foreign.gov1.mil*1.4),e.civic.foreign.gov2.mil=Math.round(e.civic.foreign.gov2.mil*1.25),e.civic.foreign.gov3={unrest:0,hstl:Math.floor(T(20,40)),mil:Math.floor(T(650,750)),eco:Math.floor(T(250,300)),spy:0,esp:0,trn:0,sab:0,act:"none"};let d=Gr(!0);e.civic.foreign.gov3.name={s0:d.s0,s1:d.s1},e.civic.foreign.gov4={unrest:0,hstl:100,mil:300,eco:100,spy:0,esp:0,trn:0,sab:0,act:"none"};let g=Gr(!0);for(;g.s1===d.s1;)g=Gr(!0);e.civic.foreign.gov4.name={s0:99,s1:g.s1}}if(e.race.cataclysm?I(t("cataclysm_sentience",[x[e.race.species].home,lt("name")]),"info",!1,["progress"]):I(t("sentience",[t("genelab_genus_"+e.race.maintype),x[e.race.species].entity,lt("name")]),"info",!1,["progress"]),e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=1&&(e.resource.Steel.display=!0,e.resource.Steel.amount=25,e.stats.achieve.technophobe.l>=3)){e.race.truepath||(e.resource.Soul_Gem.display=!0);let d=1;for(let g=1;g=5&&d++;e.resource.Soul_Gem.amount=d}if(e.race.species==="tortoisan"){let d=Math.floor(T(100));d===99?e.race.shell_color="rainbow":d>=97&&d<=98?e.race.shell_color="white":d>=93&&d<=96?e.race.shell_color="red":d>=89&&d<=92?e.race.shell_color="orange":d>=85&&d<=88?e.race.shell_color="yellow":d>=75&&d<=84?e.race.shell_color="purple":d>=65&&d<=74?e.race.shell_color="blue":e.race.shell_color="green"}if(e.race.species==="vulpine"){let d=Math.floor(T(100));d>=85?e.race.fox_color="white":d>=70&&d<=84?e.race.fox_color="tan":d>=55&&d<=69?e.race.fox_color="silver":d>=35&&d<=54?e.race.fox_color="grey":e.race.fox_color="red"}if(xr(!0),e.blood.aware&&(e.settings.arpa.blood=!0,e.tech.b_stone=2),Hi(!0),Wi(),_i(!0),e.race.shapeshifter&&Zr(!1,!0),e.race.carnivore||e.race.soul_eater||e.race.unfathomable?(e.civic.d_job="hunter",e.civic.hunter.display=!0):e.race.forager?(e.civic.d_job="forager",e.civic.forager.display=!0):(e.civic.d_job="unemployed",e.civic.unemployed.display=!0),e.race.hooved&&(e.resource.Horseshoe.display=!0,e.resource.Horseshoe.amount=5,e.race.shoecnt=5),e.race.deconstructor&&(e.resource.Nanite.display=!0,e.city.nanite_factory={count:1,Lumber:0,Chrysotile:0,Stone:0,Crystal:0,Furs:0,Copper:0,Iron:0,Aluminium:0,Cement:0,Coal:0,Oil:0,Uranium:0,Steel:0,Titanium:0,Alloy:0,Polymer:0,Iridium:0,Helium_3:0,Water:0,Deuterium:0,Neutronium:0,Adamantite:0,Bolognium:0,Orichalcum:0},e.settings.showIndustry=!0),jt(!0),(e.race.truepath||e.race.lone_survivor)&&Object.keys(da).forEach(function(d){e.resource.hasOwnProperty(d)&&(e.resource[d].value=da[d]*2)}),R(e.race.species,!0),He("sentience",{species:e.race.species,challenge:ft()-1}),e.stats.feat.adept){let d=an();e.resource.Food.amount+=d*100,e.resource.Stone.max+=d*60,e.resource.Stone.amount+=d*100,e.race.smoldering?(e.resource.Chrysotile.max+=d*60,e.resource.Chrysotile.amount+=d*100):(e.resource.Lumber.max+=d*60,e.resource.Lumber.amount+=d*100)}e.race.fasting&&(e.resource.Food.amount=0),e.race.cataclysm?f_():e.race.lone_survivor?_o():e.race.artifical&&m_(),e.settings.tabLoad?(Ht(),Ni(),jr($("#c_garrison"),!1),Ri(),e.race.cataclysm||e.race.lone_survivor?(K($("#r_civics")),_i(),Fe(),Yr("market"),Yr("storage"),Se.hasOwnProperty("resource")&&Object.keys(Se.resource).forEach(function(d){let g=Se.resource[d].color,w=Se.resource[d].tradable;if(Se.resource[d].stackable){var M=$(`
`);$("#resStorage").append(M),Ji(`#stack-${d}`,M,d,g,!0)}if(w){var M=$(`
`);$("#market").append(M),Qi(`#market-${d}`,M,d,g,!0)}}),pi(),Pe("Genetics"),Pe("Crispr"),Pe("Blood")):e.sim&&(Pe("Crispr"),Pe("Blood"))):Ma("mTabCivil"),e.queue.hasOwnProperty("queue")&&(e.queue.queue=[]),(e.race.slow||e.race.hyper||e.race.species==="junker")&&(pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),ge.w&&ge.w.terminate(),window.location.reload())}function p_(){e.race.simulation&&(e.hasOwnProperty("sim")||(e.sim={stats:Re(e.stats),prestige:Re(e.prestige),genes:Re(e.genes),blood:Re(e.blood),pillars:Re(e.pillars),race:Re(e.race)},e.stats={start:Date.now(),days:0,tdays:0},qn(),e.genes={minor:{},challenge:1},e.blood={aware:1},e.pillars={},delete e.race.ancient_ruins,delete e.race.rapid_mutation,delete e.race.corruption,delete e.race.rejuvenated,e.race.ascended=!1,e.race.gods="none",e.race.old_gods="none",["Plasmid","AntiPlasmid","Phage","Dark","Harmony","AICore","Artifact","Blood_Stone"].forEach(function(r){e.prestige[r]={count:Number(e.race.simConfig[r])}})))}function h_(){e.hasOwnProperty("sim")&&(e.stats=Re(e.sim.stats),e.prestige=Re(e.sim.prestige),e.genes=Re(e.sim.genes),e.blood=Re(e.sim.blood),e.pillars=Re(e.sim.pillars),e.race=Re(e.sim.race),delete e.sim,e.race.species="protoplasm",delete e.race.simulation,pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(e))),ge.w&&ge.w.terminate(),window.location.reload())}function m_(){e.race.artifical&&(e.tech.spy=5,e.tech.primitive=3,e.tech.currency=6,e.tech.govern=3,e.tech.boot_camp=1,e.tech.medic=1,e.tech.military=5,e.tech.explosives=3,e.tech.trade=3,e.tech.banking=6,e.tech.home_safe=1,e.tech.housing=3,e.tech.smelting=3,e.tech.copper=1,e.tech.storage=5,e.tech.container=4,e.tech.steel_container=3,e.tech.mining=4,e.tech.pickaxe=2,e.tech.hammer=2,e.tech.oil=3,e.tech.alumina=1,e.tech.titanium=1,e.tech.foundry=7,e.tech.factory=1,e.tech.theatre=3,e.tech.broadcast=1,e.tech.science=7,e.tech.high_tech=4,e.tech.theology=2,e.settings.showIndustry=!0,e.settings.showPowerGrid=!0,e.settings.showResearch=!0,e.settings.showCivic=!0,e.settings.showMil=!0,e.settings.showResources=!0,e.settings.showMarket=!0,e.settings.showStorage=!0,e.resource[e.race.species].display=!0,e.resource.Knowledge.display=!0,e.resource.Money.display=!0,e.resource.Food.display=!0,e.resource.Money.amount=1e3,e.resource.Stone.display=!0,e.resource.Furs.display=!0,e.resource.Copper.display=!0,e.resource.Iron.display=!0,e.resource.Aluminium.display=!0,e.resource.Coal.display=!0,e.resource.Oil.display=!0,e.resource.Steel.display=!0,e.resource.Titanium.display=!0,e.resource.Brick.display=!0,e.resource.Wrought_Iron.display=!0,e.resource.Sheet_Metal.display=!0,e.resource.Crates.display=!0,e.resource.Containers.display=!0,e.race.flier||(e.tech.cement=5,e.resource.Cement.display=!0),!e.race.kindling_kindred&&!e.race.smoldering&&(e.race.evil?(e.tech.reclaimer=3,y(m.city.graveyard),e.city.graveyard.count=1):(e.tech.axe=3,e.tech.saw=2,y(m.city.lumber_yard),e.city.lumber_yard.count=1,y(m.city.sawmill)),e.resource.Lumber.display=!0,e.resource.Plywood.display=!0,e.civic.lumberjack.display=!0),e.race.smoldering&&(e.resource.Chrysotile.display=!0),e.resource[e.race.species].max=0,e.resource[e.race.species].amount=0,e.resource.Crates.amount=10,e.resource.Containers.amount=10,e.civic.taxes.display=!0,e.civic.miner.display=!0,e.civic.coal_miner.display=!0,e.race.sappy||(e.civic.quarry_worker.display=!0),e.civic.professor.display=!0,e.civic.scientist.display=!0,e.race.flier||(e.civic.cement_worker.display=!0),e.civic.banker.display=!0,e.city.calendar.day++,e.city.market.active=!0,e.city.power=7.5,e.city.powered=!0,y(m.city.factory),y(m.city.foundry),y(m.city.smelter),e.city.smelter.count=1,e.city.smelter.Oil=1,e.city.smelter.Iron=1,y(m.city.oil_power),e.city.oil_power.count=1,e.city.oil_power.on=1,y(m.city.coal_power),y(m.city.transmitter),e.city.transmitter.count=1,e.city.transmitter.on=1,y(m.city.mine),e.city.mine.count=1,y(m.city.coal_mine),e.city.coal_mine.count=1,y(m.city.oil_well),e.city.oil_well.count=1,y(m.city.oil_depot),e.city.oil_depot.count=1,y(m.city.cement_plant),e.city.cement_plant.count=1,y(m.city.garrison),y(m.city.boot_camp),y(m.city.basic_housing),y(m.city.cottage),y(m.city.apartment),y(m.city.amphitheatre),y(m.city.rock_quarry),e.city.rock_quarry.count=1,y(m.city.metal_refinery),e.city.metal_refinery.count=1,y(m.city.shed),e.city.shed.count=2,y(m.city.storage_yard),e.city.storage_yard.count=1,y(m.city.warehouse),e.city.warehouse.count=1,y(m.city.trade),y(m.city.wharf),y(m.city.bank),e.city.bank.count=1,y(m.city.university),e.city.university.count=1,y(m.city.library),e.city.library.count=1,y(m.city.wardenclyffe),y(m.city.temple),e.race.calm&&(e.resource.Zen.display=!0,y(m.city.meditation)),e.race.cannibalize&&y(m.city.s_alter),e.race.magnificent&&y(m.city.shrine),e.civic.govern.type="technocracy",e.civic.garrison={display:!0,disabled:!1,progress:0,tactic:0,workers:0,wounded:0,raid:0,max:0},Ht(),ae(),gt())}function f_(){e.race.cataclysm&&(e.tech.unify=2,e.tech.spy=5,e.tech.primitive=3,e.tech.currency=6,e.tech.govern=3,e.tech.boot_camp=1,e.tech.medic=1,e.tech.military=5,e.tech.marines=1,e.tech.explosives=3,e.tech.trade=3,e.tech.wharf=1,e.tech.banking=6,e.tech.gambling=1,e.tech.home_safe=1,e.tech.housing=3,e.tech.smelting=3,e.tech.copper=1,e.tech.storage=5,e.tech.container=4,e.tech.steel_container=3,e.tech.mining=4,e.tech.oil=7,e.tech.mass=1,e.tech.alumina=1,e.tech.titanium=2,e.tech.polymer=2,e.tech.uranium=4,e.tech.foundry=7,e.tech.factory=1,e.tech.theatre=3,e.tech.broadcast=2,e.tech.mine_conveyor=1,e.tech.science=9,e.tech.high_tech=7,e.tech.genetics=1,e.tech.theology=2,e.tech.space=6,e.tech.solar=3,e.tech.luna=2,e.tech.hell=1,e.tech.mars=5,e.tech.gas_giant=1,e.tech.gas_moon=2,e.tech.asteroid=3,e.tech.satellite=1,e.tech.space_explore=4,e.tech.genesis=2,e.settings.showSpace=!0,e.settings.space.home=!0,e.settings.space.moon=!0,e.settings.space.red=!0,e.settings.space.hell=!0,e.settings.space.sun=!0,e.settings.space.gas=!0,e.settings.space.gas_moon=!0,e.settings.space.belt=!0,e.settings.space.dwarf=!0,e.settings.showCity=!1,e.settings.showIndustry=!0,e.settings.showPowerGrid=!0,e.settings.showResearch=!0,e.settings.showCivic=!0,e.settings.showMil=!0,e.settings.showResources=!0,e.settings.showMarket=!0,e.settings.showStorage=!0,e.settings.civTabs=1,e.settings.spaceTabs=1,e.settings.showGenetics=!0,e.settings.arpa.physics=!0,e.resource[e.race.species].display=!0,e.resource.Knowledge.display=!0,e.resource.Money.display=!0,e.resource.Food.display=!0,e.resource.Stone.display=!0,e.resource.Furs.display=!0,e.resource.Copper.display=!0,e.resource.Iron.display=!0,e.resource.Aluminium.display=!0,e.resource.Coal.display=!0,e.resource.Oil.display=!0,e.resource.Uranium.display=!0,e.resource.Steel.display=!0,e.resource.Titanium.display=!0,e.resource.Alloy.display=!0,e.resource.Polymer.display=!0,e.resource.Iridium.display=!0,e.resource.Helium_3.display=!0,e.resource.Brick.display=!0,e.resource.Wrought_Iron.display=!0,e.resource.Sheet_Metal.display=!0,e.resource.Mythril.display=!0,e.resource.Crates.display=!0,e.resource.Containers.display=!0,e.race.flier||(e.resource.Cement.display=!0,e.resource.Cement.max=75e3,e.resource.Cement.amount=75e3),!e.race.kindling_kindred&&!e.race.smoldering&&(e.resource.Lumber.display=!0,e.resource.Plywood.display=!0,e.resource.Lumber.max=9e4,e.resource.Lumber.amount=9e4,e.resource.Plywood.amount=5e4),e.race.smoldering&&(e.resource.Chrysotile.display=!0,e.resource.Chrysotile.max=9e4,e.resource.Chrysotile.amount=9e4),e.resource[e.race.species].max=8,e.resource[e.race.species].amount=8,e.resource.Crates.amount=20,e.resource.Containers.amount=20,e.resource.Money.max=225e3,e.resource.Money.amount=225e3,e.resource.Food.max=1e3,e.resource.Food.amount=1e3,e.resource.Oil.max=1e3,e.resource.Oil.amount=1e3,e.resource.Helium_3.max=1e3,e.resource.Helium_3.amount=1e3,e.resource.Uranium.max=1e3,e.resource.Uranium.amount=1e3,e.resource.Stone.max=9e4,e.resource.Stone.amount=9e4,e.resource.Furs.max=4e4,e.resource.Furs.amount=4e4,e.resource.Copper.max=75e3,e.resource.Copper.amount=75e3,e.resource.Iron.max=75e3,e.resource.Iron.amount=75e3,e.resource.Steel.max=75e3,e.resource.Steel.amount=75e3,e.resource.Aluminium.max=75e3,e.resource.Aluminium.amount=75e3,e.resource.Titanium.max=75e3,e.resource.Titanium.amount=75e3,e.resource.Coal.max=1e4,e.resource.Coal.amount=1e4,e.resource.Alloy.max=2e4,e.resource.Alloy.amount=2e4,e.resource.Polymer.max=2e4,e.resource.Polymer.amount=2e4,e.resource.Iridium.max=1e3,e.resource.Iridium.amount=1e3,e.resource.Brick.amount=5e4,e.resource.Wrought_Iron.amount=5e4,e.resource.Sheet_Metal.amount=5e4,e.resource.Mythril.amount=8e3,e.resource.Iridium.crates=5,e.resource.Iridium.containers=5,e.civic.taxes.display=!0,e.civic.professor.display=!0,e.civic.scientist.display=!0,e.civic.colonist.display=!0,e.civic.space_miner.display=!0,e.civic.craftsman.display=!0,e.race.flier||(e.tech.cement=5,e.civic.cement_worker.display=!0,e.civic.cement_worker.max=E(1),e.civic.cement_worker.workers=E(1)),e.civic.colonist.max=E(4),e.civic.colonist.workers=E(4),e.civic.space_miner.max=E(3),e.civic.space_miner.workers=E(2),e.civic.professor.max=E(1),e.civic.professor.workers=E(1),e.city.calendar.day++,e.city.market.active=!0,e.city.power=0,e.city.powered=!0,e.race.artifical&&y(m.city.transmitter),y(m.city.factory),y(m.city.foundry),y(m.city.smelter),e.city.smelter.cap=2,e.city.smelter.Oil=2,e.city.smelter.Iron=1,e.city.smelter.Steel=1,y(m.city.fission_power),y(m.city.oil_power),y(m.city.coal_power),y(m.city.mass_driver),y(m.city.mine),y(m.city.coal_mine),y(m.city.oil_well),y(m.city.oil_depot),y(m.city.garrison),y(m.city.basic_housing),y(m.city.cottage),y(m.city.apartment),y(m.city.amphitheatre),y(m.city.casino),y(m.city.rock_quarry),y(m.city.metal_refinery),y(m.city.storage_yard),y(m.city.warehouse),y(m.city.trade),y(m.city.wharf),y(m.city.bank),y(m.city.tourist_center),y(m.city.university),y(m.city.library),y(m.city.wardenclyffe),y(m.city.biolab),y(m.city.lumber_yard),y(m.city.sawmill),y(m.city.temple),y(m.space.spc_home.satellite),e.space.satellite.count=1,y(m.space.spc_home.propellant_depot),e.space.propellant_depot.count=1,y(m.space.spc_home.gps),e.space.gps.count=4,y(m.space.spc_home.nav_beacon),e.space.nav_beacon.count=1,e.space.nav_beacon.on=1,y(m.space.spc_moon.moon_base),e.space.moon_base.count=1,e.space.moon_base.on=1,e.space.moon_base.support=3,e.space.moon_base.s_max=3,y(m.space.spc_moon.iridium_mine),e.space.iridium_mine.count=1,e.space.iridium_mine.on=1,y(m.space.spc_moon.helium_mine),e.space.helium_mine.count=1,e.space.helium_mine.on=1,y(m.space.spc_moon.observatory),e.space.observatory.count=1,e.space.observatory.on=1,y(m.space.spc_red.spaceport),e.space.spaceport.count=2,e.space.spaceport.on=2,e.space.spaceport.support=8,e.space.spaceport.s_max=10,y(m.space.spc_red.red_tower),e.space.red_tower.count=1,e.space.red_tower.on=1,y(m.space.spc_red.living_quarters),e.space.living_quarters.count=4,e.space.living_quarters.on=4,y(m.space.spc_red.vr_center),y(m.space.spc_red.garage),e.space.garage.count=1,y(m.space.spc_red.red_mine),e.space.red_mine.count=1,e.space.red_mine.on=1,y(m.space.spc_red.fabrication),e.space.fabrication.count=1,e.space.fabrication.on=1,y(m.space.spc_red.red_factory),e.space.red_factory.count=1,e.space.red_factory.on=1,y(m.space.spc_red.exotic_lab),e.space.exotic_lab.count=1,e.space.exotic_lab.on=1,y(m.space.spc_red.ziggurat),y(m.space.spc_red.space_barracks),e.space.space_barracks.count=1,e.space.space_barracks.on=1,y(m.space.spc_red.biodome),e.space.biodome.count=2,e.space.biodome.on=2,y(m.space.spc_hell.geothermal),e.space.geothermal.count=2,e.space.geothermal.on=2,y(m.space.spc_hell.spc_casino),y(m.space.spc_hell.swarm_plant),y(m.space.spc_sun.swarm_control),e.space.swarm_control.count=5,e.space.swarm_control.support=40,e.space.swarm_control.s_max=50,y(m.space.spc_sun.swarm_satellite),e.space.swarm_satellite.count=40,y(m.space.spc_gas.gas_mining),e.space.gas_mining.count=2,e.space.gas_mining.on=2,y(m.space.spc_gas.gas_storage),e.space.gas_storage.count=1,y(m.space.spc_gas_moon.outpost),y(m.space.spc_gas_moon.drone),y(m.space.spc_gas_moon.oil_extractor),e.space.oil_extractor.count=2,e.space.oil_extractor.on=2,y(m.space.spc_belt.space_station),e.space.space_station.count=1,e.space.space_station.on=1,e.space.space_station.s_max=3,y(m.space.spc_belt.iridium_ship),e.space.iridium_ship.count=1,e.space.iridium_ship.on=1,y(m.space.spc_belt.elerium_ship),y(m.space.spc_belt.iron_ship),e.space.iron_ship.count=1,e.space.iron_ship.on=1,y(m.space.spc_dwarf.elerium_contain),e.civic.garrison={display:!0,disabled:!1,progress:0,tactic:0,workers:2,wounded:0,raid:0,max:2},Ht(),ae(),St(),Pe("Physics"),gt())}function rs(r){switch(x[r].fanaticism){case"smart":e.race.dumb?(os(5),Pe("Genetics")):Xs("smart");break;case"infectious":Xs("infectious"),e.race.species==="human"&&B("infested");break;case"blood_thirst":Xs("blood_thirst"),e.race.species==="entish"&&B("madagascar_tree");break;case"none":os(5),Pe("Genetics");break;default:Xs(x[r].fanaticism);break}}function Xs(r){e.race[r]?me(r)?r==="imitation"?tn(!0):r==="shapeshifter"&&Zr(e.race.ss_genus):(os(5),Pe("Genetics")):(e.race[r]=1,Ka(r))}function Zi(){if(!e.settings.tabLoad&&e.settings.civTabs!==3)return;Nn(),K($("#resQueue")),$("#resQueue").append($(`

${t("research_queue")} ({{ queue.length }}/{{ max }})

- `));let r=$('
    ');$("#resQueue").append(r),r.append($(`
  • {{ item.label }} [{{ item.time | time }}]
  • `));try{C({el:"#resQueue",data:e.r_queue,methods:{remove(a){le(`rq${e.r_queue.queue[a].id}`),e.r_queue.queue.splice(a,1),Zi(),ae()},setID(a){return`rq${e.r_queue.queue[a].id}`},pauseRQueue(){$("#pauserqueue").removeClass("play"),$("#pauserqueue").removeClass("pause"),e.r_queue.pause?(e.r_queue.pause=!1,$("#pauserqueue").addClass("play")):(e.r_queue.pause=!0,$("#pauserqueue").addClass("pause"))},pausedesc(){return e.r_queue.pause?t("r_queue_play"):t("r_queue_pause")}},filters:{time(a){return ut(a)}}}),g_()}catch{e.r_queue.queue=[]}}function Nn(){let r=$("#resQueue .buildList")[0];if(r){let a=Sortable.get(r);a&&a.destroy()}}function g_(){let r=$("#resQueue .buildList")[0];Sortable.create(r,{onEnd(a){let i=e.r_queue.queue;i.splice(a.newDraggableIndex,0,i.splice(a.oldDraggableIndex,1)[0]),e.r_queue.queue=i,Zi()}}),v_()}function v_(){for(let r=0;r=5?r-.01:r}function kr(){let r=1800;e.tech.vault>=1?r=(e.tech.vault+1)*7500:e.tech.banking>=5?r=9e3:e.tech.banking>=3&&(r=4e3),e.race.paranoid&&(r*=1-v.paranoid.vars()[0]/100),e.race.hoarder&&(r*=1+v.hoarder.vars()[0]/100);let a=re("dracnid");if(a>0&&(r*=1+v.hoarder.vars(1)[0]/100*a),e.tech.banking>=7&&(r*=1+he(Xe(e.civic.banker.workers,"banker")*.05)),e.tech.banking>=8&&(r+=he(25*e.resource[e.race.species].amount)),e.tech.stock_exchange&&(r*=1+e.tech.stock_exchange*.1),e.tech.world_control&&(r*=1.25),e.race.truepath&&(r*=1.25),e.blood.greed&&(r*=1+e.blood.greed/100),e.stats.achieve.wheelbarrow&&(r*=1+e.stats.achieve.wheelbarrow.l/50),e.race.inflation&&(r*=1+e.race.inflation/125),e.tech.ai_core&&e.tech.ai_core>=4){let s=H.citadel||0;r*=1+s/100}let i=Q("risktaker",0);return i&&(r*=1+i/100),r}function bt(r,a,i){switch(r){case"smelter":y_(a,i);break;case"factory":b_(a,i);break;case"droid":$_(a,i);break;case"graphene":x_(a,i);break;case"pylon":q_(a,i);break;case"rock_quarry":P_(a,i);break;case"titan_mine":O_(a,i);break;case"nanite_factory":k_(a,i);break;case"mining_ship":S_(a,i);break;case"alien_space_station":C_(a,i);break;case"replicator":j_(a,i);break;case"mech_station":M_(a,i);break}}function Fe(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==2||e.settings.govTabs!==1))){if(K($("#industry")),e.city.smelter&&(e.city.smelter.count>0||e.race.cataclysm||e.race.orbit_decayed||e.tech.isolation)){var r=$(`

    ${t("city_smelter")}

    `);$("#industry").append(r),bt("smelter",r,"#iSmelter")}if(e.city.factory&&e.city.factory.count>0||e.space.red_factory&&e.space.red_factory.count>0||e.tauceti.tau_factory&&e.tauceti.tau_factory.count>0){var a=$(`

    ${t("city_factory")}

    `);$("#industry").append(a),bt("factory",a,"#iFactory")}if(e.interstellar.mining_droid&&e.interstellar.mining_droid.count>0){var i=$(`

    ${t("interstellar_mining_droid_title")}

    `);$("#industry").append(i),bt("droid",i,"#iDroid")}if(e.interstellar.g_factory&&e.interstellar.g_factory.count>0||e.space.g_factory&&(e.space.g_factory.count>0||e.tauceti.refueling_station&&e.tauceti.refueling_station.count>0)){var s=$(`

    ${t("interstellar_g_factory_title")}

    `);$("#industry").append(s),bt("graphene",s,"#iGraphene")}if(e.race.casting&&(e.city.pylon||e.space.pylon||e.tauceti.pylon)){var n=$(`

    ${t("city_pylon")}

    `);$("#industry").append(n),bt("pylon",n,"#iPylon")}if(e.race.smoldering&&e.city.rock_quarry&&!e.race.cataclysm&&!e.race.orbit_decayed&&!e.tech.isolation){var c=$(`

    ${t("city_rock_quarry")}

    `);$("#industry").append(c),bt("rock_quarry",c,"#iQuarry")}if(e.space.titan_mine&&e.space.titan_mine.count>0){var c=$(`

    ${t("city_mine")}

    `);$("#industry").append(c),bt("titan_mine",c,"#iTMine")}if(e.tech.tau_roid&&e.tech.tau_roid>=4&&e.tauceti.mining_ship){var o=$(`

    ${t("tau_roid_mining_ship")}

    `);$("#industry").append(o),bt("mining_ship",o,"#iMiningShip")}if(e.tech.tau_gas2&&e.tech.tau_gas2===6&&e.tauceti.alien_space_station&&(!e.tech.alien_data||e.tech.alien_data<6)){var l=$(`

    ${t("tau_gas2_alien_station")}

    `);$("#industry").append(l),bt("alien_space_station",l,"#iAlienSpaceStation")}if(e.race.deconstructor&&e.city.nanite_factory){var u=$(`

    ${t("city_nanite_factory")}

    `);$("#industry").append(u),bt("nanite_factory",u,"#iNFactory")}if(e.race.replicator&&e.tech.replicator){var p=$(`

    ${e.race.universe==="antimatter"?t("tech_antireplicator"):t("tech_replicator")}

    `);$("#industry").append(p),bt("replicator",p,"#iReplicator")}}}var ct={Lux:{demand:[.14,.21,.28,.35,.42],fur:[2,3,4,5,6]},Furs:{money:[10,15,20,25,30],polymer:[1.5,2.25,3,3.75,4.5],output:[1,1.5,2,2.5,3]},Alloy:{copper:[.75,1.12,1.49,1.86,2.23],aluminium:[1,1.5,2,2.5,3],output:[.075,.112,.149,.186,.223]},Polymer:{oil_kk:[.22,.33,.44,.55,.66],oil:[.18,.27,.36,.45,.54],lumber:[15,22,29,36,43],output:[.125,.187,.249,.311,.373]},Nano_Tube:{coal:[8,12,16,20,24],neutronium:[.05,.075,.1,.125,.15],output:[.2,.3,.4,.5,.6]},Stanene:{aluminium:[30,45,60,75,90],nano:[.02,.03,.04,.05,.06],output:[.6,.9,1.2,1.5,1.8]}};function y_(r,a){let i=$(`
    ${t("modal_smelter_fuel")}: {{s.count | on}}/{{ s.cap }}
    `);if(r.append(i),r.hasClass("modalBody")){let h=ht(10);h.length>0&&i.prepend(h)}if(a&&e.race.forge&&e.race.steelen){let h=mt(3,12,!0);h.length>0&&i.prepend(h)}let s=r.hasClass("modalBody")?"mSmelterFuels":"smelterFuels",n=$(`
    `);if(r.append(n),!e.race.forge){if(!e.race.kindling_kindred&&!e.race.smoldering||e.race.evil){let h=e.race.evil?e.race.soul_eater&&e.race.species!=="wendigo"&&!e.race.artifical?e.resource.Food.name:e.resource.Furs.name:e.resource.Lumber.name,d=$(`${h} {{ s.Wood }}`),g=$(`«`),w=$(`»`);n.append(g),n.append(d),n.append(w)}if(e.resource.Coal.display){let h=$(`${e.resource.Coal.name} `),d=$(`«`),g=$(`»`);n.append(d),n.append(h),n.append(g)}}if(e.race.forge){let h=$(`${t("trait_forge_name")} `);n.append(h)}else if(e.resource.Oil.display){let h=$(`${e.resource.Oil.name} {{ s.Oil }}`),d=$(`«`),g=$(`»`);n.append(d),n.append(h),n.append(g)}if(e.tech.star_forge&&e.tech.star_forge>=2){let h=$(`${t("star")} {{ s.Star }}`);n.append(h)}if(e.tech.smelting&&e.tech.smelting>=8){let h=$(`${t("modal_smelter_inferno")} {{ s.Inferno }}`),d=$(`«`),g=$(`»`);n.append(d),n.append(h),n.append(g)}let c=$('
    ');r.append(c);let o=!!(e.tech.irid_smelting||e.tech.m_smelting&&e.tech.m_smelting>=2);if(e.resource.Iridium.display&&o||e.resource.Steel.display&&e.tech.smelting>=2&&!e.race.steelen){let h=$(`
    `);r.append(h),h.append(`
    ${t("modal_smelter_type")}: {{s.count | son}}/{{ s.cap | on }}
    `);let d=$('
    ');h.append(d);let g=$(`${e.resource.Iron.name} {{ s.Iron }}`),w=$(`«`),k=$(`»`);if(d.append(w),d.append(g),d.append(k),e.resource.Steel.display&&e.tech.smelting>=2&&!e.race.steelen){let M=$(`${e.resource.Steel.name} {{ s.Steel }}`),q=$(`«`),P=$(`»`);d.append(q),d.append(M),d.append(P)}if(e.resource.Iridium.display&&o){let M=$(`${e.resource.Iridium.name} {{ s.Iridium }}`),q=$(`«`),P=$(`»`);d.append(q),d.append(M),d.append(P)}}C({el:a||"#specialModal",data:{s:e.city.smelter,lum:e.resource.Lumber,coal:e.resource.Coal,oil:e.resource.Oil,food:e.resource.Food,fur:e.resource.Furs},methods:{addFuel(h){let d=W();for(let g=0;g=e.city.smelter.StarCap)break;if(w0)h!=="Wood"&&e.city.smelter.Wood>0?(e.city.smelter.Wood--,e.city.smelter[h]++):h!=="Coal"&&e.city.smelter.Coal>0?(e.city.smelter.Coal--,e.city.smelter[h]++):h!=="Oil"&&e.city.smelter.Oil>0?(e.city.smelter.Oil--,e.city.smelter[h]++):h!=="Inferno"&&e.city.smelter.Inferno>0&&(e.city.smelter.Inferno--,e.city.smelter[h]++);else break}},subFuel(h){let d=W();for(let g=0;g0;g++){e.city.smelter[h]--,e.race.forge&&h==="Inferno"&&e.city.smelter.Oil++;let w=e.city.smelter.Wood+e.city.smelter.Coal+e.city.smelter.Oil+e.city.smelter.Star+e.city.smelter.Inferno;e.city.smelter.Iron+e.city.smelter.Steel+e.city.smelter.Iridium>w&&(e.city.smelter.Iron>0?e.city.smelter.Iron--:e.city.smelter.Steel>0?e.city.smelter.Steel--:e.city.smelter.Iridium>0&&e.city.smelter.Iridium--)}},mLabel(h){return u(h)},addMetal(h){let d=W();for(let g=0;g0&&h!=="Iron")e.city.smelter.Iron--,e.city.smelter[h]++;else if(e.city.smelter.Steel>0&&h!=="Steel")e.city.smelter.Steel--,e.city.smelter[h]++;else if(e.city.smelter.Iridium>0&&h!=="Iridium")e.city.smelter.Iridium--,e.city.smelter[h]++;else break}},subMetal(h){let d=W();e.city.smelter[h]-=d,e.city.smelter[h]<0&&(e.city.smelter[h]=0)},buildLabel(h){return l(h)},ariaCount(h){return` ${e.city.smelter[h]} ${h} fueled.`},ariaProd(h){return`. ${e.city.smelter[h]} producing ${h}.`},net(h){return e.resource[h].diff>=0?"has-text-success":"has-text-danger"},level(){let h=e.city.smelter.Wood+e.city.smelter.Coal+e.city.smelter.Oil+e.city.smelter.Star+e.city.smelter.Inferno;return wi(h,e.city.smelter.count)}},filters:{on(h){return e.city.smelter.Wood+e.city.smelter.Coal+e.city.smelter.Oil+e.city.smelter.Star+e.city.smelter.Inferno},son(h){return e.city.smelter.Iron+e.city.smelter.Steel+e.city.smelter.Iridium},diffSize(h){return h>0?`+${X(h,2)}`:X(h,2)},spook(h){if(a&&((e.race.kindling_kindred||e.race.smoldering)&&(e.city.smelter.Steel===6||e.city.smelter.Iron===6)||e.city.smelter.Wood===6)&&e.city.smelter.Coal===6&&e.city.smelter.Oil===6){let d=mt(3,12,!0);if(d.length>0)return d}return h},altspook(h){if(a&&e.race.forge&&e.city.smelter.Steel===6&&e.city.smelter.Iron===6){let d=mt(3,12,!0);if(d.length>0)return d}return h}}});function l(h){switch(h){case"wood":return t("modal_build_wood",[e.race.evil?e.race.soul_eater&&e.race.species!=="wendigo"&&!e.race.artifical?e.resource.Food.name:e.resource.Furs.name:e.resource.Lumber.name,e.race.evil&&!e.race.soul_eater||e.race.species==="wendigo"?1:3]);case"coal":{let d=e.race.kindling_kindred?.15:.25;return e.tech.uranium&&e.tech.uranium>=3?t("modal_build_coal2",[d,t("resource_Coal_name"),t("resource_Uranium_name")]):t("modal_build_coal1",[d,t("resource_Coal_name")])}case"oil":return e.race.forge?t("modal_build_forge"):t("modal_build_oil",["0.35",t("resource_Oil_name")]);case"star":return e.tech.irid_smelting?t("modal_build_star2",[t("resource_Titanium_name"),t("resource_Iridium_name")]):t("modal_build_star",[t("resource_Titanium_name")]);case"inferno":{let d=50,g=35,w=.5;return t("modal_build_inferno",[d,t("resource_Coal_name"),g,t("resource_Oil_name"),w,t("resource_Infernite_name")])}}}function u(h){if(h==="steel"){let d=e.tech.smelting>=4?1.2:1;return e.tech.smelting>=5&&(d*=1.2),e.tech.smelting>=6&&(d*=1.2),e.tech.smelting>=7&&(d*=1.25),e.race.pyrophobia&&(d*=.9),t("modal_smelter_steel",[+d.toFixed(3),t("resource_Steel_name"),t("resource_Coal_name"),t("resource_Iron_name")])}else if(h==="iridium"){let d=e.tech.smelting>=7?6.25:5;return e.race.pyrophobia&&(d*=.9),t("modal_smelter_iron",[+d.toFixed(3),t("resource_Iridium_name")])}else{let d=e.tech.smelting>=3?e.tech.smelting>=7?15:12:10;return e.race.pyrophobia&&(d*=.9),t("modal_smelter_iron",[+d.toFixed(3),t("resource_Iron_name")])}}let p=r.hasClass("modalBody")?"mSmelterFuels":"smelterFuels";if(["wood","coal","oil","star","inferno"].forEach(function(h){N(`${p}${h}`,function(){return l(h)},{elm:$(`#${p} > .${h}`),attach:"#main"})}),e.resource.Steel.display&&e.tech.smelting>=2&&!e.race.steelen||e.resource.Iridium.display&&o){let h=r.hasClass("modalBody")?"mSmelterMats":"smelterMats";["iron","steel","iridium"].forEach(function(d){d==="steel"&&(!e.resource.Steel.display||e.race.steelen)||d==="iridium"&&!(e.resource.Iridium.display&&o)||N(`${h}${d}`,function(){return u(d)},{elm:$(`#${h} span.${d}`),attach:"#main"})})}}function b_(r,a){let i=$(`
    ${t("modal_factory_operate")}: {{count | on}}/{{ on | max }}
    `);r.append(i);let s=$(`
    ${t("modal_factory_lux")}
    `);r.append(s);let n=$(''),c=$(`«`),o=$(`»`);if(s.append(c),s.append(n),s.append(o),e.tech.synthetic_fur){let g=$(`
    ${e.race.evil?t("resource_Flesh_name"):t("resource_Furs_name")}
    `);r.append(g);let w=$('{{ Furs }}'),k=$(`«`),M=$(`»`);g.append(k),g.append(w),g.append(M)}let l=$(`
    ${t("resource_Alloy_name")}
    `);r.append(l);let u=$('{{ Alloy }}'),p=$(`«`),h=$(`»`);if(l.append(p),l.append(u),l.append(h),e.tech.polymer){let g=$(`
    ${t("resource_Polymer_name")}
    `);r.append(g);let w=$('{{ Polymer }}'),k=$(`«`),M=$(`»`);g.append(k),g.append(w),g.append(M)}if(e.tech.nano){let g=$(`
    ${t("resource_Nano_Tube_name")}
    `);r.append(g);let w=$('{{ Nano }}'),k=$(`«`),M=$(`»`);g.append(k),g.append(w),g.append(M)}if(e.tech.stanene){let g=$(`
    ${t("resource_Stanene_name")}
    `);r.append(g);let w=$('{{ Stanene }}'),k=$(`«`),M=$(`»`);g.append(k),g.append(w),g.append(M)}C({el:a||"#specialModal",data:e.city.factory,methods:{subItem:function(g){let w=W();for(var k=0;k0;k++)e.city.factory[g]--},addItem:function(g){let w=e.space.red_factory?e.space.red_factory.on+e.city.factory.on:e.city.factory.on;e.interstellar.int_factory&&H.int_factory&&(w+=H.int_factory*2),e.tauceti.tau_factory&&be.tau_factory&&(w+=be.tau_factory*(e.tech.isolation?5:3));let k=W();for(var M=0;M0)e.city.factory.Alloy--,e.city.factory[g]++;else break}},buildLabel:function(g){return d(g)},ariaProd(g){return`. ${e.city.factory[g]} factories producing ${g}.`},level(){let g=e.city.factory.Lux+e.city.factory.Furs+e.city.factory.Alloy+e.city.factory.Polymer+e.city.factory.Nano+e.city.factory.Stanene,w=e.space.red_factory?e.space.red_factory.on+e.city.factory.on:e.city.factory.on;return e.interstellar.int_factory&&H.int_factory&&(w+=H.int_factory*2),e.tauceti.tau_factory&&be.tau_factory&&(w+=be.tau_factory*(e.tech.isolation?5:3)),wi(g,w)}},filters:{on(){return e.city.factory.Lux+e.city.factory.Furs+e.city.factory.Alloy+e.city.factory.Polymer+e.city.factory.Nano+e.city.factory.Stanene},max(){let g=e.space.red_factory?e.space.red_factory.on+e.city.factory.on:e.city.factory.on;return e.interstellar.int_factory&&H.int_factory&&(g+=H.int_factory*2),e.tauceti.tau_factory&&be.tau_factory&&(g+=be.tau_factory*(e.tech.isolation?5:3)),g},spook(g){if(e.city.factory.Lux===3&&a){let w=mt(6,12,!0);if(w.length>0)return w}return g}}});function d(g){let w=!!e.tech.factory;switch(g){case"Lux":{let k=+(he(e.resource[e.race.species].amount)*(w?ct.Lux.demand[e.tech.factory]:ct.Lux.demand[0]));k=w_(k).toFixed(2);let M=w?ct.Lux.fur[e.tech.factory]:ct.Lux.fur[0];return t("modal_factory_lux_label",[M,e.resource.Furs.name,k])}case"Furs":{let k=w?ct.Furs.money[e.tech.factory]:ct.Furs.money[0],M=w?ct.Furs.polymer[e.tech.factory]:ct.Furs.polymer[0];return t("modal_factory_alloy_label",[k,t("resource_Money_name"),M,t("resource_Polymer_name"),e.race.evil?t("resource_Flesh_name"):t("resource_Furs_name")])}case"Alloy":{let k=w?ct.Alloy.copper[e.tech.factory]:ct.Alloy.copper[0],M=w?ct.Alloy.aluminium[e.tech.factory]:ct.Alloy.aluminium[0];return t("modal_factory_alloy_label",[k,t("resource_Copper_name"),M,t("resource_Aluminium_name"),t("resource_Alloy_name")])}case"Polymer":if(e.race.kindling_kindred||e.race.smoldering){let k=w?ct.Polymer.oil_kk[e.tech.factory]:ct.Polymer.oil_kk[0];return t("modal_factory_polymer_label2",[k,t("resource_Oil_name"),t("resource_Polymer_name")])}else{let k=w?ct.Polymer.oil[e.tech.factory]:ct.Polymer.oil[0],M=w?ct.Polymer.lumber[e.tech.factory]:ct.Polymer.lumber[0];return t("modal_factory_polymer_label1",[k,t("resource_Oil_name"),M,e.resource.Lumber.name,t("resource_Polymer_name")])}case"Nano":{let k=w?ct.Nano_Tube.coal[e.tech.factory]:ct.Nano_Tube.coal[0],M=w?ct.Nano_Tube.neutronium[e.tech.factory]:ct.Nano_Tube.neutronium[0];return t("modal_factory_nano_label",[k,t("resource_Coal_name"),M,t("resource_Neutronium_name"),t("resource_Nano_Tube_name")])}case"Stanene":{let k=w?ct.Stanene.aluminium[e.tech.factory]:ct.Stanene.aluminium[0],M=w?ct.Stanene.nano[e.tech.factory]:ct.Stanene.nano[0];return t("modal_factory_stanene_label",[k,t("resource_Aluminium_name"),M,t("resource_Nano_Tube_name"),t("resource_Stanene_name")])}}}["Lux","Furs","Alloy","Polymer","Nano","Stanene"].forEach(function(g){let w=r.hasClass("modalBody")?"specialModal":"iFactory";N(`${w}${g}`,function(){return d(g)},{elm:$(`#${w} .factory > .${g}`),attach:"#main"})})}function w_(r){e.race.toxic&&(r*=1+v.toxic.vars()[0]/100);let a=re("shroomi");return a>0&&(r*=1+v.toxic.vars(1)[0]/100*a),e.civic.govern.type==="corpocracy"&&(r*=2.5),e.civic.govern.type==="socialist"&&(r*=.8),e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=2&&(r*=1.1),e.race.inflation&&(r*=1+e.race.inflation/1250),e.tech.isolation&&(r*=1+(be.colony||0)*.5),e.stats.achieve.endless_hunger&&e.stats.achieve.endless_hunger.l>=4&&e.city.banquet&&e.city.banquet.count>=4&&e.city.banquet.strength&&(r*=1+e.city.banquet.strength**.75/100),r*=ie("psychic_cash"),r}var xa=["Lumber","Chrysotile","Stone","Crystal","Furs","Copper","Iron","Aluminium","Cement","Coal","Oil","Uranium","Steel","Titanium","Alloy","Polymer","Iridium","Helium_3","Water","Deuterium","Neutronium","Adamantite","Bolognium","Orichalcum"];function k_(r,a){let i=$(`
    ${t("modal_factory_operate")}: {{count | on}}/{{ count | max }}
    `);r.append(i);let s=r.hasClass("modalBody")?"mNFactoryRes":"NFactoryRes",n=$(`
    `);r.append(n),xa.forEach(function(o){if(e.resource[o].display){let l=$(`${e.resource[o].name} {{ ${o} }}`),u=$(`«`),p=$(`»`);n.append(u),n.append(l),n.append(p)}}),C({el:a||"#specialModal",data:e.city.nanite_factory,methods:{subItem:function(o){let l=W();e.city.nanite_factory[o]-=l,e.city.nanite_factory[o]<0&&(e.city.nanite_factory[o]=0)},addItem:function(o){let l=W(),u=0;xa.forEach(function(h){u+=e.city.nanite_factory[h]});let p=e.city.nanite_factory.count*50-u;l>p&&(l=p),l>0&&(e.city.nanite_factory[o]+=l)},eatLabel(o){return`Consume ${o} to produce ${e.resource.Nanite.name}`},level(){let o=0;xa.forEach(function(u){o+=e.city.nanite_factory[u]});let l=e.city.nanite_factory.count;return wi(o,l)}},filters:{on(){let o=0;return xa.forEach(function(l){o+=e.city.nanite_factory[l]}),o},max(){return e.city.nanite_factory.count*50}}});function c(o){let l=+(Ve[o]/100*(v.deconstructor.vars()[0]/100)).toFixed(4),u=+(e.city.nanite_factory[o]*l).toFixed(4);return t("modal_nfactory_resource_label",[1,e.resource[o].name,l,e.resource.Nanite.name,e.city.nanite_factory[o],u])}xa.forEach(function(o){let l=r.hasClass("modalBody")?"specialModal":"iNFactory";N(`${l}${o}`,function(){return c(o)},{elm:$(`#${l} > .fuels > .${o}`),attach:"#main"})})}function $_(r,a){let i=$(`
    ${t("modal_factory_operate")}: {{count | on}}/{{ on | max }}
    `);r.append(i);let s=$(`
    ${t("resource_Adamantite_name")}
    `);r.append(s);let n=$('{{ adam }}'),c=$(`«`),o=$(`»`);s.append(c),s.append(n),s.append(o);let l=$(`
    ${t("resource_Uranium_name")}
    `);r.append(l);let u=$('{{ uran }}'),p=$(`«`),h=$(`»`);l.append(p),l.append(u),l.append(h);let d=$(`
    ${t("resource_Coal_name")}
    `);r.append(d);let g=$('{{ coal }}'),w=$(`«`),k=$(`»`);d.append(w),d.append(g),d.append(k);let M=$(`
    ${t("resource_Aluminium_name")}
    `);r.append(M);let q=$('{{ alum }}'),P=$(`«`),O=$(`»`);M.append(P),M.append(q),M.append(O),C({el:a||"#specialModal",data:e.interstellar.mining_droid,methods:{subItem:function(Z){let z=W();for(var Y=0;Y0;Y++)e.interstellar.mining_droid[Z]--},addItem:function(Z){let z=W();for(var Y=0;Y .${Z}`),attach:"#main"})})}function x_(r,a){let i=e.race.truepath?"space":"interstellar",s=$(`
    ${t("modal_smelter_fuel")}: {{count | on}}/{{ on | max }}
    `);r.append(s);let n=$("
    ");if(r.append(n),!e.race.kindling_kindred&&!e.race.smoldering){let o=e.resource.Lumber.name,l=$(`${o} {{ Lumber }}`),u=$('«'),p=$('»');n.append(u),n.append(l),n.append(p)}if(e.resource.Coal.display){let o=$(`${e.resource.Coal.name} {{ Coal }}`),l=$('«'),u=$('»');n.append(l),n.append(o),n.append(u)}if(e.resource.Oil.display){let o=$(`${e.resource.Oil.name} {{ Oil }}`),l=$('«'),u=$('»');n.append(l),n.append(o),n.append(u)}C({el:a||"#specialModal",data:e[i].g_factory,methods:{subWood(){let o=W();for(let l=0;l0;l++)e[i].g_factory.Lumber--},addWood(){let o=W();for(let l=0;l0)e[i].g_factory.Oil>e[i].g_factory.Coal?e[i].g_factory.Coal>0?e[i].g_factory.Coal--:e[i].g_factory.Oil--:e[i].g_factory.Oil>0?e[i].g_factory.Oil--:e[i].g_factory.Coal--,e[i].g_factory.Lumber++;else break},subCoal(){let o=W();for(let l=0;l0;l++)e[i].g_factory.Coal--},addCoal(){let o=W();for(let l=0;l0)e[i].g_factory.Lumber>0?e[i].g_factory.Lumber--:e[i].g_factory.Oil--,e[i].g_factory.Coal++;else break},subOil(){let o=W();for(let l=0;l0;l++)e[i].g_factory.Oil--},addOil(){let o=W();for(let l=0;l0)e[i].g_factory.Lumber>0?e[i].g_factory.Lumber--:e[i].g_factory.Coal--,e[i].g_factory.Oil++;else break},buildLabel(o){return c(o)},ariaCount(o){return` ${e[i].g_factory[o]} ${o} fueled.`},ariaProd(o){return`. ${e[i].g_factory[o]} producing ${o}.`},level(){let o=e[i].g_factory.Lumber+e[i].g_factory.Coal+e[i].g_factory.Oil,l=e[i].g_factory.on;return wi(o,l)}},filters:{on:function(o){return e[i].g_factory.Lumber+e[i].g_factory.Coal+e[i].g_factory.Oil}}});function c(o){switch(o){case"wood":return t("modal_graphene_produce",[350,e.race.evil?t("resource_Bones_name"):t("resource_Lumber_name"),t("resource_Graphene_name")]);case"coal":return t("modal_graphene_produce",[25,t("resource_Coal_name"),t("resource_Graphene_name")]);case"oil":return t("modal_graphene_produce",[15,t("resource_Oil_name"),t("resource_Graphene_name")])}}["wood","coal","oil"].forEach(function(o){let l=r.hasClass("modalBody")?"specialModal":"iGraphene";N(`${l}${o}`,function(){return c(o)},{elm:$(`#${l} > div > .${o}`),attach:"#main"})})}function q_(r,a){let i=$(`
    ${t("modal_pylon_casting")}: {{total | drain}}
    `);r.append(i);let s=$('
    ');r.append(s);let n=["science","army","hunting"];!e.race.detritivore&&!e.race.carnivore&&!e.race.soul_eater&&!e.race.artifical&&!e.race.unfathomable&&!e.race.cataclysm&&!e.race.orbit_decayed&&n.push("farmer"),e.race.cataclysm||n.push("miner"),!e.race.kindling_kindred&&!e.race.smoldering&&!e.race.evil&&!e.race.cataclysm&&!e.race.orbit_decayed&&n.push("lumberjack"),e.race.flier||n.push("factory"),e.tech.magic>=4&&n.push("crafting"),e.tech.magic&&e.tech.magic>=3&&n.forEach(function(o){let l=$(`${t(`modal_pylon_spell_${o}`)} {{ ${o} }}`),u=$(`«`),p=$(`»`);s.append(u),s.append(l),s.append(p)}),C({el:a||"#specialModal",data:e.race.casting,methods:{buildLabel(o){return c(o)},addSpell(o){let l=W();for(let u=0;u=p)e.race.casting[o]++,e.race.casting.total++,e.resource.Mana.diff-=p;else break}},subSpell(o){let l=W();for(let u=0;u0;u++)e.race.casting[o]--,e.race.casting.total--},ariaCount(o){return` ${o} casting.`},level(){return wi(e.race.casting.total,e.resource.Mana.gen,!0)}},filters:{drain:function(o){let l=0;return n.forEach(function(u){e.race.casting[u]&&e.race.casting[u]>0&&(l+=bi(e.race.casting[u]))}),t("modal_pylon_casting_cost",[+l.toFixed(3)])}}});function c(o){let l=+bi(e.race.casting[o]).toFixed(4),u=+(bi(e.race.casting[o]+1)-bi(e.race.casting[o])).toFixed(4),p=+(100*(e.race.casting[o]/(e.race.casting[o]+75))).toFixed(2);if(o==="crafting"){let h=+(100*(2*e.race.casting[o]/(2*e.race.casting[o]+75))).toFixed(2);return t("modal_pylon_casting_label_crafting",[l,p,h,u])}return t("modal_pylon_casting_label",[t(`modal_pylon_spell_${o}`),l,u,p])}n.forEach(function(o){let l=r.hasClass("modalBody")?"specialModal":"iPylon";N(`${l}${o}`,function(){return c(o)},{elm:$(`#${l} > .pylon > .${o}`),attach:"#main"})})}function P_(r,a){r.append($(`
    ${t("modal_quarry_ratio",[e.resource.Chrysotile.name])}
    `));let i=$('
    «»
    ');r.append(i),C({el:a||"#specialModal",data:e.city.rock_quarry,methods:{sub(){let s=W();e.city.rock_quarry.asbestos>0&&(e.city.rock_quarry.asbestos-=s,e.city.rock_quarry.asbestos<0&&(e.city.rock_quarry.asbestos=0))},add(){let s=W();e.city.rock_quarry.asbestos<100&&(e.city.rock_quarry.asbestos+=s,e.city.rock_quarry.asbestos>100&&(e.city.rock_quarry.asbestos=100))}}})}function M_(r,a){let i=$(`
    ${t("eden_mech_station_control")}
    `);r.append(i);let s=$('{{ mode | patrolMode }}'),n=$('«'),c=$('»');i.append(n),i.append(s),i.append(c);let o=$('
    ');o.append($('')),o.append($('')),r.append(o),C({el:a||"#specialModal",data:e.eden.mech_station,methods:{lower:function(){e.eden.mech_station.mode>0&&e.eden.mech_station.mode--},higher:function(){e.eden.mech_station.mode<5&&e.eden.mech_station.mode++}},filters:{patrolMode(l){return t(`eden_mech_station_patrol${l}`)},patrol(l){return t("eden_mech_station_mechs",[l])},effect(l){return t("eden_mech_station_effective",[l])}}})}function O_(r,a){r.append($(`
    ${t("modal_quarry_ratio",[e.resource.Adamantite.name])}
    `));let i=$('
    «»
    ');r.append(i),C({el:a||"#specialModal",data:e.space.titan_mine,methods:{sub(){let s=W();e.space.titan_mine.ratio>0&&(e.space.titan_mine.ratio-=s,e.space.titan_mine.ratio<0&&(e.space.titan_mine.ratio=0))},add(){let s=W();e.space.titan_mine.ratio<100&&(e.space.titan_mine.ratio+=s,e.space.titan_mine.ratio>100&&(e.space.titan_mine.ratio=100))}}})}function S_(r,a){r.append($(`
    ${t("tau_roid_mining_ship_ratio",[e.resource.Iron.name,e.resource.Aluminium.name])}
    `));let i=$(`
    «»
    `);r.append(i),r.append($(`
    ${t("tau_roid_mining_ship_ratio",[e.resource.Iridium.name,e.resource.Neutronium.name])}
    `));let s=$(`
    «»
    `);if(r.append(s),e.tech.tau_roid>=5){r.append($(`
    ${t("tau_roid_mining_ship_ratio",[e.resource.Orichalcum.name,e.resource.Elerium.name])}
    `));let n=$(`
    «»
    `);r.append(n)}C({el:a||"#specialModal",data:e.tauceti.mining_ship,methods:{sub(n){let c=W();e.tauceti.mining_ship[n]>0&&(e.tauceti.mining_ship[n]-=c,e.tauceti.mining_ship[n]<0&&(e.tauceti.mining_ship[n]=0))},add(n){let c=W();e.tauceti.mining_ship[n]<100&&(e.tauceti.mining_ship[n]+=c,e.tauceti.mining_ship[n]>100&&(e.tauceti.mining_ship[n]=100))}}})}function C_(r,a){r.append($(`
    ${t("tau_gas2_alien_station_focus",[e.resource.Knowledge.name])}
    `));let i=$(`
    «»
    `);r.append(i),C({el:a||"#specialModal",data:e.tauceti.alien_space_station,methods:{sub(s){let n=W();e.tauceti.alien_space_station[s]>0&&(e.tauceti.alien_space_station[s]-=n,e.tauceti.alien_space_station[s]<0&&(e.tauceti.alien_space_station[s]=0))},add(s){let n=W();e.tauceti.alien_space_station[s]<100&&(e.tauceti.alien_space_station[s]+=n,e.tauceti.alien_space_station[s]>100&&(e.tauceti.alien_space_station[s]=100))}}})}function j_(r,a){if(e.race.replicator){r.append($(`
    ${e.race.universe==="antimatter"?t("tech_antireplicator"):t("tech_replicator")}
    `));let i=$('
    ');if(r.append(i),a){let l="";Object.keys(Ve).forEach(function(u){u!=="Asphodel_Powder"&&u!=="Elysanite"&&(l+=`${e.resource[u].name}`)}),i.append(`
    + `));let r=$('
      ');$("#resQueue").append(r),r.append($(`
    • {{ item.label }} [{{ item.time | time }}]
    • `));try{C({el:"#resQueue",data:e.r_queue,methods:{remove(a){ue(`rq${e.r_queue.queue[a].id}`),e.r_queue.queue.splice(a,1),Zi(),ae()},setID(a){return`rq${e.r_queue.queue[a].id}`},pauseRQueue(){$("#pauserqueue").removeClass("play"),$("#pauserqueue").removeClass("pause"),e.r_queue.pause?(e.r_queue.pause=!1,$("#pauserqueue").addClass("play")):(e.r_queue.pause=!0,$("#pauserqueue").addClass("pause"))},pausedesc(){return e.r_queue.pause?t("r_queue_play"):t("r_queue_pause")}},filters:{time(a){return ut(a)}}}),g_()}catch{e.r_queue.queue=[]}}function Nn(){let r=$("#resQueue .buildList")[0];if(r){let a=Sortable.get(r);a&&a.destroy()}}function g_(){let r=$("#resQueue .buildList")[0];Sortable.create(r,{onEnd(a){let i=e.r_queue.queue;i.splice(a.newDraggableIndex,0,i.splice(a.oldDraggableIndex,1)[0]),e.r_queue.queue=i,Zi()}}),v_()}function v_(){for(let r=0;r=5?r-.01:r}function kr(){let r=1800;e.tech.vault>=1?r=(e.tech.vault+1)*7500:e.tech.banking>=5?r=9e3:e.tech.banking>=3&&(r=4e3),e.race.paranoid&&(r*=1-v.paranoid.vars()[0]/100),e.race.hoarder&&(r*=1+v.hoarder.vars()[0]/100);let a=re("dracnid");if(a>0&&(r*=1+v.hoarder.vars(1)[0]/100*a),e.tech.banking>=7&&(r*=1+he(Xe(e.civic.banker.workers,"banker")*.05)),e.tech.banking>=8&&(r+=he(25*e.resource[e.race.species].amount)),e.tech.stock_exchange&&(r*=1+e.tech.stock_exchange*.1),e.tech.world_control&&(r*=1.25),e.race.truepath&&(r*=1.25),e.blood.greed&&(r*=1+e.blood.greed/100),e.stats.achieve.wheelbarrow&&(r*=1+e.stats.achieve.wheelbarrow.l/50),e.race.inflation&&(r*=1+e.race.inflation/125),e.tech.ai_core&&e.tech.ai_core>=4){let s=H.citadel||0;r*=1+s/100}let i=Q("risktaker",0);return i&&(r*=1+i/100),r}function bt(r,a,i){switch(r){case"smelter":y_(a,i);break;case"factory":b_(a,i);break;case"droid":$_(a,i);break;case"graphene":x_(a,i);break;case"pylon":q_(a,i);break;case"rock_quarry":P_(a,i);break;case"titan_mine":O_(a,i);break;case"nanite_factory":k_(a,i);break;case"mining_ship":S_(a,i);break;case"alien_space_station":C_(a,i);break;case"replicator":j_(a,i);break;case"mech_station":M_(a,i);break}}function Fe(){if(!(!e.settings.tabLoad&&(e.settings.civTabs!==2||e.settings.govTabs!==1))){if(K($("#industry")),e.city.smelter&&(e.city.smelter.count>0||e.race.cataclysm||e.race.orbit_decayed||e.tech.isolation)){var r=$(`

      ${t("city_smelter")}

      `);$("#industry").append(r),bt("smelter",r,"#iSmelter")}if(e.city.factory&&e.city.factory.count>0||e.space.red_factory&&e.space.red_factory.count>0||e.tauceti.tau_factory&&e.tauceti.tau_factory.count>0){var a=$(`

      ${t("city_factory")}

      `);$("#industry").append(a),bt("factory",a,"#iFactory")}if(e.interstellar.mining_droid&&e.interstellar.mining_droid.count>0){var i=$(`

      ${t("interstellar_mining_droid_title")}

      `);$("#industry").append(i),bt("droid",i,"#iDroid")}if(e.interstellar.g_factory&&e.interstellar.g_factory.count>0||e.space.g_factory&&(e.space.g_factory.count>0||e.tauceti.refueling_station&&e.tauceti.refueling_station.count>0)){var s=$(`

      ${t("interstellar_g_factory_title")}

      `);$("#industry").append(s),bt("graphene",s,"#iGraphene")}if(e.race.casting&&(e.city.pylon||e.space.pylon||e.tauceti.pylon)){var n=$(`

      ${t("city_pylon")}

      `);$("#industry").append(n),bt("pylon",n,"#iPylon")}if(e.race.smoldering&&e.city.rock_quarry&&!e.race.cataclysm&&!e.race.orbit_decayed&&!e.tech.isolation){var c=$(`

      ${t("city_rock_quarry")}

      `);$("#industry").append(c),bt("rock_quarry",c,"#iQuarry")}if(e.space.titan_mine&&e.space.titan_mine.count>0){var c=$(`

      ${t("city_mine")}

      `);$("#industry").append(c),bt("titan_mine",c,"#iTMine")}if(e.tech.tau_roid&&e.tech.tau_roid>=4&&e.tauceti.mining_ship){var o=$(`

      ${t("tau_roid_mining_ship")}

      `);$("#industry").append(o),bt("mining_ship",o,"#iMiningShip")}if(e.tech.tau_gas2&&e.tech.tau_gas2===6&&e.tauceti.alien_space_station&&(!e.tech.alien_data||e.tech.alien_data<6)){var l=$(`

      ${t("tau_gas2_alien_station")}

      `);$("#industry").append(l),bt("alien_space_station",l,"#iAlienSpaceStation")}if(e.race.deconstructor&&e.city.nanite_factory){var u=$(`

      ${t("city_nanite_factory")}

      `);$("#industry").append(u),bt("nanite_factory",u,"#iNFactory")}if(e.race.replicator&&e.tech.replicator){var p=$(`

      ${e.race.universe==="antimatter"?t("tech_antireplicator"):t("tech_replicator")}

      `);$("#industry").append(p),bt("replicator",p,"#iReplicator")}}}var ct={Lux:{demand:[.14,.21,.28,.35,.42],fur:[2,3,4,5,6]},Furs:{money:[10,15,20,25,30],polymer:[1.5,2.25,3,3.75,4.5],output:[1,1.5,2,2.5,3]},Alloy:{copper:[.75,1.12,1.49,1.86,2.23],aluminium:[1,1.5,2,2.5,3],output:[.075,.112,.149,.186,.223]},Polymer:{oil_kk:[.22,.33,.44,.55,.66],oil:[.18,.27,.36,.45,.54],lumber:[15,22,29,36,43],output:[.125,.187,.249,.311,.373]},Nano_Tube:{coal:[8,12,16,20,24],neutronium:[.05,.075,.1,.125,.15],output:[.2,.3,.4,.5,.6]},Stanene:{aluminium:[30,45,60,75,90],nano:[.02,.03,.04,.05,.06],output:[.6,.9,1.2,1.5,1.8]}};function y_(r,a){let i=$(`
      ${t("modal_smelter_fuel")}: {{s.count | on}}/{{ s.cap }}
      `);if(r.append(i),r.hasClass("modalBody")){let h=ht(10);h.length>0&&i.prepend(h)}if(a&&e.race.forge&&e.race.steelen){let h=mt(3,12,!0);h.length>0&&i.prepend(h)}let s=r.hasClass("modalBody")?"mSmelterFuels":"smelterFuels",n=$(`
      `);if(r.append(n),!e.race.forge){if(!e.race.kindling_kindred&&!e.race.smoldering||e.race.evil){let h=e.race.evil?e.race.soul_eater&&e.race.species!=="wendigo"&&!e.race.artifical?e.resource.Food.name:e.resource.Furs.name:e.resource.Lumber.name,d=$(`${h} {{ s.Wood }}`),g=$(`«`),w=$(`»`);n.append(g),n.append(d),n.append(w)}if(e.resource.Coal.display){let h=$(`${e.resource.Coal.name} `),d=$(`«`),g=$(`»`);n.append(d),n.append(h),n.append(g)}}if(e.race.forge){let h=$(`${t("trait_forge_name")} `);n.append(h)}else if(e.resource.Oil.display){let h=$(`${e.resource.Oil.name} {{ s.Oil }}`),d=$(`«`),g=$(`»`);n.append(d),n.append(h),n.append(g)}if(e.tech.star_forge&&e.tech.star_forge>=2){let h=$(`${t("star")} {{ s.Star }}`);n.append(h)}if(e.tech.smelting&&e.tech.smelting>=8){let h=$(`${t("modal_smelter_inferno")} {{ s.Inferno }}`),d=$(`«`),g=$(`»`);n.append(d),n.append(h),n.append(g)}let c=$('
      ');r.append(c);let o=!!(e.tech.irid_smelting||e.tech.m_smelting&&e.tech.m_smelting>=2);if(e.resource.Iridium.display&&o||e.resource.Steel.display&&e.tech.smelting>=2&&!e.race.steelen){let h=$(`
      `);r.append(h),h.append(`
      ${t("modal_smelter_type")}: {{s.count | son}}/{{ s.cap | on }}
      `);let d=$('
      ');h.append(d);let g=$(`${e.resource.Iron.name} {{ s.Iron }}`),w=$(`«`),k=$(`»`);if(d.append(w),d.append(g),d.append(k),e.resource.Steel.display&&e.tech.smelting>=2&&!e.race.steelen){let M=$(`${e.resource.Steel.name} {{ s.Steel }}`),q=$(`«`),P=$(`»`);d.append(q),d.append(M),d.append(P)}if(e.resource.Iridium.display&&o){let M=$(`${e.resource.Iridium.name} {{ s.Iridium }}`),q=$(`«`),P=$(`»`);d.append(q),d.append(M),d.append(P)}}C({el:a||"#specialModal",data:{s:e.city.smelter,lum:e.resource.Lumber,coal:e.resource.Coal,oil:e.resource.Oil,food:e.resource.Food,fur:e.resource.Furs},methods:{addFuel(h){let d=W();for(let g=0;g=e.city.smelter.StarCap)break;if(w0)h!=="Wood"&&e.city.smelter.Wood>0?(e.city.smelter.Wood--,e.city.smelter[h]++):h!=="Coal"&&e.city.smelter.Coal>0?(e.city.smelter.Coal--,e.city.smelter[h]++):h!=="Oil"&&e.city.smelter.Oil>0?(e.city.smelter.Oil--,e.city.smelter[h]++):h!=="Inferno"&&e.city.smelter.Inferno>0&&(e.city.smelter.Inferno--,e.city.smelter[h]++);else break}},subFuel(h){let d=W();for(let g=0;g0;g++){e.city.smelter[h]--,e.race.forge&&h==="Inferno"&&e.city.smelter.Oil++;let w=e.city.smelter.Wood+e.city.smelter.Coal+e.city.smelter.Oil+e.city.smelter.Star+e.city.smelter.Inferno;e.city.smelter.Iron+e.city.smelter.Steel+e.city.smelter.Iridium>w&&(e.city.smelter.Iron>0?e.city.smelter.Iron--:e.city.smelter.Steel>0?e.city.smelter.Steel--:e.city.smelter.Iridium>0&&e.city.smelter.Iridium--)}},mLabel(h){return u(h)},addMetal(h){let d=W();for(let g=0;g0&&h!=="Iron")e.city.smelter.Iron--,e.city.smelter[h]++;else if(e.city.smelter.Steel>0&&h!=="Steel")e.city.smelter.Steel--,e.city.smelter[h]++;else if(e.city.smelter.Iridium>0&&h!=="Iridium")e.city.smelter.Iridium--,e.city.smelter[h]++;else break}},subMetal(h){let d=W();e.city.smelter[h]-=d,e.city.smelter[h]<0&&(e.city.smelter[h]=0)},buildLabel(h){return l(h)},ariaCount(h){return` ${e.city.smelter[h]} ${h} fueled.`},ariaProd(h){return`. ${e.city.smelter[h]} producing ${h}.`},net(h){return e.resource[h].diff>=0?"has-text-success":"has-text-danger"},level(){let h=e.city.smelter.Wood+e.city.smelter.Coal+e.city.smelter.Oil+e.city.smelter.Star+e.city.smelter.Inferno;return wi(h,e.city.smelter.count)}},filters:{on(h){return e.city.smelter.Wood+e.city.smelter.Coal+e.city.smelter.Oil+e.city.smelter.Star+e.city.smelter.Inferno},son(h){return e.city.smelter.Iron+e.city.smelter.Steel+e.city.smelter.Iridium},diffSize(h){return h>0?`+${X(h,2)}`:X(h,2)},spook(h){if(a&&((e.race.kindling_kindred||e.race.smoldering)&&(e.city.smelter.Steel===6||e.city.smelter.Iron===6)||e.city.smelter.Wood===6)&&e.city.smelter.Coal===6&&e.city.smelter.Oil===6){let d=mt(3,12,!0);if(d.length>0)return d}return h},altspook(h){if(a&&e.race.forge&&e.city.smelter.Steel===6&&e.city.smelter.Iron===6){let d=mt(3,12,!0);if(d.length>0)return d}return h}}});function l(h){switch(h){case"wood":return t("modal_build_wood",[e.race.evil?e.race.soul_eater&&e.race.species!=="wendigo"&&!e.race.artifical?e.resource.Food.name:e.resource.Furs.name:e.resource.Lumber.name,e.race.evil&&!e.race.soul_eater||e.race.species==="wendigo"?1:3]);case"coal":{let d=e.race.kindling_kindred?.15:.25;return e.tech.uranium&&e.tech.uranium>=3?t("modal_build_coal2",[d,t("resource_Coal_name"),t("resource_Uranium_name")]):t("modal_build_coal1",[d,t("resource_Coal_name")])}case"oil":return e.race.forge?t("modal_build_forge"):t("modal_build_oil",["0.35",t("resource_Oil_name")]);case"star":return e.tech.irid_smelting?t("modal_build_star2",[t("resource_Titanium_name"),t("resource_Iridium_name")]):t("modal_build_star",[t("resource_Titanium_name")]);case"inferno":{let d=50,g=35,w=.5;return t("modal_build_inferno",[d,t("resource_Coal_name"),g,t("resource_Oil_name"),w,t("resource_Infernite_name")])}}}function u(h){if(h==="steel"){let d=e.tech.smelting>=4?1.2:1;return e.tech.smelting>=5&&(d*=1.2),e.tech.smelting>=6&&(d*=1.2),e.tech.smelting>=7&&(d*=1.25),e.race.pyrophobia&&(d*=.9),t("modal_smelter_steel",[+d.toFixed(3),t("resource_Steel_name"),t("resource_Coal_name"),t("resource_Iron_name")])}else if(h==="iridium"){let d=e.tech.smelting>=7?6.25:5;return e.race.pyrophobia&&(d*=.9),t("modal_smelter_iron",[+d.toFixed(3),t("resource_Iridium_name")])}else{let d=e.tech.smelting>=3?e.tech.smelting>=7?15:12:10;return e.race.pyrophobia&&(d*=.9),t("modal_smelter_iron",[+d.toFixed(3),t("resource_Iron_name")])}}let p=r.hasClass("modalBody")?"mSmelterFuels":"smelterFuels";if(["wood","coal","oil","star","inferno"].forEach(function(h){N(`${p}${h}`,function(){return l(h)},{elm:$(`#${p} > .${h}`),attach:"#main"})}),e.resource.Steel.display&&e.tech.smelting>=2&&!e.race.steelen||e.resource.Iridium.display&&o){let h=r.hasClass("modalBody")?"mSmelterMats":"smelterMats";["iron","steel","iridium"].forEach(function(d){d==="steel"&&(!e.resource.Steel.display||e.race.steelen)||d==="iridium"&&!(e.resource.Iridium.display&&o)||N(`${h}${d}`,function(){return u(d)},{elm:$(`#${h} span.${d}`),attach:"#main"})})}}function b_(r,a){let i=$(`
      ${t("modal_factory_operate")}: {{count | on}}/{{ on | max }}
      `);r.append(i);let s=$(`
      ${t("modal_factory_lux")}
      `);r.append(s);let n=$(''),c=$(`«`),o=$(`»`);if(s.append(c),s.append(n),s.append(o),e.tech.synthetic_fur){let g=$(`
      ${e.race.evil?t("resource_Flesh_name"):t("resource_Furs_name")}
      `);r.append(g);let w=$('{{ Furs }}'),k=$(`«`),M=$(`»`);g.append(k),g.append(w),g.append(M)}let l=$(`
      ${t("resource_Alloy_name")}
      `);r.append(l);let u=$('{{ Alloy }}'),p=$(`«`),h=$(`»`);if(l.append(p),l.append(u),l.append(h),e.tech.polymer){let g=$(`
      ${t("resource_Polymer_name")}
      `);r.append(g);let w=$('{{ Polymer }}'),k=$(`«`),M=$(`»`);g.append(k),g.append(w),g.append(M)}if(e.tech.nano){let g=$(`
      ${t("resource_Nano_Tube_name")}
      `);r.append(g);let w=$('{{ Nano }}'),k=$(`«`),M=$(`»`);g.append(k),g.append(w),g.append(M)}if(e.tech.stanene){let g=$(`
      ${t("resource_Stanene_name")}
      `);r.append(g);let w=$('{{ Stanene }}'),k=$(`«`),M=$(`»`);g.append(k),g.append(w),g.append(M)}C({el:a||"#specialModal",data:e.city.factory,methods:{subItem:function(g){let w=W();for(var k=0;k0;k++)e.city.factory[g]--},addItem:function(g){let w=e.space.red_factory?e.space.red_factory.on+e.city.factory.on:e.city.factory.on;e.interstellar.int_factory&&H.int_factory&&(w+=H.int_factory*2),e.tauceti.tau_factory&&be.tau_factory&&(w+=be.tau_factory*(e.tech.isolation?5:3));let k=W();for(var M=0;M0)e.city.factory.Alloy--,e.city.factory[g]++;else break}},buildLabel:function(g){return d(g)},ariaProd(g){return`. ${e.city.factory[g]} factories producing ${g}.`},level(){let g=e.city.factory.Lux+e.city.factory.Furs+e.city.factory.Alloy+e.city.factory.Polymer+e.city.factory.Nano+e.city.factory.Stanene,w=e.space.red_factory?e.space.red_factory.on+e.city.factory.on:e.city.factory.on;return e.interstellar.int_factory&&H.int_factory&&(w+=H.int_factory*2),e.tauceti.tau_factory&&be.tau_factory&&(w+=be.tau_factory*(e.tech.isolation?5:3)),wi(g,w)}},filters:{on(){return e.city.factory.Lux+e.city.factory.Furs+e.city.factory.Alloy+e.city.factory.Polymer+e.city.factory.Nano+e.city.factory.Stanene},max(){let g=e.space.red_factory?e.space.red_factory.on+e.city.factory.on:e.city.factory.on;return e.interstellar.int_factory&&H.int_factory&&(g+=H.int_factory*2),e.tauceti.tau_factory&&be.tau_factory&&(g+=be.tau_factory*(e.tech.isolation?5:3)),g},spook(g){if(e.city.factory.Lux===3&&a){let w=mt(6,12,!0);if(w.length>0)return w}return g}}});function d(g){let w=!!e.tech.factory;switch(g){case"Lux":{let k=+(he(e.resource[e.race.species].amount)*(w?ct.Lux.demand[e.tech.factory]:ct.Lux.demand[0]));k=w_(k).toFixed(2);let M=w?ct.Lux.fur[e.tech.factory]:ct.Lux.fur[0];return t("modal_factory_lux_label",[M,e.resource.Furs.name,k])}case"Furs":{let k=w?ct.Furs.money[e.tech.factory]:ct.Furs.money[0],M=w?ct.Furs.polymer[e.tech.factory]:ct.Furs.polymer[0];return t("modal_factory_alloy_label",[k,t("resource_Money_name"),M,t("resource_Polymer_name"),e.race.evil?t("resource_Flesh_name"):t("resource_Furs_name")])}case"Alloy":{let k=w?ct.Alloy.copper[e.tech.factory]:ct.Alloy.copper[0],M=w?ct.Alloy.aluminium[e.tech.factory]:ct.Alloy.aluminium[0];return t("modal_factory_alloy_label",[k,t("resource_Copper_name"),M,t("resource_Aluminium_name"),t("resource_Alloy_name")])}case"Polymer":if(e.race.kindling_kindred||e.race.smoldering){let k=w?ct.Polymer.oil_kk[e.tech.factory]:ct.Polymer.oil_kk[0];return t("modal_factory_polymer_label2",[k,t("resource_Oil_name"),t("resource_Polymer_name")])}else{let k=w?ct.Polymer.oil[e.tech.factory]:ct.Polymer.oil[0],M=w?ct.Polymer.lumber[e.tech.factory]:ct.Polymer.lumber[0];return t("modal_factory_polymer_label1",[k,t("resource_Oil_name"),M,e.resource.Lumber.name,t("resource_Polymer_name")])}case"Nano":{let k=w?ct.Nano_Tube.coal[e.tech.factory]:ct.Nano_Tube.coal[0],M=w?ct.Nano_Tube.neutronium[e.tech.factory]:ct.Nano_Tube.neutronium[0];return t("modal_factory_nano_label",[k,t("resource_Coal_name"),M,t("resource_Neutronium_name"),t("resource_Nano_Tube_name")])}case"Stanene":{let k=w?ct.Stanene.aluminium[e.tech.factory]:ct.Stanene.aluminium[0],M=w?ct.Stanene.nano[e.tech.factory]:ct.Stanene.nano[0];return t("modal_factory_stanene_label",[k,t("resource_Aluminium_name"),M,t("resource_Nano_Tube_name"),t("resource_Stanene_name")])}}}["Lux","Furs","Alloy","Polymer","Nano","Stanene"].forEach(function(g){let w=r.hasClass("modalBody")?"specialModal":"iFactory";N(`${w}${g}`,function(){return d(g)},{elm:$(`#${w} .factory > .${g}`),attach:"#main"})})}function w_(r){e.race.toxic&&(r*=1+v.toxic.vars()[0]/100);let a=re("shroomi");return a>0&&(r*=1+v.toxic.vars(1)[0]/100*a),e.civic.govern.type==="corpocracy"&&(r*=2.5),e.civic.govern.type==="socialist"&&(r*=.8),e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=2&&(r*=1.1),e.race.inflation&&(r*=1+e.race.inflation/1250),e.tech.isolation&&(r*=1+(be.colony||0)*.5),e.stats.achieve.endless_hunger&&e.stats.achieve.endless_hunger.l>=4&&e.city.banquet&&e.city.banquet.count>=4&&e.city.banquet.strength&&(r*=1+e.city.banquet.strength**.75/100),r*=ie("psychic_cash"),r}var xa=["Lumber","Chrysotile","Stone","Crystal","Furs","Copper","Iron","Aluminium","Cement","Coal","Oil","Uranium","Steel","Titanium","Alloy","Polymer","Iridium","Helium_3","Water","Deuterium","Neutronium","Adamantite","Bolognium","Orichalcum"];function k_(r,a){let i=$(`
      ${t("modal_factory_operate")}: {{count | on}}/{{ count | max }}
      `);r.append(i);let s=r.hasClass("modalBody")?"mNFactoryRes":"NFactoryRes",n=$(`
      `);r.append(n),xa.forEach(function(o){if(e.resource[o].display){let l=$(`${e.resource[o].name} {{ ${o} }}`),u=$(`«`),p=$(`»`);n.append(u),n.append(l),n.append(p)}}),C({el:a||"#specialModal",data:e.city.nanite_factory,methods:{subItem:function(o){let l=W();e.city.nanite_factory[o]-=l,e.city.nanite_factory[o]<0&&(e.city.nanite_factory[o]=0)},addItem:function(o){let l=W(),u=0;xa.forEach(function(h){u+=e.city.nanite_factory[h]});let p=e.city.nanite_factory.count*50-u;l>p&&(l=p),l>0&&(e.city.nanite_factory[o]+=l)},eatLabel(o){return`Consume ${o} to produce ${e.resource.Nanite.name}`},level(){let o=0;xa.forEach(function(u){o+=e.city.nanite_factory[u]});let l=e.city.nanite_factory.count;return wi(o,l)}},filters:{on(){let o=0;return xa.forEach(function(l){o+=e.city.nanite_factory[l]}),o},max(){return e.city.nanite_factory.count*50}}});function c(o){let l=+(Ve[o]/100*(v.deconstructor.vars()[0]/100)).toFixed(4),u=+(e.city.nanite_factory[o]*l).toFixed(4);return t("modal_nfactory_resource_label",[1,e.resource[o].name,l,e.resource.Nanite.name,e.city.nanite_factory[o],u])}xa.forEach(function(o){let l=r.hasClass("modalBody")?"specialModal":"iNFactory";N(`${l}${o}`,function(){return c(o)},{elm:$(`#${l} > .fuels > .${o}`),attach:"#main"})})}function $_(r,a){let i=$(`
      ${t("modal_factory_operate")}: {{count | on}}/{{ on | max }}
      `);r.append(i);let s=$(`
      ${t("resource_Adamantite_name")}
      `);r.append(s);let n=$('{{ adam }}'),c=$(`«`),o=$(`»`);s.append(c),s.append(n),s.append(o);let l=$(`
      ${t("resource_Uranium_name")}
      `);r.append(l);let u=$('{{ uran }}'),p=$(`«`),h=$(`»`);l.append(p),l.append(u),l.append(h);let d=$(`
      ${t("resource_Coal_name")}
      `);r.append(d);let g=$('{{ coal }}'),w=$(`«`),k=$(`»`);d.append(w),d.append(g),d.append(k);let M=$(`
      ${t("resource_Aluminium_name")}
      `);r.append(M);let q=$('{{ alum }}'),P=$(`«`),O=$(`»`);M.append(P),M.append(q),M.append(O),C({el:a||"#specialModal",data:e.interstellar.mining_droid,methods:{subItem:function(Z){let z=W();for(var Y=0;Y0;Y++)e.interstellar.mining_droid[Z]--},addItem:function(Z){let z=W();for(var Y=0;Y .${Z}`),attach:"#main"})})}function x_(r,a){let i=e.race.truepath?"space":"interstellar",s=$(`
      ${t("modal_smelter_fuel")}: {{count | on}}/{{ on | max }}
      `);r.append(s);let n=$("
      ");if(r.append(n),!e.race.kindling_kindred&&!e.race.smoldering){let o=e.resource.Lumber.name,l=$(`${o} {{ Lumber }}`),u=$('«'),p=$('»');n.append(u),n.append(l),n.append(p)}if(e.resource.Coal.display){let o=$(`${e.resource.Coal.name} {{ Coal }}`),l=$('«'),u=$('»');n.append(l),n.append(o),n.append(u)}if(e.resource.Oil.display){let o=$(`${e.resource.Oil.name} {{ Oil }}`),l=$('«'),u=$('»');n.append(l),n.append(o),n.append(u)}C({el:a||"#specialModal",data:e[i].g_factory,methods:{subWood(){let o=W();for(let l=0;l0;l++)e[i].g_factory.Lumber--},addWood(){let o=W();for(let l=0;l0)e[i].g_factory.Oil>e[i].g_factory.Coal?e[i].g_factory.Coal>0?e[i].g_factory.Coal--:e[i].g_factory.Oil--:e[i].g_factory.Oil>0?e[i].g_factory.Oil--:e[i].g_factory.Coal--,e[i].g_factory.Lumber++;else break},subCoal(){let o=W();for(let l=0;l0;l++)e[i].g_factory.Coal--},addCoal(){let o=W();for(let l=0;l0)e[i].g_factory.Lumber>0?e[i].g_factory.Lumber--:e[i].g_factory.Oil--,e[i].g_factory.Coal++;else break},subOil(){let o=W();for(let l=0;l0;l++)e[i].g_factory.Oil--},addOil(){let o=W();for(let l=0;l0)e[i].g_factory.Lumber>0?e[i].g_factory.Lumber--:e[i].g_factory.Coal--,e[i].g_factory.Oil++;else break},buildLabel(o){return c(o)},ariaCount(o){return` ${e[i].g_factory[o]} ${o} fueled.`},ariaProd(o){return`. ${e[i].g_factory[o]} producing ${o}.`},level(){let o=e[i].g_factory.Lumber+e[i].g_factory.Coal+e[i].g_factory.Oil,l=e[i].g_factory.on;return wi(o,l)}},filters:{on:function(o){return e[i].g_factory.Lumber+e[i].g_factory.Coal+e[i].g_factory.Oil}}});function c(o){switch(o){case"wood":return t("modal_graphene_produce",[350,e.race.evil?t("resource_Bones_name"):t("resource_Lumber_name"),t("resource_Graphene_name")]);case"coal":return t("modal_graphene_produce",[25,t("resource_Coal_name"),t("resource_Graphene_name")]);case"oil":return t("modal_graphene_produce",[15,t("resource_Oil_name"),t("resource_Graphene_name")])}}["wood","coal","oil"].forEach(function(o){let l=r.hasClass("modalBody")?"specialModal":"iGraphene";N(`${l}${o}`,function(){return c(o)},{elm:$(`#${l} > div > .${o}`),attach:"#main"})})}function q_(r,a){let i=$(`
      ${t("modal_pylon_casting")}: {{total | drain}}
      `);r.append(i);let s=$('
      ');r.append(s);let n=["science","army","hunting"];!e.race.detritivore&&!e.race.carnivore&&!e.race.soul_eater&&!e.race.artifical&&!e.race.unfathomable&&!e.race.cataclysm&&!e.race.orbit_decayed&&n.push("farmer"),e.race.cataclysm||n.push("miner"),!e.race.kindling_kindred&&!e.race.smoldering&&!e.race.evil&&!e.race.cataclysm&&!e.race.orbit_decayed&&n.push("lumberjack"),e.race.flier||n.push("factory"),e.tech.magic>=4&&n.push("crafting"),e.tech.magic&&e.tech.magic>=3&&n.forEach(function(o){let l=$(`${t(`modal_pylon_spell_${o}`)} {{ ${o} }}`),u=$(`«`),p=$(`»`);s.append(u),s.append(l),s.append(p)}),C({el:a||"#specialModal",data:e.race.casting,methods:{buildLabel(o){return c(o)},addSpell(o){let l=W();for(let u=0;u=p)e.race.casting[o]++,e.race.casting.total++,e.resource.Mana.diff-=p;else break}},subSpell(o){let l=W();for(let u=0;u0;u++)e.race.casting[o]--,e.race.casting.total--},ariaCount(o){return` ${o} casting.`},level(){return wi(e.race.casting.total,e.resource.Mana.gen,!0)}},filters:{drain:function(o){let l=0;return n.forEach(function(u){e.race.casting[u]&&e.race.casting[u]>0&&(l+=bi(e.race.casting[u]))}),t("modal_pylon_casting_cost",[+l.toFixed(3)])}}});function c(o){let l=+bi(e.race.casting[o]).toFixed(4),u=+(bi(e.race.casting[o]+1)-bi(e.race.casting[o])).toFixed(4),p=+(100*(e.race.casting[o]/(e.race.casting[o]+75))).toFixed(2);if(o==="crafting"){let h=+(100*(2*e.race.casting[o]/(2*e.race.casting[o]+75))).toFixed(2);return t("modal_pylon_casting_label_crafting",[l,p,h,u])}return t("modal_pylon_casting_label",[t(`modal_pylon_spell_${o}`),l,u,p])}n.forEach(function(o){let l=r.hasClass("modalBody")?"specialModal":"iPylon";N(`${l}${o}`,function(){return c(o)},{elm:$(`#${l} > .pylon > .${o}`),attach:"#main"})})}function P_(r,a){r.append($(`
      ${t("modal_quarry_ratio",[e.resource.Chrysotile.name])}
      `));let i=$('
      «»
      ');r.append(i),C({el:a||"#specialModal",data:e.city.rock_quarry,methods:{sub(){let s=W();e.city.rock_quarry.asbestos>0&&(e.city.rock_quarry.asbestos-=s,e.city.rock_quarry.asbestos<0&&(e.city.rock_quarry.asbestos=0))},add(){let s=W();e.city.rock_quarry.asbestos<100&&(e.city.rock_quarry.asbestos+=s,e.city.rock_quarry.asbestos>100&&(e.city.rock_quarry.asbestos=100))}}})}function M_(r,a){let i=$(`
      ${t("eden_mech_station_control")}
      `);r.append(i);let s=$('{{ mode | patrolMode }}'),n=$('«'),c=$('»');i.append(n),i.append(s),i.append(c);let o=$('
      ');o.append($('')),o.append($('')),r.append(o),C({el:a||"#specialModal",data:e.eden.mech_station,methods:{lower:function(){e.eden.mech_station.mode>0&&e.eden.mech_station.mode--},higher:function(){e.eden.mech_station.mode<5&&e.eden.mech_station.mode++}},filters:{patrolMode(l){return t(`eden_mech_station_patrol${l}`)},patrol(l){return t("eden_mech_station_mechs",[l])},effect(l){return t("eden_mech_station_effective",[l])}}})}function O_(r,a){r.append($(`
      ${t("modal_quarry_ratio",[e.resource.Adamantite.name])}
      `));let i=$('
      «»
      ');r.append(i),C({el:a||"#specialModal",data:e.space.titan_mine,methods:{sub(){let s=W();e.space.titan_mine.ratio>0&&(e.space.titan_mine.ratio-=s,e.space.titan_mine.ratio<0&&(e.space.titan_mine.ratio=0))},add(){let s=W();e.space.titan_mine.ratio<100&&(e.space.titan_mine.ratio+=s,e.space.titan_mine.ratio>100&&(e.space.titan_mine.ratio=100))}}})}function S_(r,a){r.append($(`
      ${t("tau_roid_mining_ship_ratio",[e.resource.Iron.name,e.resource.Aluminium.name])}
      `));let i=$(`
      «»
      `);r.append(i),r.append($(`
      ${t("tau_roid_mining_ship_ratio",[e.resource.Iridium.name,e.resource.Neutronium.name])}
      `));let s=$(`
      «»
      `);if(r.append(s),e.tech.tau_roid>=5){r.append($(`
      ${t("tau_roid_mining_ship_ratio",[e.resource.Orichalcum.name,e.resource.Elerium.name])}
      `));let n=$(`
      «»
      `);r.append(n)}C({el:a||"#specialModal",data:e.tauceti.mining_ship,methods:{sub(n){let c=W();e.tauceti.mining_ship[n]>0&&(e.tauceti.mining_ship[n]-=c,e.tauceti.mining_ship[n]<0&&(e.tauceti.mining_ship[n]=0))},add(n){let c=W();e.tauceti.mining_ship[n]<100&&(e.tauceti.mining_ship[n]+=c,e.tauceti.mining_ship[n]>100&&(e.tauceti.mining_ship[n]=100))}}})}function C_(r,a){r.append($(`
      ${t("tau_gas2_alien_station_focus",[e.resource.Knowledge.name])}
      `));let i=$(`
      «»
      `);r.append(i),C({el:a||"#specialModal",data:e.tauceti.alien_space_station,methods:{sub(s){let n=W();e.tauceti.alien_space_station[s]>0&&(e.tauceti.alien_space_station[s]-=n,e.tauceti.alien_space_station[s]<0&&(e.tauceti.alien_space_station[s]=0))},add(s){let n=W();e.tauceti.alien_space_station[s]<100&&(e.tauceti.alien_space_station[s]+=n,e.tauceti.alien_space_station[s]>100&&(e.tauceti.alien_space_station[s]=100))}}})}function j_(r,a){if(e.race.replicator){r.append($(`
      ${e.race.universe==="antimatter"?t("tech_antireplicator"):t("tech_replicator")}
      `));let i=$('
      ');if(r.append(i),a){let l="";Object.keys(Ve).forEach(function(u){u!=="Asphodel_Powder"&&u!=="Elysanite"&&(l+=`${e.resource[u].name}`)}),i.append(`
      ${l} @@ -404,10 +404,10 @@ {{ ss_genus | genus }} {{ 'none' | genus }}${n} - `),C({el:"#sshifter",data:e.race,methods:{setShape(c){Zr(c)}},filters:{genus(c){return t(`genelab_genus_${c}`)}}})}e.race.ss_traits=s}function D(r){if(e.race.empowered&&r!=="empowered")switch(e.race[r]){case .1:return v.empowered.vars()[0]>=2?.5:.25;case .25:return v.empowered.vars()[0]>=2?1:.5;case .5:return v.empowered.vars()[0]>=2?2:1;case 1:return v.empowered.vars()[0]>=1?v.empowered.vars()[0]>=2?3:2:1;case 2:return v.empowered.vars()[0]>=1?v.empowered.vars()[0]>=2?4:3:2;case 3:return v.empowered.vars()[0]>=1?4:3;case 4:return 4}return e.race[r]}function me(r,a){if(a=a||{},e.race[r]&&!a.force)switch(e.race[r]){case .1:return e.race[r]=a.down?.1:.25,!a.down;case .25:return e.race[r]=a.down?.1:.5,!0;case .5:return e.race[r]=a.down?.25:1,!0;case 1:return e.race[r]=a.down?.5:2,!0;case 2:return e.race[r]=a.down?1:3,!0;case 3:return e.race[r]=a.down?2:4,!0;case 4:return e.race[r]=a.down?3:4,!!a.down}else if(a.set)return e.race[r]=a.set,!0;return!1}function re(r){if(e.race.unfathomable&&e.city.surfaceDwellers&&e.city.surfaceDwellers.includes(r)&&e.city.captive_housing){let a=e.city.surfaceDwellers.indexOf(r),i=e.city.captive_housing[`race${a}`];if(i>100&&(i=100),i>e.civic.torturer.workers){let n=i-e.civic.torturer.workers;i-=Math.ceil(n/3)}let s=(e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0)/5;return i/100*s}return 0}function Tt(r,a,i){let s=i?xt[x[i].type].artifical:e.race.artifical;switch(r){case"name":{let n={hooved:sn(!1,i),promiscuous:s?t("trait_promiscuous_synth_name"):v.promiscuous.name};return a?n[a]?n[a]:v[a].name:n}case"desc":{let n={hooved:sn(!0,i),promiscuous:s?t("trait_promiscuous_synth"):v.promiscuous.desc};return a?n[a]?n[a]:v[a].desc:n}}}function sn(r,a=e.race.species){let i=a===e.race.species&&e.race.maintype||x[a].type;return a==="sludge"||a==="ultra_sludge"?r?t("trait_hooved_slime"):t("trait_hooved_slime_name"):["cath","wolven","dracnid","seraph","cyclops","kobold","tuskin","sharkin","beholder","djinn"].includes(a)?r?t(`trait_hooved_${a}`):t(`trait_hooved_${a}_name`):["humanoid","avian","plant","fungi","reptilian","fey","synthetic"].includes(i)?r?t(`trait_hooved_${i}`):t(`trait_hooved_${i}_name`):r?v.hooved.desc:v.hooved.name}var xe={grassland:{label:t("biome_grassland_name"),desc:t("biome_grassland"),vars(){return e.race.rejuvenated?[1.25]:[1.2]},wiki:["%"]},oceanic:{label:t("biome_oceanic_name"),desc:t("biome_oceanic"),vars(){return e.race.rejuvenated?[1.25,1.12,.92]:[1.12,1.06,.95]},wiki:["%","%","%"]},forest:{label:t("biome_forest_name"),desc:t("biome_forest"),vars(){return e.race.rejuvenated?[1.35]:[1.2]},wiki:["%"]},desert:{label:t("biome_desert_name"),desc:t("biome_desert"),vars(){return e.race.rejuvenated?[1.35,1.18,.6]:[1.2,1.1,.75]},wiki:["%","%","%"]},volcanic:{label:t("biome_volcanic_name"),desc:t("biome_volcanic"),vars(){return e.race.rejuvenated?[.8,1.25,1.15]:[.9,1.12,1.08]},wiki:["%","%","%"]},tundra:{label:t("biome_tundra_name"),desc:t("biome_tundra"),vars(){return e.race.rejuvenated?[1.5,.8]:[1.25,.9]},wiki:["%","%"]},savanna:{label:t("biome_savanna_name"),desc:t("biome_savanna"),vars(){return e.race.rejuvenated?[1.18,1.25,.75]:[1.1,1.18,.8]},wiki:["%","%","%"]},swamp:{label:t("biome_swamp_name"),desc:t("biome_swamp"),vars(){return e.race.rejuvenated?[1.6,1.35,1.15,.78]:[1.4,1.25,1.1,.88]},wiki:["%","%","%","%"]},ashland:{label:t("biome_ashland_name"),desc:t("biome_ashland"),vars(){return e.race.rejuvenated?[.55,1.35,1.2]:[.62,1.25,1.1]},wiki:["%","%","%"]},taiga:{label:t("biome_taiga_name"),desc:t("biome_taiga"),vars(){return e.race.rejuvenated?[1.2,1.65,.88]:[1.1,1.5,.92]},wiki:["%","%","%"]},hellscape:{label:t("biome_hellscape_name"),desc:t("biome_hellscape"),vars(){return e.race.rejuvenated?[.2]:[.25]},wiki:["%"]},eden:{label:t("biome_eden_name"),desc:t("biome_eden")}},Ie={toxic:{label:t("planet_toxic"),desc:t("planet_toxic_desc"),vars(){return e.race.rejuvenated?[2,1.5]:[1,1.25]},wiki:["A","-%"]},mellow:{label:t("planet_mellow"),desc:t("planet_mellow_desc"),vars(){return e.race.rejuvenated?[2,3,.88]:[1.5,2,.9]},wiki:["%","A","%"]},rage:{label:t("planet_rage"),desc:t("planet_rage_desc"),vars(){return e.race.rejuvenated?[1.1,1.05,1]:[1.05,1.02,1]},wiki:["%","%","A"]},stormy:{label:t("planet_stormy"),desc:t("planet_stormy_desc")},ozone:{label:t("planet_ozone"),desc:t("planet_ozone_desc"),vars(){return e.race.rejuvenated?[.18]:[.25]},wiki:["-A"]},magnetic:{label:t("planet_magnetic"),desc:t("planet_magnetic_desc"),vars(){return e.race.rejuvenated?[2,150,.98]:[1,100,.985]},wiki:["A","A","%"]},trashed:{label:t("planet_trashed"),desc:t("planet_trashed_desc"),vars(){return e.race.rejuvenated?[.8,1.2]:[.75,1]},wiki:["%","%"]},elliptical:{label:t("planet_elliptical"),desc:t("planet_elliptical_desc")},flare:{label:t("planet_flare"),desc:t("planet_flare_desc")},dense:{label:t("planet_dense"),desc:t("planet_dense_desc"),vars(){return e.race.rejuvenated?[1.5,1.2,1.35]:[1.2,1,1.2]},wiki:["%","A","%"]},unstable:{label:t("planet_unstable"),desc:t("planet_unstable_desc")},permafrost:{label:t("planet_permafrost"),desc:t("planet_permafrost_desc"),vars(){return e.race.rejuvenated?[.7,125]:[.75,100]},wiki:["%","A"]},retrograde:{label:t("planet_retrograde"),desc:t("planet_retrograde_desc")},kamikaze:{label:t("planet_kamikaze"),desc:t("planet_kamikaze_desc"),vars(){return[100,-1]},wiki:["A","A"]}};function qa(){let r=e.city.calendar.orbit;return e.city.ptrait.includes("kamikaze")&&(r-=e.city.calendar.year,(!e.race.truepath||e.race.lone_survivor||e.tech.titan_ai_core||e.race.tidal_decay)&&r<100&&(r=100)),r}function ll(){return e.race.hasOwnProperty("shell_color")?t(`color_${e.race.shell_color}`):t("color_green")}function L_(){return e.race.hasOwnProperty("fox_color")?t(`color_${e.race.fox_color}`):t("color_red")}function hc(r){r=r||[];let a=Object.keys(x).filter(function(s){return!["custom","hybrid"].includes(s)&&!r.includes(s)&&x[s].basic()}),i=Yi(a);return a[i]}function Xr(){if(!e.settings.tabLoad&&(e.settings.civTabs!==2||e.settings.govTabs!==7))return;let r=$("#supernatural");K(r),e.race.wish&&e.tech.wish&&e.race.wishStats&&(D_(r),e.tech.wish>=2&&K_(r)),e.race.ocular_power&&B_(r)}function D_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("tech_minor_wish")} -
      `));let i=$('
      ');a.append(i),i.append('
      '),i.append(`
      `),i.append('
      '),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),C({el:"#minorWish",data:e.race.wishStats,methods:{know(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["inspire"];switch(!e.race.lone_survivor&&!e.race.cataclysm&&!e.race.orbit_decay&&s.push("know"),e.tech.science&&(e.tech.science>=1&&e.tech.science<=3||e.tech.high_tech&&e.tech.high_tech>=3&&e.tech.science>=4&&e.tech.science<=6||e.tech.high_tech&&e.tech.high_tech>=4&&e.tech.science===7||e.tech.space&&e.tech.space>=3&&e.tech.science===8&&e.tech.luna||e.tech.alpha&&e.tech.alpha>=2&&e.tech.science===11||e.tech.high_tech&&e.tech.high_tech>=12&&e.tech.science===12||e.tech.infernite&&e.tech.infernite>=2&&e.tech.science===13||e.tech.neutron&&e.tech.science===14||e.tech.xeno&&e.tech.xeno>=4&&e.tech.science===15||e.tech.high_tech&&e.tech.high_tech>=16&&e.tech.science===16||e.tech.conflict&&e.tech.conflict>=5&&e.tech.science===17||e.tech.high_tech&&e.tech.high_tech>=17&&e.tech.science===18||e.tech.high_tech&&e.tech.high_tech>=18&&e.tech.science===19||e.tech.asphodel&&e.tech.asphodel>=3&&e.tech.science===21||e.tech.asphodel&&e.tech.asphodel>=8&&e.tech.science===22)&&s.push("science"),s[Math.floor(T(0,s.length))]){case"inspire":{e.race.inspired=Math.floor(T(300,600));let c=t("event_inspiration");I(c,!1,!1,["events","major_events"]);break}case"know":{let c=Math.floor(T(e.resource.Knowledge.max/5,e.resource.Knowledge.max/2));e.resource.Knowledge.amount+=c,e.resource.Knowledge.amount>e.resource.Knowledge.max&&(e.resource.Knowledge.amount=e.resource.Knowledge.max),I(t("wish_know",[e.resource.Knowledge.name,X(c)]),"warning",!1,["events"]);break}case"science":{switch(e.tech.science++,e.tech.science){case 2:e.city.library={count:0};break;case 8:e.race.toxic&&e.race.species==="troll"&&B("godwin");break;case 9:e.space.observatory={count:0,on:0};break;case 12:e.interstellar.laboratory={count:0,on:0};break}Ht(),ae();let c={2:"library",3:"thesis",4:"research_grant",5:"scientific_journal",6:"adjunct_professor",7:"tesla_coil",8:"internet",9:"observatory",12:"laboratory",13:"virtual_assistant",14:"dimensional_readings",15:"quantum_entanglement",16:"expedition",17:"subspace_sensors",18:"alien_database",19:"orichalcum_capacitor",20:"advanced_biotech"},o=typeof m.tech[c[e.tech.science]].title=="function"?m.tech[c[e.tech.science]].title():m.tech[c[e.tech.science]].title;I(t("wish_tech",[o]),"warning",!1,["progress"]);break}}}},money(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["money","robbery"];switch(e.race.wishStats.tax===0&&s.push("taxes"),s[Math.floor(T(0,s.length))]){case"money":{let c=Math.floor(T(1,Math.round(e.resource.Money.max/8)));e.resource.Money.amount+=c,e.resource.Money.amount>e.resource.Money.max&&(e.resource.Money.amount=e.resource.Money.max),I(t("wish_cash",[X(c)]),"warning",!1,["events"]);break}case"taxes":{e.race.wishStats.tax=5,e.civic.taxes.rax_rate=Jt("tax_cap"),I(t("wish_taxes"),"warning",!1,["events"]);break}case"robbery":{let c=Math.floor(T(1,Math.round(e.resource.Money.max/8)));e.resource.Money.amount+=c,e.resource.Money.amount>e.resource.Money.max&&(e.resource.Money.amount=e.resource.Money.max);let o=Math.floor(T(0,10));e.race.wishStats.bad+=Math.floor(T(50,100)),I(t("wish_robbery",[t(`wish_robbery${o}`),X(c)]),"warning",!1,["events"]);break}}}},res(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["useless","common","rare","stolen","2xcommon","2xrare"],n=s[Math.floor(T(0,s.length))],c=[];if(["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Oil","Uranium","Steel","Titanium","Alloy","Polymer","Iridium","Helium_3","Crystal","Chrysotile"].forEach(function(o){e.resource[o].display&&e.resource[o].amount*1.05e.resource[u].max&&(e.resource[u].amount=e.resource[u].max)),l.push(p)}),["2xcommon","2xrare"].includes(n)?I(t("wish_gain_double",[X(l[0]),e.resource[o[0]].name,X(l[1]),e.resource[o[1]].name]),"warning",!1,["events"]):["common","rare"].includes(n)?I(t("wish_gain_res",[X(l[0]),e.resource[o[0]].name]),"warning",!1,["events"]):n==="stolen"&&(e.race.wishStats.bad+=Math.floor(T(50,100)),I(t("wish_steal_res",[X(l[0]),e.resource[o[0]].name]),"warning",!1,["events"]))}}},love(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["pet"],n=["gov0","gov1","gov2"];e.race.truepath&&!e.tech.isolation&&e.tech.rival&&n.push("gov3"),n.forEach(function(o){e.civic.foreign[o].hstl>0&&!e.civic.foreign[o].anx&&!e.civic.foreign[o].buy&&!e.civic.foreign[o].occ&&s.push(o)});let c=s[Math.floor(T(0,s.length))];if(c==="pet"){let o=Pt.pet.effect();I(o,!1,!1,["events","minor_events"])}else e.civic.foreign[c].hstl=0}},excite(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/4;let s=fc("minor");if(s.length>0){let n=s[Math.floor(T(0,s.length))],c=Pt[n].effect();I(c,!1,!1,["events","minor_events"]),e.m_event.l=n}}},famous(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["notorious","reputable"],n=Math.floor(T(0,10)),c=_a(!1,!0),o=c[Math.floor(T(0,c.length))];switch(s[Math.floor(T(0,s.length))]){case"notorious":{e.race.wishStats.fame=-10;let u=n===8?[o]:[];I(t("wish_famous",[t(`wish_notorious${n}`,u)]),"warning",!1,["events"]);break}case"reputable":{e.race.wishStats.fame=10;let u=n===4?[o]:[];I(t("wish_famous",[t(`wish_reputable${n}`,u)]),"warning",!1,["events"]);break}}}},strength(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["troops"];switch(e.race.strong||s.push("trait"),e.tech.military&&(e.tech.military===1||e.tech.military===2&&e.tech.explosives||e.tech.military===3&&e.tech.oil||e.tech.military===4&&e.tech.high_tech&&e.tech.high_tech>=4||e.tech.military===5&&e.tech.mass||e.tech.military===6&&e.tech.high_tech&&e.tech.high_tech>=9&&e.tech.elerium||e.tech.military===7&&e.tech.high_tech&&e.tech.high_tech>=13||e.tech.military===8&&e.tech.high_tech&&e.tech.high_tech>=14&&e.tech.science&&e.tech.science>=15&&e.tech.infernite||e.tech.military===9&&e.tech.science&&e.tech.science>=18||e.tech.military===10&&e.tech.high_tech&&e.tech.high_tech>=18||e.tech.military===11&&e.tech.asphodel&&e.tech.asphodel>=5)&&s.push("military"),s[Math.floor(T(0,s.length))]){case"troops":{e.race.wishStats.troop<25&&(e.race.wishStats.troop++,I(t("wish_troop"),"warning",!1,["events"]));break}case"trait":{e.race.wishStats.strong=!0,me("strong",{set:.25,force:!0}),I(t("wish_muscle"),"warning",!1,["events"]);break}case"military":{switch(e.tech.military++,e.tech.military){case 7:e.race.species==="sharkin"&&B("laser_shark");break}Ht(),ae();let c={2:"bows",3:"flintlock_rifle",4:"machine_gun",5:"bunk_beds",6:"rail_guns",7:"laser_rifles",8:"plasma_rifles",9:"disruptor_rifles",10:"gauss_rifles",11:"cyborg_soldiers",12:"ethereal_weapons"},o=typeof m.tech[c[e.tech.military]].title=="function"?m.tech[c[e.tech.military]].title():m.tech[c[e.tech.military]].title;I(t("wish_tech",[o]),"warning",!1,["progress"]);break}}}},influence(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["magazine"];switch(e.race.wishStats.astro||s.push("astro"),e.race.wishStats.prof<25&&e.civic.professor.display&&s.push("professor"),s[Math.floor(T(0,s.length))]){case"magazine":{I(t("wish_magazine",[x[e.race.species].name]),"warning",!1,["events"]);break}case"astro":{e.race.wishStats.astro=!0,I(t("wish_astro"),"warning",!1,["events"]);break}case"professor":{e.race.wishStats.prof++,I(t("wish_prof"),"warning",!1,["events"]);break}}}}},filters:{wish(s){return s===0?`${t("power_available")}`:`${s}`},label(s){return t(`wish_${s}`)},know(){return e.resource.Knowledge.name},money(){return t("resource_Money_name")}}}),["Know","Money","Res","Love","Excite","Fame","Strength","Influence"].forEach(function(s){N(`wish${s}`,function(){switch(s){case"Know":return t("wish_for",[e.resource.Knowledge.name]);case"Money":return t("wish_for",[t("resource_Money_name")]);case"Res":return t("wish_for",[t("wish_resources")]);case"Love":return t("wish_for",[t("wish_love")]);case"Excite":return t("wish_for",[t("wish_event")]);case"Fame":return t("wish_for",[t("wish_fame")]);case"Strength":return t("wish_for",[t("wish_strength")]);case"Influence":return t("wish_for",[t("wish_influence")])}},{elm:`#wish${s}`})})}function K_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("tech_major_wish")} -
      `));let i=$('
      ');a.append(i),i.append('
      '),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),C({el:"#majorWish",data:e.race.wishStats,methods:{money(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["money","robbery"];switch(e.race.wishStats.casino||s.push("casino"),s[Math.floor(T(0,s.length))]){case"money":{let c=Math.floor(T(Math.round(e.resource.Money.max/12),Math.round(e.resource.Money.max/4)));e.resource.Money.amount+=c,e.resource.Money.amount>e.resource.Money.max&&(e.resource.Money.amount=e.resource.Money.max),I(t("wish_cash",[X(c)]),"warning",!1,["events"]);break}case"robbery":{let c=Math.floor(T(Math.round(e.resource.Money.max/12),Math.round(e.resource.Money.max/4)));e.resource.Money.amount+=c,e.resource.Money.amount>e.resource.Money.max&&(e.resource.Money.amount=e.resource.Money.max);let o=Math.floor(T(0,10));e.race.wishStats.bad+=Math.floor(T(100,200)),I(t("wish_robbery",[t(`wish_robbery${o}`),X(c)]),"warning",!1,["events"]);break}case"casino":{e.race.wishStats.casino=!0;let c=Math.floor(T(0,10));I(t("wish_casino",[t(`wish_casino${c}`),Ce("casino")]),"warning",!1,["events"])}}}},res(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["useless","common","rare","stolen","2xcommon","2xrare"],n=s[Math.floor(T(0,s.length))],c=[];if(["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Oil","Uranium","Steel","Titanium","Alloy","Polymer","Iridium","Helium_3","Crystal","Chrysotile"].forEach(function(o){e.resource[o].display&&e.resource[o].amount*1.05e.resource[u].max&&(e.resource[u].amount=e.resource[u].max)),l.push(p)}),["2xcommon","2xrare"].includes(n)?I(t("wish_gain_double",[X(l[0]),e.resource[o[0]].name,X(l[1]),e.resource[o[1]].name]),"warning",!1,["events"]):["common","rare"].includes(n)?I(t("wish_gain_res",[X(l[0]),e.resource[o[0]].name]),"warning",!1,["events"]):n==="stolen"&&(e.race.wishStats.bad+=Math.floor(T(100,200)),I(t("wish_steal_res",[X(l[0]),e.resource[o[0]].name]),"warning",!1,["events"]))}}},plasmid(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["fake","future"];switch(e.tech.blackhole&&e.tech.blackhole>=5&&e.interstellar.mass_ejector&&e.interstellar.mass_ejector.count>=1?s.push("blackhole"):!e.race.cataclysm&&!e.race.lone_survivor&&e.race.species!=="sludge"&&s.push("mad"),s[Math.floor(T(0,s.length))]){case"fake":{let c=Math.floor(T(100,5e4));e.resource.Knockoff.amount=c,e.resource.Knockoff.display=!0,I(t("wish_plasmid_gain",[c,t("resource_Knockoff_plural_name")]),"warning",!1,["events"]);break}case"future":{let c=Math.floor(T(2,e.tech.science+2));e.stats.pdebt+=c,e.race.wishStats.plas+=c,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=c,e.stats.antiplasmid+=c):(e.prestige.Plasmid.count+=c,e.stats.plasmid+=c),I(t("wish_plasmid_gain",[c,t(e.race.universe==="antimatter"?"resource_AntiPlasmid_plural_name":"resource_Plasmid_plural_name")]),"warning",!1,["events"]);break}case"mad":{$("body").addClass("nuke");let c=$('
      ');$("body").append(c),setTimeout(function(){c.addClass("burn")},500),setTimeout(function(){c.addClass("b")},600),setTimeout(function(){e.civic.mad.armed=!1,bs()},4e3);break}case"blackhole":{let c=$('
      ');$("body").append(c),setTimeout(function(){c.addClass("burn")},125),setTimeout(function(){c.addClass("b")},150),setTimeout(function(){c.addClass("c")},2e3),setTimeout(function(){ws()},4e3)}}}},power(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["potato"];switch(!e.race.wishStats.ship&&(e.tech.shipyard||e.tech.science&&e.tech.science>=16)&&s.push("ship"),e.race.wishStats.gov||s.push("government"),s[Math.floor(T(0,s.length))]){case"potato":{e.race.wishStats.potato++,I(t("wish_energized"),"warning",!1,["events"]);break}case"ship":{e.race.wishStats.ship=!0,I(t("wish_ship"),"warning",!1,["events"]);break}case"government":e.race.wishStats.gov=!0,e.civic.govern.type="dictator",I(t("wish_gov"),"warning",!1,["events"])}}},adoration(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["priest"];switch(e.race.wishStats.temple||s.push("temple"),e.race.wishStats.zigg||s.push("zigg"),s[Math.floor(T(0,s.length))]){case"priest":{e.civic.priest.display&&e.race.wishStats.priest<25?(e.race.wishStats.priest++,I(t("wish_priest"),"warning",!1,["events"])):I(t("wish_priest_fail"),"warning",!1,["events"]);break}case"temple":{e.race.wishStats.temple=!0,I(t("wish_temple",[Ce("temple")]),"warning",!1,["events"]);break}case"zigg":e.race.wishStats.zigg=!0,I(t("wish_temple",[t("space_red_ziggurat_title")]),"warning",!1,["events"])}}},thrill(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=fc("major");if(s.length>0){let n=s[Math.floor(T(0,s.length))],c=Pt[n].effect();I(c,"caution",!1,["events","major_events"]),e.m_event.l=n}}},peace(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["flower"];["gov0","gov1","gov2"].forEach(function(o){!e.civic.foreign[o].anx&&!e.civic.foreign[o].buy&&!e.civic.foreign[o].occ&&!e.tech.world_control&&s.push(o)}),e.race.truepath&&!e.tech.isolation&&e.tech.rival&&e.civic.foreign.gov3.hstl>0&&s.push("gov3"),!e.race.truepath&&e.tech.piracy>1&&s.push("piracy"),e.race.truepath&&e.space.syndicate&&s.push("syndicate");let c=s[Math.floor(T(0,s.length))];if(["gov0","gov1","gov2"].includes(c))e.civic.foreign[c].hstl=0,e.civic.foreign[c].anx=!0,I(t("wish_peace_join",[pt(c.substring(3))]),"warning",!1,["events"]);else switch(c){case"flower":I(t("wish_peace_flower",[pt(c.substring(3))]),"warning",!1,["events"]);break;case"gov3":e.civic.foreign[c].hstl=0;break;case"piracy":e.tech.piracy=Math.floor(T(1,e.tech.piracy)),I(t("wish_piracy"),"warning",!1,["events"]);break;case"syndicate":Object.keys(e.space.syndicate).forEach(function(o){e.space.syndicate[o]>10&&(e.space.syndicate[o]=Math.floor(T(10,e.space.syndicate[o])))}),I(t("wish_piracy"),"warning",!1,["events"]);break}}},greatness(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["wonder"],n=ft();switch((!e.race.lone_survivor&&!e.stats.feat.wish||e.stats.feat.wish&&e.stats.feat.wish=2&&o.push("gardens"),e.race.truepath&&!e.space.hasOwnProperty("wonder_gardens")&&e.tech.titan&&e.tech.titan>=2&&o.push("gardens")}if(o.length>0){switch(o[Math.floor(T(0,o.length))]){case"lighthouse":e.city.wonder_lighthouse={count:1};break;case"pyramid":e.city.wonder_pyramid={count:1};break;case"statue":e.space.wonder_statue={count:1};break;case"gardens":e[e.race.truepath?"space":"interstellar"].wonder_gardens={count:1};break}I(t("wish_wonder"),"warning",!1,["events"])}else I(t("wish_no_wonder"),"warning",!1,["events"]);break}case"feat":{oe("wish",e.race.universe==="micro");break}}}}},filters:{wish(s){return s===0?`${t("power_available")}`:`${s}`},label(s){return t(`wish_${s}`)},money(){return t("resource_Money_name")}}}),["BigMoney","BigRes","Plasmid","Power","Adoration","Thrill","Peace","Greatness"].forEach(function(s){N(`wish${s}`,function(){switch(s){case"BigMoney":return t("wish_for",[t("wish_big_money")]);case"BigRes":return t("wish_for",[t("wish_big_resources")]);case"Plasmid":return t("wish_for",[t("wish_plasmid")]);case"Power":return t("wish_for",[t("wish_power")]);case"Adoration":return t("wish_for",[t("wish_adoration")]);case"Thrill":return t("wish_for",[t("wish_thrill")]);case"Peace":return t("wish_for",[t("wish_peace")]);case"Greatness":return t("wish_for",[t("wish_greatness")])}},{elm:`#wish${s}`})})}function B_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("trait_ocular_power_name")} -
      `));let i=$('
      ');a.append(i),i.append(`
      ${t("ocular_disintegration")}
      `),i.append(`
      ${t("ocular_petrification")}
      `),i.append(`
      ${t("ocular_wound")}
      `),i.append(`
      ${t("ocular_telekinesis")}
      `),i.append(`
      ${t("ocular_fear")}
      `),i.append(`
      ${t("ocular_charm")}
      `),C({el:"#ocularPower",data:e.race.ocularPowerConfig,methods:{pow(s){let n=0;["d","p","w","t","f","c"].forEach(function(c){e.race.ocularPowerConfig[c]&&n++,n>v.ocular_power.vars()[0]&&c!==s&&(e.race.ocularPowerConfig[c]=!1)}),n>v.ocular_power.vars()[0]&&(n=0,["d","p","w","t","f","c"].reverse().forEach(function(c){e.race.ocularPowerConfig[c]&&n++,n>v.ocular_power.vars()[0]&&c!==s&&(e.race.ocularPowerConfig[c]=!1)}),Xr())}},filters:{max(){let s=0;return["d","p","w","t","f","c"].forEach(function(n){e.race.ocularPowerConfig[n]&&s++}),t("ocular_max",[s,v.ocular_power.vars()[0]])}}}),["disintegration","petrification","wound","telekinesis","fear","charm"].forEach(function(s){N(`ocular${s}`,function(){switch(s){case"disintegration":let n=50*(v.ocular_power.vars()[1]/100);return t(`ocular_${s}_desc`,[n]);case"petrification":return t(`ocular_${s}_desc`,[e.resource.Stone.name]);case"wound":let c=60*(v.ocular_power.vars()[1]/100);return t(`ocular_${s}_desc`,[c]);case"telekinesis":let o=20*(v.ocular_power.vars()[1]/100);return t(`ocular_${s}_desc`,[o]);case"fear":return t(`ocular_${s}_desc`);case"charm":let l=70*(v.ocular_power.vars()[1]/100);return t(`ocular_${s}_desc`,[l])}},{elm:`#ocular${s}`})})}function Ye(){if(!e.settings.tabLoad&&(e.settings.civTabs!==2||e.settings.govTabs!==6))return;let r=$("#psychicPowers");K(r),e.race.psychic&&e.tech.psychic&&(G_(r),N_(r),e.tech.psychic>=2&&R_(r),e.tech.psychic>=3&&(e.race.psychicPowers.cash||(e.race.psychicPowers.cash=0),H_(r)),e.tech.psychicthrall&&e.tech.unfathomable&&e.race.unfathomable&&(e.tech.psychicthrall>=2&&U_(r),V_(r)))}function G_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("psychic_boost_title")}
      `));let i=$("
      ");a.append(i);let s="";if(Object.keys(Ve).forEach(function(l){e.resource[l].display&&(s+=`${e.resource[l].name}`)}),i.append(`
      ${s}
      `),a.append('
      '),e.tech.psychic>=4){let l=$(`
      ${t("psychic_channel")}
      `),u=$('{{ c.boost }}'),p=$(`«`),h=$(`»`);l.append(p),l.append(u),l.append(h),a.append(l)}let n=e.tech.psychic>=5?60:75,c=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;C({el:"#psychicBoost",data:{b:e.race.psychicPowers.boost,c:e.tech.psychic>=4?e.race.psychicPowers.channel:{}},methods:{boostVal(){e.resource.Energy.amount>=n&&(e.resource.Energy.amount-=n,e.race.psychicPowers.boostTime=72*c)},add(){let l=W();for(let u=0;u0;u++)e.race.psychicPowers.channel.boost--}},filters:{boost(l){return t("psychic_boost_button",[e.resource[l]?e.resource[l].name:"N/A",n])},boostTime(){return e.race.psychicPowers.boostTime>0?t("psychic_boost_time",[e.race.psychicPowers.boostTime]):""}}});let o=document.getElementById("psyhscrolltarget");o.addEventListener("wheel",l=>{l.preventDefault(),o.scrollLeft+=l.deltaY}),N("psychicBoost",function(){return t("psychic_boost_desc",[v.psychic.vars()[3]])},{elm:"#psychicBoost > div > button"})}function N_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("psychic_murder_title")}
      `)),a.append('
      ');let i=e.tech.psychic>=5?8:10;C({el:"#psychicKill",data:{},methods:{murder(){e.resource.Energy.amount>=i&&e.resource[e.race.species].amount>=1&&(e.resource.Energy.amount-=i,e.resource[e.race.species].amount--,e.stats.psykill++,Br(1),e.race.anthropophagite&&yt("Food",1e4*v.anthropophagite.vars()[0]),e.stats.psykill===10&&Ye())}},filters:{kill(){return t("psychic_murder_button",[i])}}}),N("psychicKill",function(){return t("psychic_murder_desc")},{elm:"#psychicKill > div > button"})}function R_(r){let a=$('
      ');if(r.append(a),a.append($(`
      ${t("psychic_assault_title")}
      `)),a.append('
      '),e.tech.psychic>=4){let n=$(`
      ${t("psychic_channel")}
      `),c=$('{{ assault }}'),o=$(`«`),l=$(`»`);n.append(o),n.append(c),n.append(l),a.append(n)}let i=e.tech.psychic>=5?36:45,s=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;C({el:"#psychicAssault",data:e.tech.psychic>=4?e.race.psychicPowers.channel:{},methods:{boostVal(){e.resource.Energy.amount>=i&&(e.resource.Energy.amount-=i,e.race.psychicPowers.assaultTime=72*s)},add(){let n=W();for(let c=0;c0;c++)e.race.psychicPowers.channel.assault--}},filters:{boost(){return t("psychic_boost_button",[t("psychic_attack"),i])},boostTime(){return e.race.psychicPowers.assaultTime>0?t("psychic_boost_time",[e.race.psychicPowers.assaultTime]):""}}}),N("psychicAssault",function(){return t("psychic_assault_desc",[v.psychic.vars()[3]])},{elm:"#psychicAssault > div > button"})}function H_(r){let a=$('
      ');if(r.append(a),a.append($(`
      ${t("psychic_profit_title")}
      `)),a.append('
      '),e.tech.psychic>=4){let n=$(`
      ${t("psychic_channel")}
      `),c=$('{{ cash }}'),o=$(`«`),l=$(`»`);n.append(o),n.append(c),n.append(l),a.append(n)}let i=e.tech.psychic>=5?52:65,s=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;C({el:"#psychicFinance",data:e.tech.psychic>=4?e.race.psychicPowers.channel:{},methods:{boostVal(){e.resource.Energy.amount>=i&&(e.resource.Energy.amount-=i,e.race.psychicPowers.cash=72*s)},add(){let n=W();for(let c=0;c0;c++)e.race.psychicPowers.channel.cash--}},filters:{boost(){return t("psychic_boost_button",[t("psychic_profit"),i])},boostTime(){return e.race.psychicPowers.cash>0?t("psychic_boost_time",[e.race.psychicPowers.cash]):""}}}),N("psychicFinance",function(){return t("psychic_profit_desc",[v.psychic.vars()[3]])},{elm:"#psychicFinance > div > button"})}function V_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("psychic_mind_break_title")}
      `)),a.append('
      ');let i=e.tech.psychic>=5?64:80;C({el:"#psychicMindBreak",data:{},methods:{breakMind(){if(e.resource.Energy.amount>=i&&e.tech.unfathomable){let s=[];if(e.city.hasOwnProperty("surfaceDwellers"))for(let n=0;n0&&s.push(n);if(s.length>0){let n=s[Math.rand(0,s.length)];e.city.captive_housing[`jailrace${n}`]--,e.city.captive_housing[`race${n}`]++,e.resource.Energy.amount-=i}}}},filters:{break(){return t("psychic_mind_break_button",[i])}}}),N("psychicMindBreak",function(){return t("psychic_mind_break_desc")},{elm:"#psychicMindBreak > div > button"})}function U_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("psychic_stun_title")}
      `)),a.append('
      ');let i=e.tech.psychic>=5?80:100;C({el:"#psychicCapture",data:{},methods:{stun(){if(e.resource.Energy.amount>=i&&e.tech.unfathomable){let s=0;if(e.city.hasOwnProperty("surfaceDwellers"))for(let n=0;n div > button"})}function Br(r){if(e.race.blubber&&e.city.hasOwnProperty("oil_well")){let a=(e.city.oil_well.count+(e.space.oil_extractor?e.space.oil_extractor.count:0))*50;e.city.oil_well.dead+=r,e.city.oil_well.dead>a&&(e.city.oil_well.dead=a)}}var us=!1;function N(r,a,i){i||(i={}),i.hasOwnProperty("elm")||(i.elm="#"+r),i.hasOwnProperty("bind")||(i.bind=!0),i.hasOwnProperty("unbind")||(i.unbind=!0),i.hasOwnProperty("placement")||(i.placement="bottom"),i.bind&&$(i.elm).on(i.bind_mouse_enter?"mouseenter":"mouseover",function(){(us||$("#popper").length>0)&&le();let s=i.wide?" wide":"",n=i.classes?i.classes:"has-background-light has-text-dark pop-desc";var c=$(`
      `);i.attach?$(i.attach).append(c):$("#main").append(c),a&&c.append(typeof a=="function"?a({this:this,popper:c}):a),us=Popper.createPopper(i.self?this:$(i.elm)[0],document.querySelector("#popper"),{placement:i.placement,modifiers:[{name:"flip",enabled:!0},{name:"offset",options:{offset:i.offset?i.offset:[0,0]}}]}),c.show(),i.hasOwnProperty("in")&&typeof i.in=="function"&&i.in({this:this,popper:c,id:"popper"}),ke("firework")&&e[e.race.cataclysm||e.race.orbit_decayed?"space":"city"].firework.on>0&&$(c).append('')}),i.unbind&&("ontouchstart"in document.documentElement&&navigator.userAgent.match(e.settings.touch)?$(i.elm).on("touchend",function(s){le(),i.hasOwnProperty("out")&&typeof i.out=="function"&&i.out({this:this,popper:$("#popper"),id:"popper"})}):$(i.elm).on(i.bind_mouse_enter?"mouseleave":"mouseout",function(){le(),i.hasOwnProperty("out")&&typeof i.out=="function"&&i.out({this:this,popper:$("#popper"),id:"popper"})}))}"ontouchstart"in document.documentElement&&navigator.userAgent.match(e.settings.touch)&&$(document).on("touchend",function(r){if($(".popper").length===1){le();return}});function le(r){r&&$("#popper").data("id")!==r||($("#popper").hide(),us&&(us.destroy(),us=!1),K($("#popper"),!0))}function ea(r){switch(r){case"stop":ge.w?ge.w.postMessage({loop:"clear"}):(clearInterval(Da.main_loop),clearInterval(Da.mid_loop),clearInterval(Da.long_loop)),e.settings.at>0&&(e.settings.at=hs.t),ge.s=!1;break;case"start":{pl(Date.now());let a=dl();ge.mt=a.webWorkerMainTimer,ge.w?(ge.w.postMessage({loop:"short",period:a.mainTimer}),ge.w.postMessage({loop:"mid",period:a.midTimer}),ge.w.postMessage({loop:"long",period:a.longTimer})):(Da.main_loop=setInterval(function(){fastLoop()},a.mainTimer),Da.mid_loop=setInterval(function(){midLoop()},a.midTimer),Da.long_loop=setInterval(function(){longLoop()},a.longTimer)),ge.s=!0}}}function dl(){let r=1;e.race.slow&&(r*=1+v.slow.vars()[0]/100),e.race.hyper&&(r*=1-v.hyper.vars()[0]/100);let a=Math.floor(250*r),i=4*a,s=20*a,n=2,c=hs.t>0?1/n:1;return{webWorkerMainTimer:a,mainTimer:Math.ceil(a*c),midTimer:Math.ceil(i*c),longTimer:Math.ceil(s*c),baseLongTimer:s,timeAccelerationFactor:n}}function pl(r){if(W_(r)||e.stats.hasOwnProperty("current")&&e.settings.at>0){let a=r-e.stats.current;if(e.settings.at>11520&&(e.settings.at=0),a>=12e4){let i=dl(),s=i.baseLongTimer;e.settings.at+=Math.floor(2/3*a*i.timeAccelerationFactor/s)}e.settings.at>11520&&(e.settings.at=11520),hs.t=e.settings.at,e.stats.current=r}}function W_(r){return e.stats.hasOwnProperty("current")&&r-e.stats.current>=12e4}window.exportGame=function(){return e.race.noexport?`Export is not available during ${e.race.noexport} Creation`:(pl(Date.now()),LZString.compressToBase64(JSON.stringify(e)))};window.importGame=function(a,i){let s=JSON.parse(i?LZString.decompressFromUTF16(a):LZString.decompressFromBase64(a));if(s&&"evolution"in s&&"settings"in s&&"stats"in s&&"plasmid"in s.stats){ge.w&&ge.w.terminate(),s.hasOwnProperty("tech")&&i&&(s.tech.hasOwnProperty("whitehole")&&s.tech.whitehole>=4&&(s.tech.whitehole=3,s.resource.Soul_Gem.amount+=10,s.resource.Knowledge.amount+=15e5,s.stats.know-=15e5),s.tech.hasOwnProperty("quaked")&&s.tech.quaked===2&&(s.tech.quaked=1,s.resource.Knowledge.amount+=5e5,s.stats.know-=5e5),s.tech.hasOwnProperty("corrupted_ai")&&s.tech.corrupted_ai===3&&(s.tech.corrupted_ai=1,s.resource.Knowledge.amount+=5e6,s.stats.know-=5e6));for(let n in s.lastMsg)for(let c of s.lastMsg[n])c.c=c.c.replaceAll('"',"");pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(s))),window.location.reload()}};function Vi(r,a){let i=Jr(),s=[];switch(r){case"power":s=["city:transmitter","prtl_ruins:arcology","city:apartment","eden_asphodel:rectory","int_alpha:habitat","int_alpha:luxury_condo","spc_red:spaceport","spc_titan:titan_spaceport","spc_titan:electrolysis","int_alpha:starport","eden_asphodel:encampment","spc_dwarf:shipyard","spc_titan:ai_core2","spc_eris:drone_control","spc_titan:ai_colonist","int_blackhole:s_gate","gxy_gateway:starbase","spc_triton:fob","spc_enceladus:operating_base","spc_enceladus:zero_g_lab","spc_titan:sam","gxy_gateway:ship_dock","prtl_ruins:hell_forge","int_neutron:stellar_forge","int_neutron:citadel","tau_home:orbital_station","tau_red:orbital_platform","tau_gas:refueling_station","tau_home:tau_farm","tau_gas:ore_refinery","tau_gas:whaling_station","city:coal_mine","spc_moon:moon_base","spc_red:red_tower","spc_home:nav_beacon","int_proxima:xfer_station","gxy_stargate:telemetry_beacon","int_nebula:nexus","gxy_stargate:gateway_depot","spc_dwarf:elerium_contain","spc_gas:gas_mining","spc_belt:space_station","spc_gas_moon:outpost","gxy_gorddon:embassy","gxy_gorddon:dormitory","gxy_alien1:resort","spc_gas_moon:oil_extractor","int_alpha:int_factory","city:factory","spc_red:red_factory","spc_dwarf:world_controller","prtl_fortress:turret","prtl_badlands:war_drone","city:wardenclyffe","city:biolab","city:mine","city:rock_quarry","city:cement_plant","city:sawmill","city:mass_driver","int_neutron:neutron_miner","prtl_fortress:war_droid","prtl_pit:soul_forge","gxy_chthonian:excavator","int_blackhole:far_reach","prtl_badlands:sensor_drone","prtl_badlands:attractor","city:metal_refinery","gxy_stargate:gateway_station","gxy_alien1:vitreloy_plant","gxy_alien2:foothold","gxy_gorddon:symposium","int_blackhole:mass_ejector","city:casino","spc_hell:spc_casino","tau_home:tauceti_casino","prtl_fortress:repair_droid","gxy_stargate:defense_platform","prtl_ruins:guard_post","prtl_lake:cooling_tower","prtl_lake:harbor","prtl_spire:purifier","prtl_ruins:archaeology","prtl_pit:gun_emplacement","prtl_gate:gate_turret","prtl_pit:soul_attractor","prtl_gate:infernite_mine","int_sirius:ascension_trigger","spc_kuiper:orichalcum_mine","spc_kuiper:elerium_mine","spc_kuiper:uranium_mine","spc_kuiper:neutronium_mine","spc_dwarf:m_relay","tau_home:tau_factory","tau_home:infectious_disease_lab","tau_home:alien_outpost","tau_gas:womling_station","spc_red:atmo_terraformer","tau_star:matrix","tau_home:tau_cultural_center","eden_elysium:sacred_smelter","prtl_pit:soul_capacitor","prtl_lake:oven_complete","eden_elysium:elysanite_mine","eden_elysium:elerium_containment","eden_elysium:pillbox","eden_elysium:archive","eden_elysium:restaurant","eden_elysium:eden_cement","eden_isle:spirit_battery","eden_isle:spirit_vacuum","city:replicator"];break;case"moon":s=["spc_moon:helium_mine","spc_moon:iridium_mine","spc_moon:observatory"];break;case"red":s=["spc_red:living_quarters","spc_red:exotic_lab","spc_red:red_mine","spc_red:fabrication","spc_red:biodome","spc_red:vr_center"];break;case"belt":s=["spc_belt:elerium_ship","spc_belt:iridium_ship","spc_belt:iron_ship"];break;case"alpha":s=["int_alpha:fusion","int_alpha:mining_droid","int_alpha:processing","int_alpha:laboratory","int_alpha:g_factory","int_alpha:exchange","int_alpha:zoo"];break;case"nebula":s=["int_nebula:harvester","int_nebula:elerium_prospector"];break;case"gateway":s=["gxy_gateway:bolognium_ship","gxy_gateway:dreadnought","gxy_gateway:cruiser_ship","gxy_gateway:frigate_ship","gxy_gateway:corvette_ship","gxy_gateway:scout_ship"];break;case"alien2":s=["gxy_alien2:armed_miner","gxy_alien2:ore_processor","gxy_alien2:scavenger"];break;case"lake":s=["prtl_lake:bireme","prtl_lake:transport"];break;case"spire":s=["prtl_spire:port","prtl_spire:base_camp","prtl_spire:mechbay"];break;case"titan":s=["spc_titan:titan_quarters","spc_titan:titan_mine","spc_titan:g_factory","spc_titan:decoder"];break;case"enceladus":s=["spc_enceladus:water_freighter","spc_enceladus:operating_base","spc_enceladus:zero_g_lab"];break;case"eris":s=["spc_eris:shock_trooper","spc_eris:tank"];break;case"tau_home":s=["tau_home:colony","tau_home:tau_factory","tau_home:mining_pit","tau_home:infectious_disease_lab"];break;case"tau_red":s=["tau_red:womling_village","tau_red:womling_farm","tau_red:overseer","tau_red:womling_mine","tau_red:womling_fun","tau_red:womling_lab"];break;case"tau_roid":s=["tau_roid:mining_ship","tau_roid:whaling_ship"];break;case"asphodel":s=["eden_asphodel:soul_engine","eden_asphodel:bunker","eden_asphodel:asphodel_harvester","eden_asphodel:ectoplasm_processor","eden_asphodel:research_station","eden_asphodel:bliss_den"];break}a&&(i[r].l.length=0),s.forEach(function(n){i[r].l.includes(n)||i[r].l.push(n)}),i[r].l.length>s.length&&i[r].l.forEach(function(n){s.includes(n)||i[r].l.splice(i[r].l.indexOf(n),1)})}function I(r,a,i,s,n){if(s=s||[],!n&&!s.includes("all")&&s.push("all"),a=a||"warning",s.includes(La.view)){let c=$('

      ').text(r);$("#msgQueueLog").prepend(c),$("#msgQueueLog").children().length>e.settings.msgFilters[La.view].max&&$("#msgQueueLog").children().last().remove()}s.forEach(function(c){La[c].unshift({msg:r,color:a}),La[c].length>e.settings.msgFilters[c].max&&La[c].pop()}),i||s.forEach(function(c){e.lastMsg[c]&&(e.lastMsg[c].unshift({m:r,c:a}),e.lastMsg[c].length>e.settings.msgFilters[c].save&&e.lastMsg[c].splice(e.settings.msgFilters[c].save))})}function fr(r){for(let a=e.queue.queue.length-1;a>=0;a--)r.includes(e.queue.queue[a].id)&&e.queue.queue.splice(a,1)}function za(r){for(let a=e.r_queue.queue.length-1;a>=0;a--)r.includes(m.tech[e.r_queue.queue[a].type].grant[0])&&e.r_queue.queue.splice(a,1)}function Or(){let r=e.tech.queue>=2?e.tech.queue>=3?8:5:3;if(e.stats.feat.journeyman&&e.stats.feat.journeyman>=2&&e.stats.achieve.seeder&&e.stats.achieve.seeder.l>=2){let i=Math.min(e.stats.achieve.seeder.l,e.stats.feat.journeyman);r+=i>=4?2:1}e.genes.queue&&e.genes.queue>=2&&(r*=2);let a=Q("pragmatist",0);a&&(r=Math.round(r*(1+a/100))),e.queue.max=r}function ca(){let r=3;if(e.stats.feat.journeyman&&e.stats.achieve.seeder&&e.stats.achieve.seeder.l>0){let i=Math.min(e.stats.achieve.seeder.l,e.stats.feat.journeyman);r+=i>=3?i>=5?3:2:1}e.genes.queue&&e.genes.queue>=2&&(r*=2);let a=Q("theorist",0);a&&(r=Math.round(r*(1+a/100))),e.r_queue.max=r}function ka(){Q_(),K($("#buildQueue")),$("#buildQueue").append($(` + `),C({el:"#sshifter",data:e.race,methods:{setShape(c){Zr(c)}},filters:{genus(c){return t(`genelab_genus_${c}`)}}})}e.race.ss_traits=s}function D(r){if(e.race.empowered&&r!=="empowered")switch(e.race[r]){case .1:return v.empowered.vars()[0]>=2?.5:.25;case .25:return v.empowered.vars()[0]>=2?1:.5;case .5:return v.empowered.vars()[0]>=2?2:1;case 1:return v.empowered.vars()[0]>=1?v.empowered.vars()[0]>=2?3:2:1;case 2:return v.empowered.vars()[0]>=1?v.empowered.vars()[0]>=2?4:3:2;case 3:return v.empowered.vars()[0]>=1?4:3;case 4:return 4}return e.race[r]}function me(r,a){if(a=a||{},e.race[r]&&!a.force)switch(e.race[r]){case .1:return e.race[r]=a.down?.1:.25,!a.down;case .25:return e.race[r]=a.down?.1:.5,!0;case .5:return e.race[r]=a.down?.25:1,!0;case 1:return e.race[r]=a.down?.5:2,!0;case 2:return e.race[r]=a.down?1:3,!0;case 3:return e.race[r]=a.down?2:4,!0;case 4:return e.race[r]=a.down?3:4,!!a.down}else if(a.set)return e.race[r]=a.set,!0;return!1}function re(r){if(e.race.unfathomable&&e.city.surfaceDwellers&&e.city.surfaceDwellers.includes(r)&&e.city.captive_housing){let a=e.city.surfaceDwellers.indexOf(r),i=e.city.captive_housing[`race${a}`];if(i>100&&(i=100),i>e.civic.torturer.workers){let n=i-e.civic.torturer.workers;i-=Math.ceil(n/3)}let s=(e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0)/5;return i/100*s}return 0}function Tt(r,a,i){let s=i?xt[x[i].type].artifical:e.race.artifical;switch(r){case"name":{let n={hooved:sn(!1,i),promiscuous:s?t("trait_promiscuous_synth_name"):v.promiscuous.name};return a?n[a]?n[a]:v[a].name:n}case"desc":{let n={hooved:sn(!0,i),promiscuous:s?t("trait_promiscuous_synth"):v.promiscuous.desc};return a?n[a]?n[a]:v[a].desc:n}}}function sn(r,a=e.race.species){let i=a===e.race.species&&e.race.maintype||x[a].type;return a==="sludge"||a==="ultra_sludge"?r?t("trait_hooved_slime"):t("trait_hooved_slime_name"):["cath","wolven","dracnid","seraph","cyclops","kobold","tuskin","sharkin","beholder","djinn"].includes(a)?r?t(`trait_hooved_${a}`):t(`trait_hooved_${a}_name`):["humanoid","avian","plant","fungi","reptilian","fey","synthetic"].includes(i)?r?t(`trait_hooved_${i}`):t(`trait_hooved_${i}_name`):r?v.hooved.desc:v.hooved.name}var xe={grassland:{label:t("biome_grassland_name"),desc:t("biome_grassland"),vars(){return e.race.rejuvenated?[1.25]:[1.2]},wiki:["%"]},oceanic:{label:t("biome_oceanic_name"),desc:t("biome_oceanic"),vars(){return e.race.rejuvenated?[1.25,1.12,.92]:[1.12,1.06,.95]},wiki:["%","%","%"]},forest:{label:t("biome_forest_name"),desc:t("biome_forest"),vars(){return e.race.rejuvenated?[1.35]:[1.2]},wiki:["%"]},desert:{label:t("biome_desert_name"),desc:t("biome_desert"),vars(){return e.race.rejuvenated?[1.35,1.18,.6]:[1.2,1.1,.75]},wiki:["%","%","%"]},volcanic:{label:t("biome_volcanic_name"),desc:t("biome_volcanic"),vars(){return e.race.rejuvenated?[.8,1.25,1.15]:[.9,1.12,1.08]},wiki:["%","%","%"]},tundra:{label:t("biome_tundra_name"),desc:t("biome_tundra"),vars(){return e.race.rejuvenated?[1.5,.8]:[1.25,.9]},wiki:["%","%"]},savanna:{label:t("biome_savanna_name"),desc:t("biome_savanna"),vars(){return e.race.rejuvenated?[1.18,1.25,.75]:[1.1,1.18,.8]},wiki:["%","%","%"]},swamp:{label:t("biome_swamp_name"),desc:t("biome_swamp"),vars(){return e.race.rejuvenated?[1.6,1.35,1.15,.78]:[1.4,1.25,1.1,.88]},wiki:["%","%","%","%"]},ashland:{label:t("biome_ashland_name"),desc:t("biome_ashland"),vars(){return e.race.rejuvenated?[.55,1.35,1.2]:[.62,1.25,1.1]},wiki:["%","%","%"]},taiga:{label:t("biome_taiga_name"),desc:t("biome_taiga"),vars(){return e.race.rejuvenated?[1.2,1.65,.88]:[1.1,1.5,.92]},wiki:["%","%","%"]},hellscape:{label:t("biome_hellscape_name"),desc:t("biome_hellscape"),vars(){return e.race.rejuvenated?[.2]:[.25]},wiki:["%"]},eden:{label:t("biome_eden_name"),desc:t("biome_eden")}},Ie={toxic:{label:t("planet_toxic"),desc:t("planet_toxic_desc"),vars(){return e.race.rejuvenated?[2,1.5]:[1,1.25]},wiki:["A","-%"]},mellow:{label:t("planet_mellow"),desc:t("planet_mellow_desc"),vars(){return e.race.rejuvenated?[2,3,.88]:[1.5,2,.9]},wiki:["%","A","%"]},rage:{label:t("planet_rage"),desc:t("planet_rage_desc"),vars(){return e.race.rejuvenated?[1.1,1.05,1]:[1.05,1.02,1]},wiki:["%","%","A"]},stormy:{label:t("planet_stormy"),desc:t("planet_stormy_desc")},ozone:{label:t("planet_ozone"),desc:t("planet_ozone_desc"),vars(){return e.race.rejuvenated?[.18]:[.25]},wiki:["-A"]},magnetic:{label:t("planet_magnetic"),desc:t("planet_magnetic_desc"),vars(){return e.race.rejuvenated?[2,150,.98]:[1,100,.985]},wiki:["A","A","%"]},trashed:{label:t("planet_trashed"),desc:t("planet_trashed_desc"),vars(){return e.race.rejuvenated?[.8,1.2]:[.75,1]},wiki:["%","%"]},elliptical:{label:t("planet_elliptical"),desc:t("planet_elliptical_desc")},flare:{label:t("planet_flare"),desc:t("planet_flare_desc")},dense:{label:t("planet_dense"),desc:t("planet_dense_desc"),vars(){return e.race.rejuvenated?[1.5,1.2,1.35]:[1.2,1,1.2]},wiki:["%","A","%"]},unstable:{label:t("planet_unstable"),desc:t("planet_unstable_desc")},permafrost:{label:t("planet_permafrost"),desc:t("planet_permafrost_desc"),vars(){return e.race.rejuvenated?[.7,125]:[.75,100]},wiki:["%","A"]},retrograde:{label:t("planet_retrograde"),desc:t("planet_retrograde_desc")},kamikaze:{label:t("planet_kamikaze"),desc:t("planet_kamikaze_desc"),vars(){return[100,-1]},wiki:["A","A"]}};function qa(){let r=e.city.calendar.orbit;return e.city.ptrait.includes("kamikaze")&&(r-=e.city.calendar.year,(!e.race.truepath||e.race.lone_survivor||e.tech.titan_ai_core||e.race.tidal_decay)&&r<100&&(r=100)),r}function ll(){return e.race.hasOwnProperty("shell_color")?t(`color_${e.race.shell_color}`):t("color_green")}function L_(){return e.race.hasOwnProperty("fox_color")?t(`color_${e.race.fox_color}`):t("color_red")}function hc(r){r=r||[];let a=Object.keys(x).filter(function(s){return!["custom","hybrid"].includes(s)&&!r.includes(s)&&x[s].basic()}),i=Yi(a);return a[i]}function Xr(){if(!e.settings.tabLoad&&(e.settings.civTabs!==2||e.settings.govTabs!==7))return;let r=$("#supernatural");K(r),e.race.wish&&e.tech.wish&&e.race.wishStats&&(D_(r),e.tech.wish>=2&&K_(r)),e.race.ocular_power&&B_(r)}function D_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("tech_minor_wish")} -
      `));let i=$('
      ');a.append(i),i.append('
      '),i.append(`
      `),i.append('
      '),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),C({el:"#minorWish",data:e.race.wishStats,methods:{know(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["inspire"];switch(!e.race.lone_survivor&&!e.race.cataclysm&&!e.race.orbit_decay&&s.push("know"),e.tech.science&&(e.tech.science>=1&&e.tech.science<=3||e.tech.high_tech&&e.tech.high_tech>=3&&e.tech.science>=4&&e.tech.science<=6||e.tech.high_tech&&e.tech.high_tech>=4&&e.tech.science===7||e.tech.space&&e.tech.space>=3&&e.tech.science===8&&e.tech.luna||e.tech.alpha&&e.tech.alpha>=2&&e.tech.science===11||e.tech.high_tech&&e.tech.high_tech>=12&&e.tech.science===12||e.tech.infernite&&e.tech.infernite>=2&&e.tech.science===13||e.tech.neutron&&e.tech.science===14||e.tech.xeno&&e.tech.xeno>=4&&e.tech.science===15||e.tech.high_tech&&e.tech.high_tech>=16&&e.tech.science===16||e.tech.conflict&&e.tech.conflict>=5&&e.tech.science===17||e.tech.high_tech&&e.tech.high_tech>=17&&e.tech.science===18||e.tech.high_tech&&e.tech.high_tech>=18&&e.tech.science===19||e.tech.asphodel&&e.tech.asphodel>=3&&e.tech.science===21||e.tech.asphodel&&e.tech.asphodel>=8&&e.tech.science===22)&&s.push("science"),s[Math.floor(T(0,s.length))]){case"inspire":{e.race.inspired=Math.floor(T(300,600));let c=t("event_inspiration");I(c,!1,!1,["events","major_events"]);break}case"know":{let c=Math.floor(T(e.resource.Knowledge.max/5,e.resource.Knowledge.max/2));e.resource.Knowledge.amount+=c,e.resource.Knowledge.amount>e.resource.Knowledge.max&&(e.resource.Knowledge.amount=e.resource.Knowledge.max),I(t("wish_know",[e.resource.Knowledge.name,X(c)]),"warning",!1,["events"]);break}case"science":{switch(e.tech.science++,e.tech.science){case 2:e.city.library={count:0};break;case 8:e.race.toxic&&e.race.species==="troll"&&B("godwin");break;case 9:e.space.observatory={count:0,on:0};break;case 12:e.interstellar.laboratory={count:0,on:0};break}Ht(),ae();let c={2:"library",3:"thesis",4:"research_grant",5:"scientific_journal",6:"adjunct_professor",7:"tesla_coil",8:"internet",9:"observatory",12:"laboratory",13:"virtual_assistant",14:"dimensional_readings",15:"quantum_entanglement",16:"expedition",17:"subspace_sensors",18:"alien_database",19:"orichalcum_capacitor",20:"advanced_biotech"},o=typeof m.tech[c[e.tech.science]].title=="function"?m.tech[c[e.tech.science]].title():m.tech[c[e.tech.science]].title;I(t("wish_tech",[o]),"warning",!1,["progress"]);break}}}},money(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["money","robbery"];switch(e.race.wishStats.tax===0&&s.push("taxes"),s[Math.floor(T(0,s.length))]){case"money":{let c=Math.floor(T(1,Math.round(e.resource.Money.max/8)));e.resource.Money.amount+=c,e.resource.Money.amount>e.resource.Money.max&&(e.resource.Money.amount=e.resource.Money.max),I(t("wish_cash",[X(c)]),"warning",!1,["events"]);break}case"taxes":{e.race.wishStats.tax=5,e.civic.taxes.rax_rate=Jt("tax_cap"),I(t("wish_taxes"),"warning",!1,["events"]);break}case"robbery":{let c=Math.floor(T(1,Math.round(e.resource.Money.max/8)));e.resource.Money.amount+=c,e.resource.Money.amount>e.resource.Money.max&&(e.resource.Money.amount=e.resource.Money.max);let o=Math.floor(T(0,10));e.race.wishStats.bad+=Math.floor(T(50,100)),I(t("wish_robbery",[t(`wish_robbery${o}`),X(c)]),"warning",!1,["events"]);break}}}},res(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["useless","common","rare","stolen","2xcommon","2xrare"],n=s[Math.floor(T(0,s.length))],c=[];if(["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Oil","Uranium","Steel","Titanium","Alloy","Polymer","Iridium","Helium_3","Crystal","Chrysotile"].forEach(function(o){e.resource[o].display&&e.resource[o].amount*1.05e.resource[u].max&&(e.resource[u].amount=e.resource[u].max)),l.push(p)}),["2xcommon","2xrare"].includes(n)?I(t("wish_gain_double",[X(l[0]),e.resource[o[0]].name,X(l[1]),e.resource[o[1]].name]),"warning",!1,["events"]):["common","rare"].includes(n)?I(t("wish_gain_res",[X(l[0]),e.resource[o[0]].name]),"warning",!1,["events"]):n==="stolen"&&(e.race.wishStats.bad+=Math.floor(T(50,100)),I(t("wish_steal_res",[X(l[0]),e.resource[o[0]].name]),"warning",!1,["events"]))}}},love(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["pet"],n=["gov0","gov1","gov2"];e.race.truepath&&!e.tech.isolation&&e.tech.rival&&n.push("gov3"),n.forEach(function(o){e.civic.foreign[o].hstl>0&&!e.civic.foreign[o].anx&&!e.civic.foreign[o].buy&&!e.civic.foreign[o].occ&&s.push(o)});let c=s[Math.floor(T(0,s.length))];if(c==="pet"){let o=Pt.pet.effect();I(o,!1,!1,["events","minor_events"])}else e.civic.foreign[c].hstl=0}},excite(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/4;let s=fc("minor");if(s.length>0){let n=s[Math.floor(T(0,s.length))],c=Pt[n].effect();I(c,!1,!1,["events","minor_events"]),e.m_event.l=n}}},famous(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["notorious","reputable"],n=Math.floor(T(0,10)),c=_a(!1,!0),o=c[Math.floor(T(0,c.length))];switch(s[Math.floor(T(0,s.length))]){case"notorious":{e.race.wishStats.fame=-10;let u=n===8?[o]:[];I(t("wish_famous",[t(`wish_notorious${n}`,u)]),"warning",!1,["events"]);break}case"reputable":{e.race.wishStats.fame=10;let u=n===4?[o]:[];I(t("wish_famous",[t(`wish_reputable${n}`,u)]),"warning",!1,["events"]);break}}}},strength(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["troops"];switch(e.race.strong||s.push("trait"),e.tech.military&&(e.tech.military===1||e.tech.military===2&&e.tech.explosives||e.tech.military===3&&e.tech.oil||e.tech.military===4&&e.tech.high_tech&&e.tech.high_tech>=4||e.tech.military===5&&e.tech.mass||e.tech.military===6&&e.tech.high_tech&&e.tech.high_tech>=9&&e.tech.elerium||e.tech.military===7&&e.tech.high_tech&&e.tech.high_tech>=13||e.tech.military===8&&e.tech.high_tech&&e.tech.high_tech>=14&&e.tech.science&&e.tech.science>=15&&e.tech.infernite||e.tech.military===9&&e.tech.science&&e.tech.science>=18||e.tech.military===10&&e.tech.high_tech&&e.tech.high_tech>=18||e.tech.military===11&&e.tech.asphodel&&e.tech.asphodel>=5)&&s.push("military"),s[Math.floor(T(0,s.length))]){case"troops":{e.race.wishStats.troop<25&&(e.race.wishStats.troop++,I(t("wish_troop"),"warning",!1,["events"]));break}case"trait":{e.race.wishStats.strong=!0,me("strong",{set:.25,force:!0}),I(t("wish_muscle"),"warning",!1,["events"]);break}case"military":{switch(e.tech.military++,e.tech.military){case 7:e.race.species==="sharkin"&&B("laser_shark");break}Ht(),ae();let c={2:"bows",3:"flintlock_rifle",4:"machine_gun",5:"bunk_beds",6:"rail_guns",7:"laser_rifles",8:"plasma_rifles",9:"disruptor_rifles",10:"gauss_rifles",11:"cyborg_soldiers",12:"ethereal_weapons"},o=typeof m.tech[c[e.tech.military]].title=="function"?m.tech[c[e.tech.military]].title():m.tech[c[e.tech.military]].title;I(t("wish_tech",[o]),"warning",!1,["progress"]);break}}}},influence(){if(e.race.wishStats.minor===0){e.race.wishStats.minor=v.wish.vars()[0]/3;let s=["magazine"];switch(e.race.wishStats.astro||s.push("astro"),e.race.wishStats.prof<25&&e.civic.professor.display&&s.push("professor"),s[Math.floor(T(0,s.length))]){case"magazine":{I(t("wish_magazine",[x[e.race.species].name]),"warning",!1,["events"]);break}case"astro":{e.race.wishStats.astro=!0,I(t("wish_astro"),"warning",!1,["events"]);break}case"professor":{e.race.wishStats.prof++,I(t("wish_prof"),"warning",!1,["events"]);break}}}}},filters:{wish(s){return s===0?`${t("power_available")}`:`${s}`},label(s){return t(`wish_${s}`)},know(){return e.resource.Knowledge.name},money(){return t("resource_Money_name")}}}),["Know","Money","Res","Love","Excite","Fame","Strength","Influence"].forEach(function(s){N(`wish${s}`,function(){switch(s){case"Know":return t("wish_for",[e.resource.Knowledge.name]);case"Money":return t("wish_for",[t("resource_Money_name")]);case"Res":return t("wish_for",[t("wish_resources")]);case"Love":return t("wish_for",[t("wish_love")]);case"Excite":return t("wish_for",[t("wish_event")]);case"Fame":return t("wish_for",[t("wish_fame")]);case"Strength":return t("wish_for",[t("wish_strength")]);case"Influence":return t("wish_for",[t("wish_influence")])}},{elm:`#wish${s}`})})}function K_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("tech_major_wish")} -
      `));let i=$('
      ');a.append(i),i.append('
      '),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),i.append(`
      `),C({el:"#majorWish",data:e.race.wishStats,methods:{money(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["money","robbery"];switch(e.race.wishStats.casino||s.push("casino"),s[Math.floor(T(0,s.length))]){case"money":{let c=Math.floor(T(Math.round(e.resource.Money.max/12),Math.round(e.resource.Money.max/4)));e.resource.Money.amount+=c,e.resource.Money.amount>e.resource.Money.max&&(e.resource.Money.amount=e.resource.Money.max),I(t("wish_cash",[X(c)]),"warning",!1,["events"]);break}case"robbery":{let c=Math.floor(T(Math.round(e.resource.Money.max/12),Math.round(e.resource.Money.max/4)));e.resource.Money.amount+=c,e.resource.Money.amount>e.resource.Money.max&&(e.resource.Money.amount=e.resource.Money.max);let o=Math.floor(T(0,10));e.race.wishStats.bad+=Math.floor(T(100,200)),I(t("wish_robbery",[t(`wish_robbery${o}`),X(c)]),"warning",!1,["events"]);break}case"casino":{e.race.wishStats.casino=!0;let c=Math.floor(T(0,10));I(t("wish_casino",[t(`wish_casino${c}`),Ce("casino")]),"warning",!1,["events"])}}}},res(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["useless","common","rare","stolen","2xcommon","2xrare"],n=s[Math.floor(T(0,s.length))],c=[];if(["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Oil","Uranium","Steel","Titanium","Alloy","Polymer","Iridium","Helium_3","Crystal","Chrysotile"].forEach(function(o){e.resource[o].display&&e.resource[o].amount*1.05e.resource[u].max&&(e.resource[u].amount=e.resource[u].max)),l.push(p)}),["2xcommon","2xrare"].includes(n)?I(t("wish_gain_double",[X(l[0]),e.resource[o[0]].name,X(l[1]),e.resource[o[1]].name]),"warning",!1,["events"]):["common","rare"].includes(n)?I(t("wish_gain_res",[X(l[0]),e.resource[o[0]].name]),"warning",!1,["events"]):n==="stolen"&&(e.race.wishStats.bad+=Math.floor(T(100,200)),I(t("wish_steal_res",[X(l[0]),e.resource[o[0]].name]),"warning",!1,["events"]))}}},plasmid(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["fake","future"];switch(e.tech.blackhole&&e.tech.blackhole>=5&&e.interstellar.mass_ejector&&e.interstellar.mass_ejector.count>=1?s.push("blackhole"):!e.race.cataclysm&&!e.race.lone_survivor&&e.race.species!=="sludge"&&s.push("mad"),s[Math.floor(T(0,s.length))]){case"fake":{let c=Math.floor(T(100,5e4));e.resource.Knockoff.amount=c,e.resource.Knockoff.display=!0,I(t("wish_plasmid_gain",[c,t("resource_Knockoff_plural_name")]),"warning",!1,["events"]);break}case"future":{let c=Math.floor(T(2,e.tech.science+2));e.stats.pdebt+=c,e.race.wishStats.plas+=c,e.race.universe==="antimatter"?(e.prestige.AntiPlasmid.count+=c,e.stats.antiplasmid+=c):(e.prestige.Plasmid.count+=c,e.stats.plasmid+=c),I(t("wish_plasmid_gain",[c,t(e.race.universe==="antimatter"?"resource_AntiPlasmid_plural_name":"resource_Plasmid_plural_name")]),"warning",!1,["events"]);break}case"mad":{$("body").addClass("nuke");let c=$('
      ');$("body").append(c),setTimeout(function(){c.addClass("burn")},500),setTimeout(function(){c.addClass("b")},600),setTimeout(function(){e.civic.mad.armed=!1,bs()},4e3);break}case"blackhole":{let c=$('
      ');$("body").append(c),setTimeout(function(){c.addClass("burn")},125),setTimeout(function(){c.addClass("b")},150),setTimeout(function(){c.addClass("c")},2e3),setTimeout(function(){ws()},4e3)}}}},power(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["potato"];switch(!e.race.wishStats.ship&&(e.tech.shipyard||e.tech.science&&e.tech.science>=16)&&s.push("ship"),e.race.wishStats.gov||s.push("government"),s[Math.floor(T(0,s.length))]){case"potato":{e.race.wishStats.potato++,I(t("wish_energized"),"warning",!1,["events"]);break}case"ship":{e.race.wishStats.ship=!0,I(t("wish_ship"),"warning",!1,["events"]);break}case"government":e.race.wishStats.gov=!0,e.civic.govern.type="dictator",I(t("wish_gov"),"warning",!1,["events"])}}},adoration(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["priest"];switch(e.race.wishStats.temple||s.push("temple"),e.race.wishStats.zigg||s.push("zigg"),s[Math.floor(T(0,s.length))]){case"priest":{e.civic.priest.display&&e.race.wishStats.priest<25?(e.race.wishStats.priest++,I(t("wish_priest"),"warning",!1,["events"])):I(t("wish_priest_fail"),"warning",!1,["events"]);break}case"temple":{e.race.wishStats.temple=!0,I(t("wish_temple",[Ce("temple")]),"warning",!1,["events"]);break}case"zigg":e.race.wishStats.zigg=!0,I(t("wish_temple",[t("space_red_ziggurat_title")]),"warning",!1,["events"])}}},thrill(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=fc("major");if(s.length>0){let n=s[Math.floor(T(0,s.length))],c=Pt[n].effect();I(c,"caution",!1,["events","major_events"]),e.m_event.l=n}}},peace(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["flower"];["gov0","gov1","gov2"].forEach(function(o){!e.civic.foreign[o].anx&&!e.civic.foreign[o].buy&&!e.civic.foreign[o].occ&&!e.tech.world_control&&s.push(o)}),e.race.truepath&&!e.tech.isolation&&e.tech.rival&&e.civic.foreign.gov3.hstl>0&&s.push("gov3"),!e.race.truepath&&e.tech.piracy>1&&s.push("piracy"),e.race.truepath&&e.space.syndicate&&s.push("syndicate");let c=s[Math.floor(T(0,s.length))];if(["gov0","gov1","gov2"].includes(c))e.civic.foreign[c].hstl=0,e.civic.foreign[c].anx=!0,I(t("wish_peace_join",[pt(c.substring(3))]),"warning",!1,["events"]);else switch(c){case"flower":I(t("wish_peace_flower",[pt(c.substring(3))]),"warning",!1,["events"]);break;case"gov3":e.civic.foreign[c].hstl=0;break;case"piracy":e.tech.piracy=Math.floor(T(1,e.tech.piracy)),I(t("wish_piracy"),"warning",!1,["events"]);break;case"syndicate":Object.keys(e.space.syndicate).forEach(function(o){e.space.syndicate[o]>10&&(e.space.syndicate[o]=Math.floor(T(10,e.space.syndicate[o])))}),I(t("wish_piracy"),"warning",!1,["events"]);break}}},greatness(){if(e.race.wishStats.major===0){e.race.wishStats.major=v.wish.vars()[0];let s=["wonder"],n=ft();switch((!e.race.lone_survivor&&!e.stats.feat.wish||e.stats.feat.wish&&e.stats.feat.wish=2&&o.push("gardens"),e.race.truepath&&!e.space.hasOwnProperty("wonder_gardens")&&e.tech.titan&&e.tech.titan>=2&&o.push("gardens")}if(o.length>0){switch(o[Math.floor(T(0,o.length))]){case"lighthouse":e.city.wonder_lighthouse={count:1};break;case"pyramid":e.city.wonder_pyramid={count:1};break;case"statue":e.space.wonder_statue={count:1};break;case"gardens":e[e.race.truepath?"space":"interstellar"].wonder_gardens={count:1};break}I(t("wish_wonder"),"warning",!1,["events"])}else I(t("wish_no_wonder"),"warning",!1,["events"]);break}case"feat":{oe("wish",e.race.universe==="micro");break}}}}},filters:{wish(s){return s===0?`${t("power_available")}`:`${s}`},label(s){return t(`wish_${s}`)},money(){return t("resource_Money_name")}}}),["BigMoney","BigRes","Plasmid","Power","Adoration","Thrill","Peace","Greatness"].forEach(function(s){N(`wish${s}`,function(){switch(s){case"BigMoney":return t("wish_for",[t("wish_big_money")]);case"BigRes":return t("wish_for",[t("wish_big_resources")]);case"Plasmid":return t("wish_for",[t("wish_plasmid")]);case"Power":return t("wish_for",[t("wish_power")]);case"Adoration":return t("wish_for",[t("wish_adoration")]);case"Thrill":return t("wish_for",[t("wish_thrill")]);case"Peace":return t("wish_for",[t("wish_peace")]);case"Greatness":return t("wish_for",[t("wish_greatness")])}},{elm:`#wish${s}`})})}function B_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("trait_ocular_power_name")} -
      `));let i=$('
      ');a.append(i),i.append(`
      ${t("ocular_disintegration")}
      `),i.append(`
      ${t("ocular_petrification")}
      `),i.append(`
      ${t("ocular_wound")}
      `),i.append(`
      ${t("ocular_telekinesis")}
      `),i.append(`
      ${t("ocular_fear")}
      `),i.append(`
      ${t("ocular_charm")}
      `),C({el:"#ocularPower",data:e.race.ocularPowerConfig,methods:{pow(s){let n=0;["d","p","w","t","f","c"].forEach(function(c){e.race.ocularPowerConfig[c]&&n++,n>v.ocular_power.vars()[0]&&c!==s&&(e.race.ocularPowerConfig[c]=!1)}),n>v.ocular_power.vars()[0]&&(n=0,["d","p","w","t","f","c"].reverse().forEach(function(c){e.race.ocularPowerConfig[c]&&n++,n>v.ocular_power.vars()[0]&&c!==s&&(e.race.ocularPowerConfig[c]=!1)}),Xr())}},filters:{max(){let s=0;return["d","p","w","t","f","c"].forEach(function(n){e.race.ocularPowerConfig[n]&&s++}),t("ocular_max",[s,v.ocular_power.vars()[0]])}}}),["disintegration","petrification","wound","telekinesis","fear","charm"].forEach(function(s){N(`ocular${s}`,function(){switch(s){case"disintegration":let n=50*(v.ocular_power.vars()[1]/100);return t(`ocular_${s}_desc`,[n]);case"petrification":return t(`ocular_${s}_desc`,[e.resource.Stone.name]);case"wound":let c=60*(v.ocular_power.vars()[1]/100);return t(`ocular_${s}_desc`,[c]);case"telekinesis":let o=20*(v.ocular_power.vars()[1]/100);return t(`ocular_${s}_desc`,[o]);case"fear":return t(`ocular_${s}_desc`);case"charm":let l=70*(v.ocular_power.vars()[1]/100);return t(`ocular_${s}_desc`,[l])}},{elm:`#ocular${s}`})})}function Ye(){if(!e.settings.tabLoad&&(e.settings.civTabs!==2||e.settings.govTabs!==6))return;let r=$("#psychicPowers");K(r),e.race.psychic&&e.tech.psychic&&(G_(r),N_(r),e.tech.psychic>=2&&R_(r),e.tech.psychic>=3&&(e.race.psychicPowers.cash||(e.race.psychicPowers.cash=0),H_(r)),e.tech.psychicthrall&&e.tech.unfathomable&&e.race.unfathomable&&(e.tech.psychicthrall>=2&&U_(r),V_(r)))}function G_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("psychic_boost_title")}
      `));let i=$("
      ");a.append(i);let s="";if(Object.keys(Ve).forEach(function(l){e.resource[l].display&&(s+=`${e.resource[l].name}`)}),i.append(`
      ${s}
      `),a.append('
      '),e.tech.psychic>=4){let l=$(`
      ${t("psychic_channel")}
      `),u=$('{{ c.boost }}'),p=$(`«`),h=$(`»`);l.append(p),l.append(u),l.append(h),a.append(l)}let n=e.tech.psychic>=5?60:75,c=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;C({el:"#psychicBoost",data:{b:e.race.psychicPowers.boost,c:e.tech.psychic>=4?e.race.psychicPowers.channel:{}},methods:{boostVal(){e.resource.Energy.amount>=n&&(e.resource.Energy.amount-=n,e.race.psychicPowers.boostTime=72*c)},add(){let l=W();for(let u=0;u0;u++)e.race.psychicPowers.channel.boost--}},filters:{boost(l){return t("psychic_boost_button",[e.resource[l]?e.resource[l].name:"N/A",n])},boostTime(){return e.race.psychicPowers.boostTime>0?t("psychic_boost_time",[e.race.psychicPowers.boostTime]):""}}});let o=document.getElementById("psyhscrolltarget");o.addEventListener("wheel",l=>{l.preventDefault(),o.scrollLeft+=l.deltaY}),N("psychicBoost",function(){return t("psychic_boost_desc",[v.psychic.vars()[3]])},{elm:"#psychicBoost > div > button"})}function N_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("psychic_murder_title")}
      `)),a.append('
      ');let i=e.tech.psychic>=5?8:10;C({el:"#psychicKill",data:{},methods:{murder(){e.resource.Energy.amount>=i&&e.resource[e.race.species].amount>=1&&(e.resource.Energy.amount-=i,e.resource[e.race.species].amount--,e.stats.psykill++,Br(1),e.race.anthropophagite&&yt("Food",1e4*v.anthropophagite.vars()[0]),e.stats.psykill===10&&Ye())}},filters:{kill(){return t("psychic_murder_button",[i])}}}),N("psychicKill",function(){return t("psychic_murder_desc")},{elm:"#psychicKill > div > button"})}function R_(r){let a=$('
      ');if(r.append(a),a.append($(`
      ${t("psychic_assault_title")}
      `)),a.append('
      '),e.tech.psychic>=4){let n=$(`
      ${t("psychic_channel")}
      `),c=$('{{ assault }}'),o=$(`«`),l=$(`»`);n.append(o),n.append(c),n.append(l),a.append(n)}let i=e.tech.psychic>=5?36:45,s=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;C({el:"#psychicAssault",data:e.tech.psychic>=4?e.race.psychicPowers.channel:{},methods:{boostVal(){e.resource.Energy.amount>=i&&(e.resource.Energy.amount-=i,e.race.psychicPowers.assaultTime=72*s)},add(){let n=W();for(let c=0;c0;c++)e.race.psychicPowers.channel.assault--}},filters:{boost(){return t("psychic_boost_button",[t("psychic_attack"),i])},boostTime(){return e.race.psychicPowers.assaultTime>0?t("psychic_boost_time",[e.race.psychicPowers.assaultTime]):""}}}),N("psychicAssault",function(){return t("psychic_assault_desc",[v.psychic.vars()[3]])},{elm:"#psychicAssault > div > button"})}function H_(r){let a=$('
      ');if(r.append(a),a.append($(`
      ${t("psychic_profit_title")}
      `)),a.append('
      '),e.tech.psychic>=4){let n=$(`
      ${t("psychic_channel")}
      `),c=$('{{ cash }}'),o=$(`«`),l=$(`»`);n.append(o),n.append(c),n.append(l),a.append(n)}let i=e.tech.psychic>=5?52:65,s=e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg?e.stats.achieve.nightmare.mg:0;C({el:"#psychicFinance",data:e.tech.psychic>=4?e.race.psychicPowers.channel:{},methods:{boostVal(){e.resource.Energy.amount>=i&&(e.resource.Energy.amount-=i,e.race.psychicPowers.cash=72*s)},add(){let n=W();for(let c=0;c0;c++)e.race.psychicPowers.channel.cash--}},filters:{boost(){return t("psychic_boost_button",[t("psychic_profit"),i])},boostTime(){return e.race.psychicPowers.cash>0?t("psychic_boost_time",[e.race.psychicPowers.cash]):""}}}),N("psychicFinance",function(){return t("psychic_profit_desc",[v.psychic.vars()[3]])},{elm:"#psychicFinance > div > button"})}function V_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("psychic_mind_break_title")}
      `)),a.append('
      ');let i=e.tech.psychic>=5?64:80;C({el:"#psychicMindBreak",data:{},methods:{breakMind(){if(e.resource.Energy.amount>=i&&e.tech.unfathomable){let s=[];if(e.city.hasOwnProperty("surfaceDwellers"))for(let n=0;n0&&s.push(n);if(s.length>0){let n=s[Math.rand(0,s.length)];e.city.captive_housing[`jailrace${n}`]--,e.city.captive_housing[`race${n}`]++,e.resource.Energy.amount-=i}}}},filters:{break(){return t("psychic_mind_break_button",[i])}}}),N("psychicMindBreak",function(){return t("psychic_mind_break_desc")},{elm:"#psychicMindBreak > div > button"})}function U_(r){let a=$('
      ');r.append(a),a.append($(`
      ${t("psychic_stun_title")}
      `)),a.append('
      ');let i=e.tech.psychic>=5?80:100;C({el:"#psychicCapture",data:{},methods:{stun(){if(e.resource.Energy.amount>=i&&e.tech.unfathomable){let s=0;if(e.city.hasOwnProperty("surfaceDwellers"))for(let n=0;n div > button"})}function Br(r){if(e.race.blubber&&e.city.hasOwnProperty("oil_well")){let a=(e.city.oil_well.count+(e.space.oil_extractor?e.space.oil_extractor.count:0))*50;e.city.oil_well.dead+=r,e.city.oil_well.dead>a&&(e.city.oil_well.dead=a)}}var us=!1;function N(r,a,i){i||(i={}),i.hasOwnProperty("elm")||(i.elm="#"+r),i.hasOwnProperty("bind")||(i.bind=!0),i.hasOwnProperty("unbind")||(i.unbind=!0),i.hasOwnProperty("placement")||(i.placement="bottom"),i.bind&&$(i.elm).on(i.bind_mouse_enter?"mouseenter":"mouseover",function(){(us||$("#popper").length>0)&&ue();let s=i.wide?" wide":"",n=i.classes?i.classes:"has-background-light has-text-dark pop-desc";var c=$(`
      `);i.attach?$(i.attach).append(c):$("#main").append(c),a&&c.append(typeof a=="function"?a({this:this,popper:c}):a),us=Popper.createPopper(i.self?this:$(i.elm)[0],document.querySelector("#popper"),{placement:i.placement,modifiers:[{name:"flip",enabled:!0},{name:"offset",options:{offset:i.offset?i.offset:[0,0]}}]}),c.show(),i.hasOwnProperty("in")&&typeof i.in=="function"&&i.in({this:this,popper:c,id:"popper"}),ke("firework")&&e[e.race.cataclysm||e.race.orbit_decayed?"space":"city"].firework.on>0&&$(c).append('')}),i.unbind&&("ontouchstart"in document.documentElement&&navigator.userAgent.match(e.settings.touch)?$(i.elm).on("touchend",function(s){ue(),i.hasOwnProperty("out")&&typeof i.out=="function"&&i.out({this:this,popper:$("#popper"),id:"popper"})}):$(i.elm).on(i.bind_mouse_enter?"mouseleave":"mouseout",function(){ue(),i.hasOwnProperty("out")&&typeof i.out=="function"&&i.out({this:this,popper:$("#popper"),id:"popper"})}))}"ontouchstart"in document.documentElement&&navigator.userAgent.match(e.settings.touch)&&$(document).on("touchend",function(r){if($(".popper").length===1){ue();return}});function ue(r){r&&$("#popper").data("id")!==r||($("#popper").hide(),us&&(us.destroy(),us=!1),K($("#popper"),!0))}function ea(r){switch(r){case"stop":ge.w?ge.w.postMessage({loop:"clear"}):(clearInterval(Da.main_loop),clearInterval(Da.mid_loop),clearInterval(Da.long_loop)),e.settings.at>0&&(e.settings.at=hs.t),ge.s=!1;break;case"start":{pl(Date.now());let a=dl();ge.mt=a.webWorkerMainTimer,ge.w?(ge.w.postMessage({loop:"short",period:a.mainTimer}),ge.w.postMessage({loop:"mid",period:a.midTimer}),ge.w.postMessage({loop:"long",period:a.longTimer})):(Da.main_loop=setInterval(function(){fastLoop()},a.mainTimer),Da.mid_loop=setInterval(function(){midLoop()},a.midTimer),Da.long_loop=setInterval(function(){longLoop()},a.longTimer)),ge.s=!0}}}function dl(){let r=1;e.race.slow&&(r*=1+v.slow.vars()[0]/100),e.race.hyper&&(r*=1-v.hyper.vars()[0]/100);let a=Math.floor(250*r),i=4*a,s=20*a,n=2,c=hs.t>0?1/n:1;return{webWorkerMainTimer:a,mainTimer:Math.ceil(a*c),midTimer:Math.ceil(i*c),longTimer:Math.ceil(s*c),baseLongTimer:s,timeAccelerationFactor:n}}function pl(r){if(W_(r)||e.stats.hasOwnProperty("current")&&e.settings.at>0){let a=r-e.stats.current;if(e.settings.at>11520&&(e.settings.at=0),a>=12e4){let i=dl(),s=i.baseLongTimer;e.settings.at+=Math.floor(2/3*a*i.timeAccelerationFactor/s)}e.settings.at>11520&&(e.settings.at=11520),hs.t=e.settings.at,e.stats.current=r}}function W_(r){return e.stats.hasOwnProperty("current")&&r-e.stats.current>=12e4}window.exportGame=function(){return e.race.noexport?`Export is not available during ${e.race.noexport} Creation`:(pl(Date.now()),LZString.compressToBase64(JSON.stringify(e)))};window.importGame=function(a,i){let s=JSON.parse(i?LZString.decompressFromUTF16(a):LZString.decompressFromBase64(a));if(s&&"evolution"in s&&"settings"in s&&"stats"in s&&"plasmid"in s.stats){ge.w&&ge.w.terminate(),s.hasOwnProperty("tech")&&i&&(s.tech.hasOwnProperty("whitehole")&&s.tech.whitehole>=4&&(s.tech.whitehole=3,s.resource.Soul_Gem.amount+=10,s.resource.Knowledge.amount+=15e5,s.stats.know-=15e5),s.tech.hasOwnProperty("quaked")&&s.tech.quaked===2&&(s.tech.quaked=1,s.resource.Knowledge.amount+=5e5,s.stats.know-=5e5),s.tech.hasOwnProperty("corrupted_ai")&&s.tech.corrupted_ai===3&&(s.tech.corrupted_ai=1,s.resource.Knowledge.amount+=5e6,s.stats.know-=5e6));for(let n in s.lastMsg)for(let c of s.lastMsg[n])c.c=c.c.replaceAll('"',"");pe.setItem("evolved",LZString.compressToUTF16(JSON.stringify(s))),window.location.reload()}};function Vi(r,a){let i=Jr(),s=[];switch(r){case"power":s=["city:transmitter","prtl_ruins:arcology","city:apartment","eden_asphodel:rectory","int_alpha:habitat","int_alpha:luxury_condo","spc_red:spaceport","spc_titan:titan_spaceport","spc_titan:electrolysis","int_alpha:starport","eden_asphodel:encampment","spc_dwarf:shipyard","spc_titan:ai_core2","spc_eris:drone_control","spc_titan:ai_colonist","int_blackhole:s_gate","gxy_gateway:starbase","spc_triton:fob","spc_enceladus:operating_base","spc_enceladus:zero_g_lab","spc_titan:sam","gxy_gateway:ship_dock","prtl_ruins:hell_forge","int_neutron:stellar_forge","int_neutron:citadel","tau_home:orbital_station","tau_red:orbital_platform","tau_gas:refueling_station","tau_home:tau_farm","tau_gas:ore_refinery","tau_gas:whaling_station","city:coal_mine","spc_moon:moon_base","spc_red:red_tower","spc_home:nav_beacon","int_proxima:xfer_station","gxy_stargate:telemetry_beacon","int_nebula:nexus","gxy_stargate:gateway_depot","spc_dwarf:elerium_contain","spc_gas:gas_mining","spc_belt:space_station","spc_gas_moon:outpost","gxy_gorddon:embassy","gxy_gorddon:dormitory","gxy_alien1:resort","spc_gas_moon:oil_extractor","int_alpha:int_factory","city:factory","spc_red:red_factory","spc_dwarf:world_controller","prtl_fortress:turret","prtl_badlands:war_drone","city:wardenclyffe","city:biolab","city:mine","city:rock_quarry","city:cement_plant","city:sawmill","city:mass_driver","int_neutron:neutron_miner","prtl_fortress:war_droid","prtl_pit:soul_forge","gxy_chthonian:excavator","int_blackhole:far_reach","prtl_badlands:sensor_drone","prtl_badlands:attractor","city:metal_refinery","gxy_stargate:gateway_station","gxy_alien1:vitreloy_plant","gxy_alien2:foothold","gxy_gorddon:symposium","int_blackhole:mass_ejector","city:casino","spc_hell:spc_casino","tau_home:tauceti_casino","prtl_fortress:repair_droid","gxy_stargate:defense_platform","prtl_ruins:guard_post","prtl_lake:cooling_tower","prtl_lake:harbor","prtl_spire:purifier","prtl_ruins:archaeology","prtl_pit:gun_emplacement","prtl_gate:gate_turret","prtl_pit:soul_attractor","prtl_gate:infernite_mine","int_sirius:ascension_trigger","spc_kuiper:orichalcum_mine","spc_kuiper:elerium_mine","spc_kuiper:uranium_mine","spc_kuiper:neutronium_mine","spc_dwarf:m_relay","tau_home:tau_factory","tau_home:infectious_disease_lab","tau_home:alien_outpost","tau_gas:womling_station","spc_red:atmo_terraformer","tau_star:matrix","tau_home:tau_cultural_center","eden_elysium:sacred_smelter","prtl_pit:soul_capacitor","prtl_lake:oven_complete","eden_elysium:elysanite_mine","eden_elysium:elerium_containment","eden_elysium:pillbox","eden_elysium:archive","eden_elysium:restaurant","eden_elysium:eden_cement","eden_isle:spirit_battery","eden_isle:spirit_vacuum","city:replicator"];break;case"moon":s=["spc_moon:helium_mine","spc_moon:iridium_mine","spc_moon:observatory"];break;case"red":s=["spc_red:living_quarters","spc_red:exotic_lab","spc_red:red_mine","spc_red:fabrication","spc_red:biodome","spc_red:vr_center"];break;case"belt":s=["spc_belt:elerium_ship","spc_belt:iridium_ship","spc_belt:iron_ship"];break;case"alpha":s=["int_alpha:fusion","int_alpha:mining_droid","int_alpha:processing","int_alpha:laboratory","int_alpha:g_factory","int_alpha:exchange","int_alpha:zoo"];break;case"nebula":s=["int_nebula:harvester","int_nebula:elerium_prospector"];break;case"gateway":s=["gxy_gateway:bolognium_ship","gxy_gateway:dreadnought","gxy_gateway:cruiser_ship","gxy_gateway:frigate_ship","gxy_gateway:corvette_ship","gxy_gateway:scout_ship"];break;case"alien2":s=["gxy_alien2:armed_miner","gxy_alien2:ore_processor","gxy_alien2:scavenger"];break;case"lake":s=["prtl_lake:bireme","prtl_lake:transport"];break;case"spire":s=["prtl_spire:port","prtl_spire:base_camp","prtl_spire:mechbay"];break;case"titan":s=["spc_titan:titan_quarters","spc_titan:titan_mine","spc_titan:g_factory","spc_titan:decoder"];break;case"enceladus":s=["spc_enceladus:water_freighter","spc_enceladus:operating_base","spc_enceladus:zero_g_lab"];break;case"eris":s=["spc_eris:shock_trooper","spc_eris:tank"];break;case"tau_home":s=["tau_home:colony","tau_home:tau_factory","tau_home:mining_pit","tau_home:infectious_disease_lab"];break;case"tau_red":s=["tau_red:womling_village","tau_red:womling_farm","tau_red:overseer","tau_red:womling_mine","tau_red:womling_fun","tau_red:womling_lab"];break;case"tau_roid":s=["tau_roid:mining_ship","tau_roid:whaling_ship"];break;case"asphodel":s=["eden_asphodel:soul_engine","eden_asphodel:bunker","eden_asphodel:asphodel_harvester","eden_asphodel:ectoplasm_processor","eden_asphodel:research_station","eden_asphodel:bliss_den"];break}a&&(i[r].l.length=0),s.forEach(function(n){i[r].l.includes(n)||i[r].l.push(n)}),i[r].l.length>s.length&&i[r].l.forEach(function(n){s.includes(n)||i[r].l.splice(i[r].l.indexOf(n),1)})}function I(r,a,i,s,n){if(s=s||[],!n&&!s.includes("all")&&s.push("all"),a=a||"warning",s.includes(La.view)){let c=$('

      ').text(r);$("#msgQueueLog").prepend(c),$("#msgQueueLog").children().length>e.settings.msgFilters[La.view].max&&$("#msgQueueLog").children().last().remove()}s.forEach(function(c){La[c].unshift({msg:r,color:a}),La[c].length>e.settings.msgFilters[c].max&&La[c].pop()}),i||s.forEach(function(c){e.lastMsg[c]&&(e.lastMsg[c].unshift({m:r,c:a}),e.lastMsg[c].length>e.settings.msgFilters[c].save&&e.lastMsg[c].splice(e.settings.msgFilters[c].save))})}function fr(r){for(let a=e.queue.queue.length-1;a>=0;a--)r.includes(e.queue.queue[a].id)&&e.queue.queue.splice(a,1)}function za(r){for(let a=e.r_queue.queue.length-1;a>=0;a--)r.includes(m.tech[e.r_queue.queue[a].type].grant[0])&&e.r_queue.queue.splice(a,1)}function Or(){let r=e.tech.queue>=2?e.tech.queue>=3?8:5:3;if(e.stats.feat.journeyman&&e.stats.feat.journeyman>=2&&e.stats.achieve.seeder&&e.stats.achieve.seeder.l>=2){let i=Math.min(e.stats.achieve.seeder.l,e.stats.feat.journeyman);r+=i>=4?2:1}e.genes.queue&&e.genes.queue>=2&&(r*=2);let a=Q("pragmatist",0);a&&(r=Math.round(r*(1+a/100))),e.queue.max=r}function ca(){let r=3;if(e.stats.feat.journeyman&&e.stats.achieve.seeder&&e.stats.achieve.seeder.l>0){let i=Math.min(e.stats.achieve.seeder.l,e.stats.feat.journeyman);r+=i>=3?i>=5?3:2:1}e.genes.queue&&e.genes.queue>=2&&(r*=2);let a=Q("theorist",0);a&&(r=Math.round(r*(1+a/100))),e.r_queue.max=r}function ka(){Q_(),K($("#buildQueue")),$("#buildQueue").append($(`

      ${t("building_queue")} ({{ | used_q }}/{{ max }})

      - `)),e.settings.queuestyle&&$("#buildQueue").addClass(e.settings.queuestyle);let r=$('
        ');$("#buildQueue").append(r),r.append($(`
      • {{ item.label }}{{ item.q | count }} [{{ item.time | time }}{{ item.t_max | max_t(item.time) }}]
      • `));try{C({el:"#buildQueue",data:e.queue,methods:{remove(a){let i=W();for(let s=0;s0&&(e.queue.queue[a].q-=e.queue.queue[a].qs),e.queue.queue[a].q<=0){le(`q${e.queue.queue[a].id}${a}`),e.queue.queue.splice(a,1),ka();break}},setID(a){return`q${e.queue.queue[a].id}${a}`},setData(a,i){let s,n=e.queue.queue[a].id.split("-");if(n[0].substring(0,4)==="arpa")s=n[0].substring(4);else if(n[0]==="tp"&&n[1].substring(0,4)==="ship"){let o=Ki(e.queue.queue[a].type),l={};Object.keys(o).forEach(function(u){l[u]=function(){return o[u]}}),s={cost:l}}else n[0]==="city"||n[0]==="evolution"||n[0]==="starDock"?s=m[n[0]][n[1]]:Object.keys(m[n[0]]).forEach(function(o){m[n[0]][o].hasOwnProperty(n[1])&&(s=m[n[0]][o][n[1]])});let c={};if(s.cost){let o=Ct(s);Object.keys(o).forEach(function(l){let u=o[l]();u>0&&(c[`${i}-${l}`]=u)})}return c},pauseQueue(){$("#pausequeue").removeClass("play"),$("#pausequeue").removeClass("pause"),e.queue.pause?(e.queue.pause=!1,$("#pausequeue").addClass("play")):(e.queue.pause=!0,$("#pausequeue").addClass("pause"))},pausedesc(){return e.queue.pause?t("queue_play"):t("queue_pause")}},filters:{time(a){return ut(a)},count(a){return a>1?` (${a})`:""},max_t(a,i){return i===a||i<0?"":` / ${ut(a)}`},used_q(){let a=0;for(let i=0;ie.resource[r].max&&e.resource[r].max!=-1?n=e.resource[r].max:n<0&&((!s||s&&n*-1>s)&&(c=!1),n=0),Number.isNaN(n)||(e.resource[r].amount=n,i||(e.resource[r].delta+=a,r==="Mana"&&a>0&&(e.resource[r].gen_d+=a))),c}function Gr(r){let a=e.race.maintype||x[e.race.species].type;switch(a){case"animal":a="animalism";break;case"small":a="dwarfism";break;case"giant":a="gigantism";break;case"avian":case"reptilian":a="eggshell";break;case"fungi":a="chitin";break;case"insectoid":a="athropods";break;case"angelic":a="celestial";break;case"organism":a="sentience";break}let i=r?[t("civics_gov_tp_name0"),t("civics_gov_tp_name1"),t("civics_gov_tp_name2"),t("civics_gov_tp_name3"),t("civics_gov_tp_name4"),t("civics_gov_tp_name5"),t("civics_gov_tp_name6"),t("civics_gov_tp_name7"),t("civics_gov_tp_name8"),t("civics_gov_tp_name9")]:[x[e.race.species].name,x[e.race.species].home,t(`biome_${e.city.biome}_name`),t(`evo_${a}_title`),t("civics_gov_name0"),t("civics_gov_name1"),t("civics_gov_name2"),t("civics_gov_name3"),t("civics_gov_name4"),t("civics_gov_name5"),t("civics_gov_name6"),t("civics_gov_name7"),t("civics_gov_name8"),t("civics_gov_name9"),t("civics_gov_name10"),t("civics_gov_name11")];return{s0:Math.rand(0,14),s1:i[Math.rand(0,i.length)]}}function F(r,a,i,s,n){n||(n="city"),e.race.universe==="micro"&&(s-=Me("micro",!1)),e.race.small?s-=v.small.vars()[0]:e.race.large&&(s+=v.large.vars()[0]),e.race.compact&&(s-=v.compact.vars()[0]),e.race.tunneler&&(r==="mine"||r==="coal_mine")&&(s-=v.tunneler.vars()[0]),e.tech.housing_reduction&&(r==="basic_housing"||r==="cottage")&&(s-=e.tech.housing_reduction*.02),e.tech.housing_reduction&&r==="captive_housing"&&(s-=e.tech.housing_reduction*.01),r==="basic_housing"&&(e.race.solitary&&(s-=v.solitary.vars()[0]),e.race.pack_mentality&&(s+=v.pack_mentality.vars()[0])),r==="cottage"&&(e.race.solitary&&(s+=v.solitary.vars()[1]),e.race.pack_mentality&&(s-=v.pack_mentality.vars()[1])),r==="apartment"&&e.race.pack_mentality&&(s-=v.pack_mentality.vars()[1]),e.genes.creep&&!e.race.no_crispr?s-=e.genes.creep*.01:e.genes.creep&&e.race.no_crispr&&(s-=e.genes.creep*.002);let c=Q("noquestions",0);c&&(s-=c),s<1.005&&(s=1.005);var o=r==="citizen"?e.resource[e.race.species].amount:e[n][r]?e[n][r].count:0;return a&&(o+=a),Math.round(s**o*i)}function f(r,a,i,s,n,c){n||(n="space"),c=c||1.005,e.race.universe==="micro"&&(s-=Me("micro",!0)),e.genes.creep&&!e.race.no_crispr?s-=e.genes.creep*.01:e.genes.creep&&e.race.no_crispr&&(s-=e.genes.creep*.002),e.race.small&&(s-=v.small.vars()[1]),e.race.compact&&(s-=v.compact.vars()[1]),e.prestige.Harmony.count>0&&e.stats.achieve.ascended&&(s-=ns());let o=Q("noquestions",0);o&&(s-=o),s0&&e.stats.achieve.ascended){let r=0;switch(e.race.universe){case"heavy":e.stats.achieve.ascended.hasOwnProperty("h")&&(r=e.stats.achieve.ascended.h*e.prestige.Harmony.count);break;case"antimatter":e.stats.achieve.ascended.hasOwnProperty("a")&&(r=e.stats.achieve.ascended.a*e.prestige.Harmony.count);break;case"evil":e.stats.achieve.ascended.hasOwnProperty("e")&&(r=e.stats.achieve.ascended.e*e.prestige.Harmony.count);break;case"micro":e.stats.achieve.ascended.hasOwnProperty("m")&&(r=e.stats.achieve.ascended.m*e.prestige.Harmony.count);break;case"magic":e.stats.achieve.ascended.hasOwnProperty("mg")&&(r=e.stats.achieve.ascended.mg*e.prestige.Harmony.count);break;default:e.stats.achieve.ascended.hasOwnProperty("l")&&(r=e.stats.achieve.ascended.l*e.prestige.Harmony.count);break}if(r>0)return r=(Math.log(50+r)-3.912023005428146)*.01,+r.toFixed(5)}return 0}function li(r,a,i,s){if(s=typeof s>"u"?!0:s,r.cost){let n=0,c=!1,o=a&&a.id[r.id]?a.id[r.id]:!1,l=r.doNotAdjustCost?r.cost:Ct(r,o),u=a?{}:!1,p=a?{}:!1;a&&(Object.keys(a.r).forEach(function(g){u[g]=a.r[g]}),Object.keys(a.rr).forEach(function(g){p[g]=a.rr[g]}));let h=!1;e.interstellar.hasOwnProperty("mass_ejector")&&e.genes.governor&&e.tech.governor&&e.race.governor&&e.race.governor.g&&e.race.governor.tasks&&Object.keys(e.race.governor.tasks).forEach(function(g){e.race.governor.tasks[g]==="trash"&&(h=!0)});let d={};return Object.keys(l).forEach(function(g){if(n>=0&&!e.prestige.hasOwnProperty(g)&&!["Morale","HellArmy","Structs","Bool","Army","Troops"].includes(g)){var w=Number(o?l[g](o):l[g]());if(w>0){let k=g==="Species"?e.race.species:g,M=g==="Supply"?e.portal.purifier.supply:Number(e.resource[k].amount),q=g==="Supply"?e.portal.purifier.sup_max:e.resource[k].max,P=g==="Supply"?e.portal.purifier.diff:e.resource[k].diff;if(h&&e.interstellar.mass_ejector[g]&&(P+=e.interstellar.mass_ejector[g],e.race.governor.config.trash.hasOwnProperty(g)&&(P-=Math.min(e.race.governor.config.trash[g].v,e.interstellar.mass_ejector[g]))),a&&(M+=P*(s?a.t.t:a.t.rt),a.r.hasOwnProperty(k)||(a.r[k]=0),a.rr.hasOwnProperty(k)||(a.rr[k]=0),s?(M-=Number(a.r[k]),a.r[k]+=w,a.rr[k]+=w):(M-=Number(a.rr[k]),a.rr[k]+=w),q>=0&&M>q&&(M=q)),w>M)if(P>0){let O=(w-M)/P;O>n&&(c=k,n=O),d[k]=O}else a&&(a.r=u,a.rr=p),n=-9999999,d[k]=99999999-P,(d[c]&&d[k]>d[c]||!d[c])&&(c=k)}}}),a&&n>=0&&(typeof a.id[r.id]>"u"?a.id[r.id]=1:a.id[r.id]++,s&&(a.t.t+=n),a.t.rt+=n),i?{t:n,r:c,s:d}:n}else return 0}function ys(r,a,i,s){let n=i&&i.id[r.id]?i.id[r.id]:!1,c=Vr(r.cost,n),o=0,l=i?{}:!1,u=i?{}:!1,p=!1;i&&(Object.keys(i.r).forEach(function(g){l[g]=i.r[g]}),Object.keys(i.rr).forEach(function(g){u[g]=i.rr[g]}));let h=!1;e.interstellar.hasOwnProperty("mass_ejector")&&e.genes.governor&&e.tech.governor&&e.race.governor&&e.race.governor.g&&e.race.governor.tasks&&Object.keys(e.race.governor.tasks).forEach(function(g){e.race.governor.tasks[g]==="trash"&&(h=!0)});let d={};return Object.keys(c).forEach(function(g){if(o>=0){let w=Number(c[g](n))*a;if(w>0){let k=Number(e.resource[g].amount),M=e.resource[g].diff;if(i&&(h&&e.interstellar.mass_ejector[g]&&(M+=e.interstellar.mass_ejector[g],e.race.governor.config.trash.hasOwnProperty(g)&&(M-=Math.min(e.race.governor.config.trash[g].v,e.interstellar.mass_ejector[g]))),k+=M*i.t.t,i.r[g]?(k-=Number(i.r[g]),i.r[g]+=w):i.r[g]=w,i.rr[g]?i.rr[g]+=w:i.rr[g]=w,e.resource[g].max>=0&&k>e.resource[g].max&&(k=e.resource[g].max)),w>k)if(M>0){let q=(w-k)/M;q>o&&(o=q,p=g),d[g]=q}else i&&(i.r=l,i.rr=u),o=-9999999,d[g]=99999999-M,(d[p]&&d[g]>d[p]||!d[p])&&(p=g)}}}),i&&o>=0&&(typeof i.id[r.id]>"u"?i.id[r.id]=1:i.id[r.id]++,i.t.t+=o,i.t.rt+=o),s?{t:o,r:p,s:d}:o}function K(r,a){if(r.find(".vb").each(function(){try{$(this)[0].__vue__.$destroy()}catch{}}),a){try{r[0].__vue__.$destroy()}catch{}r.remove()}else r.empty()}function C(r,a){if(a=a||"create",$(r.el).length>0&&typeof $(r.el)[0].__vue__<"u")try{a==="update"?$(r.el)[0].__vue__.$forceUpdate():$(r.el)[0].__vue__.$destroy()}catch{}a==="create"&&(new Vue(r),$(r.el).addClass("vb"))}function ut(r){let a;if(r<0)a=t("time_never");else{r=+r.toFixed(0);let i=60;if(r0?a=`${o}m ${c}s`:a=`${o}m`;else{let u=n*24,p=Math.floor(r/n)%24;if(r0?a=`${p}h ${o}m`:c>0?a=`${p}h ${c}s`:a=`${p}h`;else{let h=Math.floor(r/u);p>0?a=`${h}d ${p}h`:o>0?a=`${h}d ${o}m`:c>0?a=`${h}d ${c}s`:a=`${h}d`}}}}return a}function nt(r){return e.race.universe==="antimatter"&&(r*=Me("antimatter"),r=+r.toFixed(2)),ja()==="leo"&&(r*=1+Zt("leo")[0]/100,r=+r.toFixed(2)),r}function V(r){return e.race.emfield?+(r*1.5).toFixed(2):r}function Y_(r){if(e.tech.high_tech&&e.tech.high_tech>=11){let a=e.resource.Knowledge.max,i=25e4,s=0;for(;a>i;)a-=i,i*=1.1,s++;if(s+=+(a/i).toFixed(2),e.interstellar.citadel){let n=r?e.interstellar.citadel.on:H.citadel;e.tech.high_tech&&e.tech.high_tech>=15&&n>0&&(s*=1+n*.05)}if(e.space.ai_core2){let n=r?e.space.ai_core2.on:H.ai_core2;e.tech.titan_ai_core&&n>0&&(s*=1.25)}if(e.stats.achieve.obsolete&&e.stats.achieve.obsolete.l>=5&&e.prestige.AICore.count>0&&(s*=2-.99**e.prestige.AICore.count),e.race.linked){let n=v.linked.vars()[0]/100*e.resource[e.race.species].amount;n>v.linked.vars()[1]/100&&(n-=v.linked.vars()[1]/100,n=n/(n+200-v.linked.vars()[1]),n+=v.linked.vars()[1]/100),s*=1+n}return+s.toFixed(3)}return 0}function Cr(r){return r?Y_(r):zi}function Me(r,a,i,s){s||(s={});let n=s.dark!==void 0?s.dark:e.prestige.Dark.count,c=s.harmony!==void 0?s.harmony:e.prestige.Harmony.count,o=s.sludge!==void 0?s.sludge:e.stats.achieve.extinct_sludge&&e.stats.achieve.extinct_sludge[fe(r)]?e.stats.achieve.extinct_sludge[fe(r)]:0;switch(r){case"standard":return e.race.universe==="standard"||i?(c>0&&(n*=1+c*.001),o&&(n*=1+o*.03),1+n/200):0;case"evil":return e.race.universe==="evil"||i?(c>0&&(n*=1+c*.01),o&&(n*=1+o*.03),1+(Math.log2(10+n)-3.321928094887362)/5):1;case"micro":return e.race.universe==="micro"||i?a?(c>0&&(n*=1+c*.01),n=.01+(Math.log(100+n)-4.605170185988092)/35,o&&(n*=1+o*.03),n>.04&&(n=.04),+n.toFixed(5)):(c>0&&(n*=1+c*.01),n=.02+(Math.log(100+n)-4.605170185988092)/20,o&&(n*=1+o*.03),n>.06&&(n=.06),+n.toFixed(5)):0;case"heavy":return e.race.universe==="heavy"||i?(c>0&&(n*=1+c*.01),o&&(n*=1+o*.03),.995**n):1;case"antimatter":return e.race.universe==="antimatter"||i?(c>0&&(n*=1+c*.01),o&&(n*=1+o*.03),1+(Math.log(50+n)-3.912023005428146)/5):0;case"magic":return e.race.universe==="magic"||i?(c>0&&(n*=1+c*.01),o&&(n*=1+o*.03),1+(Math.log(50+n)-3.912023005428146)/3):0}return 0}var jt=function(){var r;return function(a){return r&&!a?r:e.genes.challenge&&e.genes.challenge>=2?(r=bc(e.race.universe),r):0}}();function bc(r,a,i){if(e.genes.challenge&&e.genes.challenge>=2){r=r||e.race.universe;let s=wc(r),n=r==="standard"?.25:.15,c=e.genes.challenge>=3?.15:.1;e.genes.challenge>=4&&r!=="standard"&&(n+=.05,c-=.05);let o=e.stats.feat.grandmaster&&e.stats.achieve.corrupted&&e.stats.achieve.corrupted.l>0?Math.min(e.stats.achieve.corrupted.l,e.stats.feat.grandmaster):0;o>0&&(n*=1+o/100,c*=1+o/100),i||(e.race.weak_mastery&&r==="antimatter"&&(n/=10,c/=10),e.race.nerfed&&(n/=r==="antimatter"?5:2,c/=r==="antimatter"?5:2),e.race.ooze&&(n*=1-v.ooze.vars()[2]/100,c*=1-v.ooze.vars()[2]/100),e.genes.challenge>=5&&e.race.hasOwnProperty("mastery")&&(n*=1+v.mastery.vars()[0]*e.race.mastery/100,c*=1+v.mastery.vars()[0]*e.race.mastery/100));let l=s.aLvl*n,u=0;return r!=="standard"&&(u=s.uLvl*c),a?{g:l,u,m:l+u}:l+u}return a?{g:0,u:0,m:0}:0}var xr=function(){var r;return function(a){if(!r||a){let i=0;Object.keys(e.pillars).forEach(function(s){x[s]&&e.race.species===s?i+=4:x[s]&&i++}),r=[1+i/100,1+i*2/100]}return r}}();function Fa(r,a,i,s){i=i||0,s=s||{};let n=s.genes;n===void 0&&(n=ft()-1,n>4&&(n=4));let c=s.uni||e.race.universe;if(c==="micro"&&(r=r*.25),c==="antimatter"&&(r=r*1.1),c==="heavy"&&a!=="mad")switch(n){case 1:r=r*1.1;break;case 2:r=r*1.15;break;case 3:r=r*1.2;break;case 4:r=r*1.25;break;default:r=r*1.05;break}switch((s.tp!==void 0?s.tp:e.race.truepath)&&(r=r*1.1),n){case 1:return+(r*1.05).toFixed(i);case 2:return+(r*1.12).toFixed(i);case 3:return+(r*1.25).toFixed(i);case 4:return+(r*1.45).toFixed(i);default:return+r.toFixed(i)}}function Aa(r,a){a||(a={});let i={pop_divisor:999,k_inc:1e6,k_mult:100,phage_mult:0,plasmid_cap:150};switch(r){case"mad":i.pop_divisor=3,i.k_inc=1e5,i.k_mult=1.1,i.plasmid_cap=150,(a.synth===!0||a.synth.val===!0)&&(i.pop_divisor=5,i.k_inc=125e3,i.plasmid_cap=100);break;case"cataclysm":case"bioseed":i.pop_divisor=3,i.k_inc=5e4,i.k_mult=1.015,i.phage_mult=1,i.plasmid_cap=400;break;case"ai":i.pop_divisor=2.5,i.k_inc=45e3,i.k_mult=1.014,i.phage_mult=2,i.plasmid_cap=600;break;case"vacuum":case"bigbang":i.pop_divisor=2.2,i.k_inc=4e4,i.k_mult=1.012,i.phage_mult=2.5,i.plasmid_cap=800;break;case"ascend":case"terraform":i.pop_divisor=1.15,i.k_inc=3e4,i.k_mult=1.008,i.phage_mult=4,i.plasmid_cap=2e3;break;case"matrix":i.pop_divisor=1.5,i.k_inc=32e3,i.k_mult=1.01,i.phage_mult=3.2,i.plasmid_cap=1800;break;case"retired":i.pop_divisor=1.15,i.k_inc=32e3,i.k_mult=1.006,i.phage_mult=3.2,i.plasmid_cap=1800;break;case"eden":i.pop_divisor=1,i.k_inc=18e3,i.k_mult=1.004,i.phage_mult=2.5,i.plasmid_cap=1800;break;default:i.unknown=!0;break}return i}function $e(r,a){let i={plasmid:0,phage:0,dark:0,harmony:0,artifact:0,cores:0,supercoiled:0,pdebt:0};a||(a={}),a.synth===void 0&&(a.synth=x[e.race.species].type==="synthetic");let s=a.genes,n=a.uni;n=n||e.race.universe;let c=0;if(a.cit===void 0){let g=e.civic.hasOwnProperty("garrison")?e.civic.garrison.workers:0;for(let w=0;w<3;w++)e.civic.foreign[`gov${w}`].occ&&(g+=E(e.civic.govern.type==="federation"?15:20));e.race.high_pop?c=Math.round(e.resource[e.race.species].amount/v.high_pop.vars()[0])+Math.round(g/v.high_pop.vars()[0]):c=e.resource[e.race.species].amount+g}else a.high_pop?c=Math.round(a.cit/v.high_pop.vars(a.high_pop)[0])+Math.round(a.sol/v.high_pop.vars(a.high_pop)[0]):c=a.cit+a.sol;let o=Aa(r,a),l=o.pop_divisor,u=o.k_inc,p=o.k_mult,h=o.phage_mult,d=o.plasmid_cap;if(s!==void 0?d=Math.floor(d*(1+(s+(a.tp?1:0))/8)):d=Math.floor(d*(1+(ft()-(e.race.truepath?0:1))/8)),a.plas===void 0){let g=a.know!==void 0?a.know:e.stats.know,w=Math.round(c/l);for(;g>u;)w++,g-=u,u*=p;if(e.race.cataclysm?w+=300:e.race.lone_survivor&&(w+=800),i.plasmid=Fa(w,r,!1,a),!a.rawPlasmids&&i.plasmid>d){let k=i.plasmid-d;i.plasmid=d,k=Math.floor(k/(k+d)*d),i.plasmid+=k}}else i.plasmid=a.plas;if(i.phage=i.plasmid>0?Fa(Math.floor(Math.log2(i.plasmid)*Math.E*h),r,!1,a):0,r==="bigbang"){let g=a.exotic,w=a.mass;g===void 0&&e.interstellar&&e.interstellar.stellar_engine&&(g=e.interstellar.stellar_engine.exotic,w=e.interstellar.stellar_engine.mass);let k=+Math.log(1+g*40).toFixed(3);k+=+(Math.log2(w-7)/2.5).toFixed(3),k=Fa(k,"bigbang",3,a),i.dark=k}else if(r==="vacuum"){let g=a.mana!==void 0?a.mana:e.resource.Mana.gen,w=+(Math.log2(g)/5).toFixed(3);w=Fa(w,"vacuum",3,a),i.dark=w}if(["ascend","descend","terraform","apotheosis"].includes(r)){let g=1;if(s===void 0?(g=ft(),g>5&&(g=5)):g=s+1,r==="ascend"||r==="terraform"){switch(n){case"micro":g*=.25;break;case"heavy":g*=1.2;break;case"antimatter":g*=1.1;break;default:break}i.harmony=parseFloat(g.toFixed(2))}else if(r==="descend"){let w=n==="micro"?1:g,k=a.floor;k!==void 0?k++:k=e.portal.hasOwnProperty("spire")?e.portal.spire.count:0,[50,100].forEach(function(M){k>M&&w++}),i.artifact=w}else r==="apotheosis"&&(i.plasmid=16**4-65535,n==="micro"?i.supercoiled=g**2:i.supercoiled=g**3)}return r==="ai"&&(i.cores=n==="micro"?2:5),e.stats.pdebt>0&&(i.plasmid-=e.stats.pdebt,i.plasmid<0?(i.pdebt=Math.abs(i.plasmid),i.plasmid=0):i.pdebt=0),i}function Ct(r,a,i){let s=r.cost||{};if((s.RNA||s.DNA)&&e.genes.evolve){var n={};return Object.keys(s).forEach(function(c){(c==="RNA"||c==="DNA")&&(n[c]=function(){return Math.round(s[c](a,i)*.8)})}),n}return s=ed(s,a,i),s=rd(s,r,a,i),s=td(s,a,i),s=ad(s,a,i),s=sd(s,a,i),s=ld(s,a,i),s=od(s,a,i),s=cd(s,a,i),s=nd(s,a,i),s=hd(s,a,i),s=id(s,a,i),s=pd(s,a,i),s=_d(s,a,i),s=dd(s,r,a,i),ud(s,a,i)}function ed(r,a,i){if(e.race.bloated){let n=1+v.bloated.vars()[0]/100;var s={};return Object.keys(r).forEach(function(c){["Food","Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Steel","Titanium","Alloy","Polymer","Iridium"].includes(c)?s[c]=function(){return r[c](a,i)*n}:s[c]=function(){return r[c](a,i)}}),s}return r}function td(r,a,i){if(e.race.lone_survivor){var s={};return Object.keys(r).forEach(function(n){["Structs","Custom","Soul_Gem","Plasmid","Phage","Dark","Harmony","Blood_Stone","Artifact","Supercoiled","Corrupt_Gem","Codex","Demonic_Essence","Horseshoe"].includes(n)?s[n]=function(){return r[n](a,i)}:["Knowledge"].includes(n)?s[n]=function(){return Math.round(r[n](a,i)*.5)}:["Money"].includes(n)?s[n]=function(){return Math.round(r[n](a,i)*.22)}:["Plywood","Brick","Wrought_Iron","Sheet_Metal","Mythril","Quantium"].includes(n)?s[n]=function(){return Math.round(r[n](a,i)*.14)}:s[n]=function(){return Math.round(r[n](a,i)*.28)}}),s}return r}function rd(r,a,i,s){if((s?s.truepath:e.race.truepath)&&(!a.hasOwnProperty("path")||!a.path.includes("truepath"))){var n={};return Object.keys(r).forEach(function(c){c==="Money"?n[c]=function(){return Math.round(r[c](i,s)*3)}:["Structs","Knowledge","Custom","Soul_Gem","Plasmid","Phage","Dark","Harmony","Blood_Stone","Artifact","Supercoiled","Corrupt_Gem","Codex","Demonic_Essence","Horseshoe"].includes(c)?n[c]=function(){return r[c](i,s)}:n[c]=function(){return Math.round(r[c](i,s)*2)}}),n}return r}function ad(r,a,i){if(e.race.inflation){var s={};return Object.keys(r).forEach(function(n){if(n==="Money"){let c=1+e.race.inflation/75;s[n]=function(){return Math.round(r[n](a,i)*c)}}else s[n]=function(){return r[n](a,i)}}),s}return r}function id(r,a,i){let s=Q("extravagant",0);if(s){var n={};return Object.keys(r).forEach(function(c){if(c==="Money"){let o=1+s/100;n[c]=function(){return Math.round(r[c](a,i)*o)}}else n[c]=function(){return r[c](a,i)}}),n}return r}function sd(r,a,i){if(e.civic.govern.type==="technocracy"){let n=1+Be.technocracy()[1]/100;var s={};return Object.keys(r).forEach(function(c){if(c==="Knowledge"){let o=1-Be.technocracy()[0]/100;s[c]=function(){return Math.round(r[c](a,i)*o)}}else c==="Money"||c==="Structs"||c==="Custom"?s[c]=function(){return r[c](a,i)}:s[c]=function(){return Math.round(r[c](a,i)*n)}}),s}return r}function nd(r,a,i){let s=Q("pragmatist",1),n=re("gnome");if((e.race.smart||e.race.dumb||s||n>0)&&r.Knowledge){var c={};return Object.keys(r).forEach(function(o){o==="Knowledge"?c[o]=function(){let l=r[o](a,i);return e.race.smart&&(l*=1-v.smart.vars()[0]/100),n>0&&(l*=1-v.smart.vars(1)[0]/100*n),e.race.dumb&&(l*=1+v.dumb.vars()[0]/100),s&&(l*=1+s/100),Math.round(l)}:c[o]=function(){return r[o](a,i)}}),c}return r}function cd(r,a,i){if(e.race.smoldering){let s={};return Object.keys(r).forEach(function(n){if(n==="Lumber"||n==="Plywood"){let c=n==="Plywood"?2:1;s.Chrysotile=function(){return Math.round(r[n](a,i)*c)||0}}else["HellArmy","Army","Troops","Structs","Chrysotile","Knowledge","Custom","Soul_Gem","Plasmid","Phage","Dark","Harmony","Blood_Stone","Artifact","Supercoiled","Corrupt_Gem","Codex","Demonic_Essence","Horseshoe","Mana","Energy"].includes(n)?s[n]=function(){return r[n](a,i)}:s[n]=function(){return Math.round(r[n](a,i)*.9)}}),!s.hasOwnProperty("Chrysotile")&&r.hasOwnProperty("Money")&&e.tech.primitive&&e.tech.primitive>=3&&(s.Chrysotile=function(){let n=r.Money(a,i)||0;return n>0?Math.round(n/50):0}),s}return r}function od(r,a,i){if(e.race.kindling_kindred&&(r.Lumber||r.Plywood)){var s={};let n=1+v.kindling_kindred.vars()[0]/100;return Object.keys(r).forEach(function(c){c!=="Lumber"&&c!=="Plywood"&&c!=="Structs"?s[c]=function(){return Math.round(r[c](a,i)*n)||0}:c==="Structs"&&(s[c]=function(){return r[c](a,i)})}),s}else if(e.race.unfathomable&&e.city.captive_housing){let n=re("entish");if(n>0){var s={};let o=1-.4*n;return Object.keys(r).forEach(function(l){l==="Lumber"&&l==="Plywood"?s[l]=function(){return Math.round(r[l](a,i)*o)||0}:s[l]=function(){return r[l](a,i)}}),s}}return r}function ld(r,a,i){if(e.race.flier&&(r.Stone||r.Cement)){var s={};let n=1-v.flier.vars()[0]/100;return Object.keys(r).forEach(function(c){c==="Stone"&&!r.Cement?s[c]=function(){return Math.round(r[c](a,i)*n)||0}:c==="Cement"?r.Stone?s.Stone=function(){return Math.round(r.Stone(a,i)*n+r[c](a,i)*1.8*n)||0}:s.Stone=function(){return Math.round(r[c](a,i)*1.75*n)}:s[c]=function(){return r[c](a,i)}}),s}return r}function ud(r,a,i){let s=re("pterodacti");if((e.race.hollow_bones||s>0)&&(r.Plywood||r.Brick||r.Wrought_Iron||r.Sheet_Metal||r.Mythril||r.Aerogel||r.Nanoweave||r.Scarletite||r.Quantium)){var n={};return Object.keys(r).forEach(function(c){c==="Plywood"||c==="Brick"||c==="Wrought_Iron"||c==="Sheet_Metal"||c==="Mythril"||c==="Aerogel"||c==="Nanoweave"||c==="Scarletite"||c==="Quantium"?n[c]=function(){let o=r[c](a,i);return e.race.hollow_bones&&(o*=1-v.hollow_bones.vars()[0]/100),s>0&&(o*=1-v.hollow_bones.vars(3)[0]/100*s),Math.round(o)}:n[c]=function(){return r[c](a,i)}}),n}return r}function _d(r,a,i){if(e.civic.govern.type==="dictator"){let s=1-Be.dictator()[2]/100,n={};return Object.keys(r).forEach(function(c){["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal"].includes(c)?n[c]=function(){return r[c](a,i)*s}:n[c]=function(){return r[c](a,i)}}),n}return r}function dd(r,a,i,s){if(e.race.living_materials){let n={},c=a.hasOwnProperty("struct")?a.struct().p:!1;return Object.keys(r).forEach(function(o){c&&e[c[1]].hasOwnProperty(c[0])&&e[c[1]][c[0]].hasOwnProperty("l_m")&&(["Lumber","Furs","Plywood"].includes(o)||o==="Stone"&&e.race.sappy)?n[o]=function(){return Math.round(r[o](i,s)*v.living_materials.vars()[0]**(e[c[1]][c[0]].l_m/25))}:n[o]=function(){return r[o](i,s)}}),n}return r}function Sa(r){return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}function pd(r,a,i){if(e.race.heavy){var s={};return Object.keys(r).forEach(function(n){n==="Stone"||n==="Cement"||n==="Wrought_Iron"?s[n]=function(){return Math.round(r[n](a,i)*(1+v.heavy.vars()[1]/100))}:s[n]=function(){return r[n](a,i)}}),s}return r}function hd(r,a,i){if(r.Cement&&e.tech.cement&&e.tech.cement>=2){let n=e.tech.cement>=3?.8:.9;var s={};return Object.keys(r).forEach(function(c){c==="Cement"?s[c]=function(){return Math.round(r[c](a,i)*n)||0}:s[c]=function(){return r[c](a,i)}}),s}return r}function pr(r){switch(r){case"star":return'';case"atom":return'';case"heavy":return'';case"evil":return'';case"micro":return'';case"magic":return'';case"rocket":return'';case"heart":return'';case"clover":return'';case"candy":return'';case"ghost":return'';case"turkey":return'';case"present":return'';case"nuclear":return'';case"zombie":return'';case"fire":return'';case"mask":return'';case"skull":return'';case"taijitu":return'';case"trash":return'';case"martini":return'';case"lightbulb":return'';case"bunny":return'';case"egg":return'';case"turtle":return'';case"candycorn":return'';case"banana":return` + `)),e.settings.queuestyle&&$("#buildQueue").addClass(e.settings.queuestyle);let r=$('
          ');$("#buildQueue").append(r),r.append($(`
        • {{ item.label }}{{ item.q | count }} [{{ item.time | time }}{{ item.t_max | max_t(item.time) }}]
        • `));try{C({el:"#buildQueue",data:e.queue,methods:{remove(a){let i=W();for(let s=0;s0&&(e.queue.queue[a].q-=e.queue.queue[a].qs),e.queue.queue[a].q<=0){ue(`q${e.queue.queue[a].id}${a}`),e.queue.queue.splice(a,1),ka();break}},setID(a){return`q${e.queue.queue[a].id}${a}`},setData(a,i){let s,n=e.queue.queue[a].id.split("-");if(n[0].substring(0,4)==="arpa")s=n[0].substring(4);else if(n[0]==="tp"&&n[1].substring(0,4)==="ship"){let o=Ki(e.queue.queue[a].type),l={};Object.keys(o).forEach(function(u){l[u]=function(){return o[u]}}),s={cost:l}}else n[0]==="city"||n[0]==="evolution"||n[0]==="starDock"?s=m[n[0]][n[1]]:Object.keys(m[n[0]]).forEach(function(o){m[n[0]][o].hasOwnProperty(n[1])&&(s=m[n[0]][o][n[1]])});let c={};if(s.cost){let o=Ct(s);Object.keys(o).forEach(function(l){let u=o[l]();u>0&&(c[`${i}-${l}`]=u)})}return c},pauseQueue(){$("#pausequeue").removeClass("play"),$("#pausequeue").removeClass("pause"),e.queue.pause?(e.queue.pause=!1,$("#pausequeue").addClass("play")):(e.queue.pause=!0,$("#pausequeue").addClass("pause"))},pausedesc(){return e.queue.pause?t("queue_play"):t("queue_pause")}},filters:{time(a){return ut(a)},count(a){return a>1?` (${a})`:""},max_t(a,i){return i===a||i<0?"":` / ${ut(a)}`},used_q(){let a=0;for(let i=0;ie.resource[r].max&&e.resource[r].max!=-1?n=e.resource[r].max:n<0&&((!s||s&&n*-1>s)&&(c=!1),n=0),Number.isNaN(n)||(e.resource[r].amount=n,i||(e.resource[r].delta+=a,r==="Mana"&&a>0&&(e.resource[r].gen_d+=a))),c}function Gr(r){let a=e.race.maintype||x[e.race.species].type;switch(a){case"animal":a="animalism";break;case"small":a="dwarfism";break;case"giant":a="gigantism";break;case"avian":case"reptilian":a="eggshell";break;case"fungi":a="chitin";break;case"insectoid":a="athropods";break;case"angelic":a="celestial";break;case"organism":a="sentience";break}let i=r?[t("civics_gov_tp_name0"),t("civics_gov_tp_name1"),t("civics_gov_tp_name2"),t("civics_gov_tp_name3"),t("civics_gov_tp_name4"),t("civics_gov_tp_name5"),t("civics_gov_tp_name6"),t("civics_gov_tp_name7"),t("civics_gov_tp_name8"),t("civics_gov_tp_name9")]:[x[e.race.species].name,x[e.race.species].home,t(`biome_${e.city.biome}_name`),t(`evo_${a}_title`),t("civics_gov_name0"),t("civics_gov_name1"),t("civics_gov_name2"),t("civics_gov_name3"),t("civics_gov_name4"),t("civics_gov_name5"),t("civics_gov_name6"),t("civics_gov_name7"),t("civics_gov_name8"),t("civics_gov_name9"),t("civics_gov_name10"),t("civics_gov_name11")];return{s0:Math.rand(0,14),s1:i[Math.rand(0,i.length)]}}function F(r,a,i,s,n){n||(n="city"),e.race.universe==="micro"&&(s-=Me("micro",!1)),e.race.small?s-=v.small.vars()[0]:e.race.large&&(s+=v.large.vars()[0]),e.race.compact&&(s-=v.compact.vars()[0]),e.race.tunneler&&(r==="mine"||r==="coal_mine")&&(s-=v.tunneler.vars()[0]),e.tech.housing_reduction&&(r==="basic_housing"||r==="cottage")&&(s-=e.tech.housing_reduction*.02),e.tech.housing_reduction&&r==="captive_housing"&&(s-=e.tech.housing_reduction*.01),r==="basic_housing"&&(e.race.solitary&&(s-=v.solitary.vars()[0]),e.race.pack_mentality&&(s+=v.pack_mentality.vars()[0])),r==="cottage"&&(e.race.solitary&&(s+=v.solitary.vars()[1]),e.race.pack_mentality&&(s-=v.pack_mentality.vars()[1])),r==="apartment"&&e.race.pack_mentality&&(s-=v.pack_mentality.vars()[1]),e.genes.creep&&!e.race.no_crispr?s-=e.genes.creep*.01:e.genes.creep&&e.race.no_crispr&&(s-=e.genes.creep*.002);let c=Q("noquestions",0);c&&(s-=c),s<1.005&&(s=1.005);var o=r==="citizen"?e.resource[e.race.species].amount:e[n][r]?e[n][r].count:0;return a&&(o+=a),Math.round(s**o*i)}function f(r,a,i,s,n,c){n||(n="space"),c=c||1.005,e.race.universe==="micro"&&(s-=Me("micro",!0)),e.genes.creep&&!e.race.no_crispr?s-=e.genes.creep*.01:e.genes.creep&&e.race.no_crispr&&(s-=e.genes.creep*.002),e.race.small&&(s-=v.small.vars()[1]),e.race.compact&&(s-=v.compact.vars()[1]),e.prestige.Harmony.count>0&&e.stats.achieve.ascended&&(s-=ns());let o=Q("noquestions",0);o&&(s-=o),s0&&e.stats.achieve.ascended){let r=0;switch(e.race.universe){case"heavy":e.stats.achieve.ascended.hasOwnProperty("h")&&(r=e.stats.achieve.ascended.h*e.prestige.Harmony.count);break;case"antimatter":e.stats.achieve.ascended.hasOwnProperty("a")&&(r=e.stats.achieve.ascended.a*e.prestige.Harmony.count);break;case"evil":e.stats.achieve.ascended.hasOwnProperty("e")&&(r=e.stats.achieve.ascended.e*e.prestige.Harmony.count);break;case"micro":e.stats.achieve.ascended.hasOwnProperty("m")&&(r=e.stats.achieve.ascended.m*e.prestige.Harmony.count);break;case"magic":e.stats.achieve.ascended.hasOwnProperty("mg")&&(r=e.stats.achieve.ascended.mg*e.prestige.Harmony.count);break;default:e.stats.achieve.ascended.hasOwnProperty("l")&&(r=e.stats.achieve.ascended.l*e.prestige.Harmony.count);break}if(r>0)return r=(Math.log(50+r)-3.912023005428146)*.01,+r.toFixed(5)}return 0}function li(r,a,i,s){if(s=typeof s>"u"?!0:s,r.cost){let n=0,c=!1,o=a&&a.id[r.id]?a.id[r.id]:!1,l=r.doNotAdjustCost?r.cost:Ct(r,o),u=a?{}:!1,p=a?{}:!1;a&&(Object.keys(a.r).forEach(function(g){u[g]=a.r[g]}),Object.keys(a.rr).forEach(function(g){p[g]=a.rr[g]}));let h=!1;e.interstellar.hasOwnProperty("mass_ejector")&&e.genes.governor&&e.tech.governor&&e.race.governor&&e.race.governor.g&&e.race.governor.tasks&&Object.keys(e.race.governor.tasks).forEach(function(g){e.race.governor.tasks[g]==="trash"&&(h=!0)});let d={};return Object.keys(l).forEach(function(g){if(n>=0&&!e.prestige.hasOwnProperty(g)&&!["Morale","HellArmy","Structs","Bool","Army","Troops"].includes(g)){var w=Number(o?l[g](o):l[g]());if(w>0){let k=g==="Species"?e.race.species:g,M=g==="Supply"?e.portal.purifier.supply:Number(e.resource[k].amount),q=g==="Supply"?e.portal.purifier.sup_max:e.resource[k].max,P=g==="Supply"?e.portal.purifier.diff:e.resource[k].diff;if(h&&e.interstellar.mass_ejector[g]&&(P+=e.interstellar.mass_ejector[g],e.race.governor.config.trash.hasOwnProperty(g)&&(P-=Math.min(e.race.governor.config.trash[g].v,e.interstellar.mass_ejector[g]))),a&&(M+=P*(s?a.t.t:a.t.rt),a.r.hasOwnProperty(k)||(a.r[k]=0),a.rr.hasOwnProperty(k)||(a.rr[k]=0),s?(M-=Number(a.r[k]),a.r[k]+=w,a.rr[k]+=w):(M-=Number(a.rr[k]),a.rr[k]+=w),q>=0&&M>q&&(M=q)),w>M)if(P>0){let O=(w-M)/P;O>n&&(c=k,n=O),d[k]=O}else a&&(a.r=u,a.rr=p),n=-9999999,d[k]=99999999-P,(d[c]&&d[k]>d[c]||!d[c])&&(c=k)}}}),a&&n>=0&&(typeof a.id[r.id]>"u"?a.id[r.id]=1:a.id[r.id]++,s&&(a.t.t+=n),a.t.rt+=n),i?{t:n,r:c,s:d}:n}else return 0}function ys(r,a,i,s){let n=i&&i.id[r.id]?i.id[r.id]:!1,c=Vr(r.cost,n),o=0,l=i?{}:!1,u=i?{}:!1,p=!1;i&&(Object.keys(i.r).forEach(function(g){l[g]=i.r[g]}),Object.keys(i.rr).forEach(function(g){u[g]=i.rr[g]}));let h=!1;e.interstellar.hasOwnProperty("mass_ejector")&&e.genes.governor&&e.tech.governor&&e.race.governor&&e.race.governor.g&&e.race.governor.tasks&&Object.keys(e.race.governor.tasks).forEach(function(g){e.race.governor.tasks[g]==="trash"&&(h=!0)});let d={};return Object.keys(c).forEach(function(g){if(o>=0){let w=Number(c[g](n))*a;if(w>0){let k=Number(e.resource[g].amount),M=e.resource[g].diff;if(i&&(h&&e.interstellar.mass_ejector[g]&&(M+=e.interstellar.mass_ejector[g],e.race.governor.config.trash.hasOwnProperty(g)&&(M-=Math.min(e.race.governor.config.trash[g].v,e.interstellar.mass_ejector[g]))),k+=M*i.t.t,i.r[g]?(k-=Number(i.r[g]),i.r[g]+=w):i.r[g]=w,i.rr[g]?i.rr[g]+=w:i.rr[g]=w,e.resource[g].max>=0&&k>e.resource[g].max&&(k=e.resource[g].max)),w>k)if(M>0){let q=(w-k)/M;q>o&&(o=q,p=g),d[g]=q}else i&&(i.r=l,i.rr=u),o=-9999999,d[g]=99999999-M,(d[p]&&d[g]>d[p]||!d[p])&&(p=g)}}}),i&&o>=0&&(typeof i.id[r.id]>"u"?i.id[r.id]=1:i.id[r.id]++,i.t.t+=o,i.t.rt+=o),s?{t:o,r:p,s:d}:o}function K(r,a){if(r.find(".vb").each(function(){try{$(this)[0].__vue__.$destroy()}catch{}}),a){try{r[0].__vue__.$destroy()}catch{}r.remove()}else r.empty()}function C(r,a){if(a=a||"create",$(r.el).length>0&&typeof $(r.el)[0].__vue__<"u")try{a==="update"?$(r.el)[0].__vue__.$forceUpdate():$(r.el)[0].__vue__.$destroy()}catch{}a==="create"&&(new Vue(r),$(r.el).addClass("vb"))}function ut(r){let a;if(r<0)a=t("time_never");else{r=+r.toFixed(0);let i=60;if(r0?a=`${o}m ${c}s`:a=`${o}m`;else{let u=n*24,p=Math.floor(r/n)%24;if(r0?a=`${p}h ${o}m`:c>0?a=`${p}h ${c}s`:a=`${p}h`;else{let h=Math.floor(r/u);p>0?a=`${h}d ${p}h`:o>0?a=`${h}d ${o}m`:c>0?a=`${h}d ${c}s`:a=`${h}d`}}}}return a}function nt(r){return e.race.universe==="antimatter"&&(r*=Me("antimatter"),r=+r.toFixed(2)),ja()==="leo"&&(r*=1+Zt("leo")[0]/100,r=+r.toFixed(2)),r}function V(r){return e.race.emfield?+(r*1.5).toFixed(2):r}function Y_(r){if(e.tech.high_tech&&e.tech.high_tech>=11){let a=e.resource.Knowledge.max,i=25e4,s=0;for(;a>i;)a-=i,i*=1.1,s++;if(s+=+(a/i).toFixed(2),e.interstellar.citadel){let n=r?e.interstellar.citadel.on:H.citadel;e.tech.high_tech&&e.tech.high_tech>=15&&n>0&&(s*=1+n*.05)}if(e.space.ai_core2){let n=r?e.space.ai_core2.on:H.ai_core2;e.tech.titan_ai_core&&n>0&&(s*=1.25)}if(e.stats.achieve.obsolete&&e.stats.achieve.obsolete.l>=5&&e.prestige.AICore.count>0&&(s*=2-.99**e.prestige.AICore.count),e.race.linked){let n=v.linked.vars()[0]/100*e.resource[e.race.species].amount;n>v.linked.vars()[1]/100&&(n-=v.linked.vars()[1]/100,n=n/(n+200-v.linked.vars()[1]),n+=v.linked.vars()[1]/100),s*=1+n}return+s.toFixed(3)}return 0}function Cr(r){return r?Y_(r):zi}function Me(r,a,i,s){s||(s={});let n=s.dark!==void 0?s.dark:e.prestige.Dark.count,c=s.harmony!==void 0?s.harmony:e.prestige.Harmony.count,o=s.sludge!==void 0?s.sludge:e.stats.achieve.extinct_sludge&&e.stats.achieve.extinct_sludge[fe(r)]?e.stats.achieve.extinct_sludge[fe(r)]:0;switch(r){case"standard":return e.race.universe==="standard"||i?(c>0&&(n*=1+c*.001),o&&(n*=1+o*.03),1+n/200):0;case"evil":return e.race.universe==="evil"||i?(c>0&&(n*=1+c*.01),o&&(n*=1+o*.03),1+(Math.log2(10+n)-3.321928094887362)/5):1;case"micro":return e.race.universe==="micro"||i?a?(c>0&&(n*=1+c*.01),n=.01+(Math.log(100+n)-4.605170185988092)/35,o&&(n*=1+o*.03),n>.04&&(n=.04),+n.toFixed(5)):(c>0&&(n*=1+c*.01),n=.02+(Math.log(100+n)-4.605170185988092)/20,o&&(n*=1+o*.03),n>.06&&(n=.06),+n.toFixed(5)):0;case"heavy":return e.race.universe==="heavy"||i?(c>0&&(n*=1+c*.01),o&&(n*=1+o*.03),.995**n):1;case"antimatter":return e.race.universe==="antimatter"||i?(c>0&&(n*=1+c*.01),o&&(n*=1+o*.03),1+(Math.log(50+n)-3.912023005428146)/5):0;case"magic":return e.race.universe==="magic"||i?(c>0&&(n*=1+c*.01),o&&(n*=1+o*.03),1+(Math.log(50+n)-3.912023005428146)/3):0}return 0}var jt=function(){var r;return function(a){return r&&!a?r:e.genes.challenge&&e.genes.challenge>=2?(r=bc(e.race.universe),r):0}}();function bc(r,a,i){if(e.genes.challenge&&e.genes.challenge>=2){r=r||e.race.universe;let s=wc(r),n=r==="standard"?.25:.15,c=e.genes.challenge>=3?.15:.1;e.genes.challenge>=4&&r!=="standard"&&(n+=.05,c-=.05);let o=e.stats.feat.grandmaster&&e.stats.achieve.corrupted&&e.stats.achieve.corrupted.l>0?Math.min(e.stats.achieve.corrupted.l,e.stats.feat.grandmaster):0;o>0&&(n*=1+o/100,c*=1+o/100),i||(e.race.weak_mastery&&r==="antimatter"&&(n/=10,c/=10),e.race.nerfed&&(n/=r==="antimatter"?5:2,c/=r==="antimatter"?5:2),e.race.ooze&&(n*=1-v.ooze.vars()[2]/100,c*=1-v.ooze.vars()[2]/100),e.genes.challenge>=5&&e.race.hasOwnProperty("mastery")&&(n*=1+v.mastery.vars()[0]*e.race.mastery/100,c*=1+v.mastery.vars()[0]*e.race.mastery/100));let l=s.aLvl*n,u=0;return r!=="standard"&&(u=s.uLvl*c),a?{g:l,u,m:l+u}:l+u}return a?{g:0,u:0,m:0}:0}var xr=function(){var r;return function(a){if(!r||a){let i=0;Object.keys(e.pillars).forEach(function(s){x[s]&&e.race.species===s?i+=4:x[s]&&i++}),r=[1+i/100,1+i*2/100]}return r}}();function Fa(r,a,i,s){i=i||0,s=s||{};let n=s.genes;n===void 0&&(n=ft()-1,n>4&&(n=4));let c=s.uni||e.race.universe;if(c==="micro"&&(r=r*.25),c==="antimatter"&&(r=r*1.1),c==="heavy"&&a!=="mad")switch(n){case 1:r=r*1.1;break;case 2:r=r*1.15;break;case 3:r=r*1.2;break;case 4:r=r*1.25;break;default:r=r*1.05;break}switch((s.tp!==void 0?s.tp:e.race.truepath)&&(r=r*1.1),n){case 1:return+(r*1.05).toFixed(i);case 2:return+(r*1.12).toFixed(i);case 3:return+(r*1.25).toFixed(i);case 4:return+(r*1.45).toFixed(i);default:return+r.toFixed(i)}}function Aa(r,a){a||(a={});let i={pop_divisor:999,k_inc:1e6,k_mult:100,phage_mult:0,plasmid_cap:150};switch(r){case"mad":i.pop_divisor=3,i.k_inc=1e5,i.k_mult=1.1,i.plasmid_cap=150,(a.synth===!0||a.synth.val===!0)&&(i.pop_divisor=5,i.k_inc=125e3,i.plasmid_cap=100);break;case"cataclysm":case"bioseed":i.pop_divisor=3,i.k_inc=5e4,i.k_mult=1.015,i.phage_mult=1,i.plasmid_cap=400;break;case"ai":i.pop_divisor=2.5,i.k_inc=45e3,i.k_mult=1.014,i.phage_mult=2,i.plasmid_cap=600;break;case"vacuum":case"bigbang":i.pop_divisor=2.2,i.k_inc=4e4,i.k_mult=1.012,i.phage_mult=2.5,i.plasmid_cap=800;break;case"ascend":case"terraform":i.pop_divisor=1.15,i.k_inc=3e4,i.k_mult=1.008,i.phage_mult=4,i.plasmid_cap=2e3;break;case"matrix":i.pop_divisor=1.5,i.k_inc=32e3,i.k_mult=1.01,i.phage_mult=3.2,i.plasmid_cap=1800;break;case"retired":i.pop_divisor=1.15,i.k_inc=32e3,i.k_mult=1.006,i.phage_mult=3.2,i.plasmid_cap=1800;break;case"eden":i.pop_divisor=1,i.k_inc=18e3,i.k_mult=1.004,i.phage_mult=2.5,i.plasmid_cap=1800;break;default:i.unknown=!0;break}return i}function $e(r,a){let i={plasmid:0,phage:0,dark:0,harmony:0,artifact:0,cores:0,supercoiled:0,pdebt:0};a||(a={}),a.synth===void 0&&(a.synth=x[e.race.species].type==="synthetic");let s=a.genes,n=a.uni;n=n||e.race.universe;let c=0;if(a.cit===void 0){let g=e.civic.hasOwnProperty("garrison")?e.civic.garrison.workers:0;for(let w=0;w<3;w++)e.civic.foreign[`gov${w}`].occ&&(g+=E(e.civic.govern.type==="federation"?15:20));e.race.high_pop?c=Math.round(e.resource[e.race.species].amount/v.high_pop.vars()[0])+Math.round(g/v.high_pop.vars()[0]):c=e.resource[e.race.species].amount+g}else a.high_pop?c=Math.round(a.cit/v.high_pop.vars(a.high_pop)[0])+Math.round(a.sol/v.high_pop.vars(a.high_pop)[0]):c=a.cit+a.sol;let o=Aa(r,a),l=o.pop_divisor,u=o.k_inc,p=o.k_mult,h=o.phage_mult,d=o.plasmid_cap;if(s!==void 0?d=Math.floor(d*(1+(s+(a.tp?1:0))/8)):d=Math.floor(d*(1+(ft()-(e.race.truepath?0:1))/8)),a.plas===void 0){let g=a.know!==void 0?a.know:e.stats.know,w=Math.round(c/l);for(;g>u;)w++,g-=u,u*=p;if(e.race.cataclysm?w+=300:e.race.lone_survivor&&(w+=800),i.plasmid=Fa(w,r,!1,a),!a.rawPlasmids&&i.plasmid>d){let k=i.plasmid-d;i.plasmid=d,k=Math.floor(k/(k+d)*d),i.plasmid+=k}}else i.plasmid=a.plas;if(i.phage=i.plasmid>0?Fa(Math.floor(Math.log2(i.plasmid)*Math.E*h),r,!1,a):0,r==="bigbang"){let g=a.exotic,w=a.mass;g===void 0&&e.interstellar&&e.interstellar.stellar_engine&&(g=e.interstellar.stellar_engine.exotic,w=e.interstellar.stellar_engine.mass);let k=+Math.log(1+g*40).toFixed(3);k+=+(Math.log2(w-7)/2.5).toFixed(3),k=Fa(k,"bigbang",3,a),i.dark=k}else if(r==="vacuum"){let g=a.mana!==void 0?a.mana:e.resource.Mana.gen,w=+(Math.log2(g)/5).toFixed(3);w=Fa(w,"vacuum",3,a),i.dark=w}if(["ascend","descend","terraform","apotheosis"].includes(r)){let g=1;if(s===void 0?(g=ft(),g>5&&(g=5)):g=s+1,r==="ascend"||r==="terraform"){switch(n){case"micro":g*=.25;break;case"heavy":g*=1.2;break;case"antimatter":g*=1.1;break;default:break}i.harmony=parseFloat(g.toFixed(2))}else if(r==="descend"){let w=n==="micro"?1:g,k=a.floor;k!==void 0?k++:k=e.portal.hasOwnProperty("spire")?e.portal.spire.count:0,[50,100].forEach(function(M){k>M&&w++}),i.artifact=w}else r==="apotheosis"&&(i.plasmid=16**4-65535,n==="micro"?i.supercoiled=g**2:i.supercoiled=g**3)}return r==="ai"&&(i.cores=n==="micro"?2:5),e.stats.pdebt>0&&(i.plasmid-=e.stats.pdebt,i.plasmid<0?(i.pdebt=Math.abs(i.plasmid),i.plasmid=0):i.pdebt=0),i}function Ct(r,a,i){let s=r.cost||{};if((s.RNA||s.DNA)&&e.genes.evolve){var n={};return Object.keys(s).forEach(function(c){(c==="RNA"||c==="DNA")&&(n[c]=function(){return Math.round(s[c](a,i)*.8)})}),n}return s=ed(s,a,i),s=rd(s,r,a,i),s=td(s,a,i),s=ad(s,a,i),s=sd(s,a,i),s=ld(s,a,i),s=od(s,a,i),s=cd(s,a,i),s=nd(s,a,i),s=hd(s,a,i),s=id(s,a,i),s=pd(s,a,i),s=_d(s,a,i),s=dd(s,r,a,i),ud(s,a,i)}function ed(r,a,i){if(e.race.bloated){let n=1+v.bloated.vars()[0]/100;var s={};return Object.keys(r).forEach(function(c){["Food","Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal","Steel","Titanium","Alloy","Polymer","Iridium"].includes(c)?s[c]=function(){return r[c](a,i)*n}:s[c]=function(){return r[c](a,i)}}),s}return r}function td(r,a,i){if(e.race.lone_survivor){var s={};return Object.keys(r).forEach(function(n){["Structs","Custom","Soul_Gem","Plasmid","Phage","Dark","Harmony","Blood_Stone","Artifact","Supercoiled","Corrupt_Gem","Codex","Demonic_Essence","Horseshoe"].includes(n)?s[n]=function(){return r[n](a,i)}:["Knowledge"].includes(n)?s[n]=function(){return Math.round(r[n](a,i)*.5)}:["Money"].includes(n)?s[n]=function(){return Math.round(r[n](a,i)*.22)}:["Plywood","Brick","Wrought_Iron","Sheet_Metal","Mythril","Quantium"].includes(n)?s[n]=function(){return Math.round(r[n](a,i)*.14)}:s[n]=function(){return Math.round(r[n](a,i)*.28)}}),s}return r}function rd(r,a,i,s){if((s?s.truepath:e.race.truepath)&&(!a.hasOwnProperty("path")||!a.path.includes("truepath"))){var n={};return Object.keys(r).forEach(function(c){c==="Money"?n[c]=function(){return Math.round(r[c](i,s)*3)}:["Structs","Knowledge","Custom","Soul_Gem","Plasmid","Phage","Dark","Harmony","Blood_Stone","Artifact","Supercoiled","Corrupt_Gem","Codex","Demonic_Essence","Horseshoe"].includes(c)?n[c]=function(){return r[c](i,s)}:n[c]=function(){return Math.round(r[c](i,s)*2)}}),n}return r}function ad(r,a,i){if(e.race.inflation){var s={};return Object.keys(r).forEach(function(n){if(n==="Money"){let c=1+e.race.inflation/75;s[n]=function(){return Math.round(r[n](a,i)*c)}}else s[n]=function(){return r[n](a,i)}}),s}return r}function id(r,a,i){let s=Q("extravagant",0);if(s){var n={};return Object.keys(r).forEach(function(c){if(c==="Money"){let o=1+s/100;n[c]=function(){return Math.round(r[c](a,i)*o)}}else n[c]=function(){return r[c](a,i)}}),n}return r}function sd(r,a,i){if(e.civic.govern.type==="technocracy"){let n=1+Be.technocracy()[1]/100;var s={};return Object.keys(r).forEach(function(c){if(c==="Knowledge"){let o=1-Be.technocracy()[0]/100;s[c]=function(){return Math.round(r[c](a,i)*o)}}else c==="Money"||c==="Structs"||c==="Custom"?s[c]=function(){return r[c](a,i)}:s[c]=function(){return Math.round(r[c](a,i)*n)}}),s}return r}function nd(r,a,i){let s=Q("pragmatist",1),n=re("gnome");if((e.race.smart||e.race.dumb||s||n>0)&&r.Knowledge){var c={};return Object.keys(r).forEach(function(o){o==="Knowledge"?c[o]=function(){let l=r[o](a,i);return e.race.smart&&(l*=1-v.smart.vars()[0]/100),n>0&&(l*=1-v.smart.vars(1)[0]/100*n),e.race.dumb&&(l*=1+v.dumb.vars()[0]/100),s&&(l*=1+s/100),Math.round(l)}:c[o]=function(){return r[o](a,i)}}),c}return r}function cd(r,a,i){if(e.race.smoldering){let s={};return Object.keys(r).forEach(function(n){if(n==="Lumber"||n==="Plywood"){let c=n==="Plywood"?2:1;s.Chrysotile=function(){return Math.round(r[n](a,i)*c)||0}}else["HellArmy","Army","Troops","Structs","Chrysotile","Knowledge","Custom","Soul_Gem","Plasmid","Phage","Dark","Harmony","Blood_Stone","Artifact","Supercoiled","Corrupt_Gem","Codex","Demonic_Essence","Horseshoe","Mana","Energy"].includes(n)?s[n]=function(){return r[n](a,i)}:s[n]=function(){return Math.round(r[n](a,i)*.9)}}),!s.hasOwnProperty("Chrysotile")&&r.hasOwnProperty("Money")&&e.tech.primitive&&e.tech.primitive>=3&&(s.Chrysotile=function(){let n=r.Money(a,i)||0;return n>0?Math.round(n/50):0}),s}return r}function od(r,a,i){if(e.race.kindling_kindred&&(r.Lumber||r.Plywood)){var s={};let n=1+v.kindling_kindred.vars()[0]/100;return Object.keys(r).forEach(function(c){c!=="Lumber"&&c!=="Plywood"&&c!=="Structs"?s[c]=function(){return Math.round(r[c](a,i)*n)||0}:c==="Structs"&&(s[c]=function(){return r[c](a,i)})}),s}else if(e.race.unfathomable&&e.city.captive_housing){let n=re("entish");if(n>0){var s={};let o=1-.4*n;return Object.keys(r).forEach(function(l){l==="Lumber"&&l==="Plywood"?s[l]=function(){return Math.round(r[l](a,i)*o)||0}:s[l]=function(){return r[l](a,i)}}),s}}return r}function ld(r,a,i){if(e.race.flier&&(r.Stone||r.Cement)){var s={};let n=1-v.flier.vars()[0]/100;return Object.keys(r).forEach(function(c){c==="Stone"&&!r.Cement?s[c]=function(){return Math.round(r[c](a,i)*n)||0}:c==="Cement"?r.Stone?s.Stone=function(){return Math.round(r.Stone(a,i)*n+r[c](a,i)*1.8*n)||0}:s.Stone=function(){return Math.round(r[c](a,i)*1.75*n)}:s[c]=function(){return r[c](a,i)}}),s}return r}function ud(r,a,i){let s=re("pterodacti");if((e.race.hollow_bones||s>0)&&(r.Plywood||r.Brick||r.Wrought_Iron||r.Sheet_Metal||r.Mythril||r.Aerogel||r.Nanoweave||r.Scarletite||r.Quantium)){var n={};return Object.keys(r).forEach(function(c){c==="Plywood"||c==="Brick"||c==="Wrought_Iron"||c==="Sheet_Metal"||c==="Mythril"||c==="Aerogel"||c==="Nanoweave"||c==="Scarletite"||c==="Quantium"?n[c]=function(){let o=r[c](a,i);return e.race.hollow_bones&&(o*=1-v.hollow_bones.vars()[0]/100),s>0&&(o*=1-v.hollow_bones.vars(3)[0]/100*s),Math.round(o)}:n[c]=function(){return r[c](a,i)}}),n}return r}function _d(r,a,i){if(e.civic.govern.type==="dictator"){let s=1-Be.dictator()[2]/100,n={};return Object.keys(r).forEach(function(c){["Lumber","Stone","Furs","Copper","Iron","Aluminium","Cement","Coal"].includes(c)?n[c]=function(){return r[c](a,i)*s}:n[c]=function(){return r[c](a,i)}}),n}return r}function dd(r,a,i,s){if(e.race.living_materials){let n={},c=a.hasOwnProperty("struct")?a.struct().p:!1;return Object.keys(r).forEach(function(o){c&&e[c[1]].hasOwnProperty(c[0])&&e[c[1]][c[0]].hasOwnProperty("l_m")&&(["Lumber","Furs","Plywood"].includes(o)||o==="Stone"&&e.race.sappy)?n[o]=function(){return Math.round(r[o](i,s)*v.living_materials.vars()[0]**(e[c[1]][c[0]].l_m/25))}:n[o]=function(){return r[o](i,s)}}),n}return r}function Sa(r){return e.race.high_pop&&(r*=v.high_pop.vars()[0]),r}function pd(r,a,i){if(e.race.heavy){var s={};return Object.keys(r).forEach(function(n){n==="Stone"||n==="Cement"||n==="Wrought_Iron"?s[n]=function(){return Math.round(r[n](a,i)*(1+v.heavy.vars()[1]/100))}:s[n]=function(){return r[n](a,i)}}),s}return r}function hd(r,a,i){if(r.Cement&&e.tech.cement&&e.tech.cement>=2){let n=e.tech.cement>=3?.8:.9;var s={};return Object.keys(r).forEach(function(c){c==="Cement"?s[c]=function(){return Math.round(r[c](a,i)*n)||0}:s[c]=function(){return r[c](a,i)}}),s}return r}function pr(r){switch(r){case"star":return'';case"atom":return'';case"heavy":return'';case"evil":return'';case"micro":return'';case"magic":return'';case"rocket":return'';case"heart":return'';case"clover":return'';case"candy":return'';case"ghost":return'';case"turkey":return'';case"present":return'';case"nuclear":return'';case"zombie":return'';case"fire":return'';case"mask":return'';case"skull":return'';case"taijitu":return'';case"trash":return'';case"martini":return'';case"lightbulb":return'';case"bunny":return'';case"egg":return'';case"turtle":return'';case"candycorn":return'';case"banana":return` `;case"sun":return'';case"firework":return'';case"floppy":return'';case"slime":return'';case"lightning":return` `;case"meat":return'';case"trophy":return``;case"sludge":return''}}function hr(r){switch(r){case"star":return"0 0 640 640";case"atom":return"0 0 100 88.379";case"heavy":return"0 0 24 24";case"evil":return"0 0 240 240";case"micro":return"0 0 276 276";case"magic":return"0 0 2666 2666";case"rocket":return"0 0 165 173";case"sun":return"0 0 48 48";case"heart":return"0 0 20 16";case"clover":return"0 0 660.51 780.1";case"candy":return"0 0 200 200";case"ghost":return"0 0 399 432.23";case"turkey":return"0 0 250 300";case"present":return"0 0 410.98 434.75";case"nuclear":return"0 0 101.22 101.22";case"zombie":return"0 0 175 304";case"fire":return"0 0 615.18 879.36";case"mask":return"0 0 24 24";case"skull":return"0 0 256.27 300.86";case"taijitu":return"0 -10 256 256 ";case"pizza":return"0 0 217.444 144.397";case"trash":return"0 0 15 15";case"party":return"0 0 528.69 983.1";case"martini":return"0 0 15 15";case"lightbulb":return"0 0 100 156";case"bunny":return"0 0 128 128";case"egg":return"0 0 273.61 295.02";case"ant":return"0 0 128 128";case"turtle":return"20 40 270 50";case"candycorn":return"0 0 325 449.98";case"banana":return"0 0 113.38582 111.81719";case"firework":return"0 10 12 35";case"floppy":return"0 0 60 60";case"slime":return"0 0 552 495";case"lightning":return"0 0 16 16";case"meat":return"0 0 200 200";case"trophy":return"0 0 24 24";case"sludge":return"0 0 512 512"}}function Va(r,a){if(a==="feat")switch(r){case"steelem":return"nuclear";case"the_misery":return"zombie";case"ill_advised":return"fire";case"garbage_pie":return"trash";case"demon_slayer":return"skull";case"equilibrium":return"taijitu";case"utopia":return"martini";case"energetic":return"lightbulb";case"finish_line":return"turtle";case"banana":return"banana";case"digital_ascension":return"floppy";case"slime_lord":return"slime";case"annihilation":return"lightning";case"immortal":return"meat";case"wish":return"trophy";case"friday":return"mask";case"valentine":return"heart";case"leprechaun":return"clover";case"easter":return"bunny";case"launch_day":return"rocket";case"solstice":return"sun";case"firework":return"firework";case"egghunt":return"egg";case"halloween":return"ghost";case"trickortreat":return"candy";case"thanksgiving":return"turkey";case"xmas":return"present";default:return"star"}return e.settings.icon}function Rn(r,a,i,s,n){let c="";return s&&(c=`id="${s}" `),n=n||"",`${pr(r)}`}function ht(r,a){let i=$i(),s=new Date;return i.active&&!e.special.egg[s.getFullYear()][`egg${r}`]&&$(`#egg${r}`).length===0?Rn("egg",a||16,2,`egg${r}`,'role="button" aria-label="Egg" '):""}function mt(r,a,i){let s=Dt(),c=new Date().getFullYear(),o=i?"trick":"treat";if(s.active&&!e.special.trick[c][`${o}${r}`]&&$(`#${o}${r}`).length===0){let l=i?"Ghost":"Candy Corn";return Rn(i?"ghost":"candycorn",a||16,2,`${o}${r}`,`role="button" aria-label="${l}" `)}return""}function Ar(r,a,i,s,n,c){return e.stats.achieve[r]&&(n?e.stats.achieve[r][c]-1:e.stats.achieve[r][c])>0?`

          ${pr(i)}${xi(e.stats.achieve[r][c])} ${s}

          `:""}function at(r,a,i,s,n){a||(a=10),i||(i=Va(r,"achievement"));let c="";if(!n)c=c+Ar(r,a,i,t(e.settings.icon),s,"l"),c=c+Ar(r,a,"atom",t("universe_antimatter"),s,"a"),c=c+Ar(r,a,"evil",t("universe_evil"),s,"e"),c=c+Ar(r,a,"heavy",t("universe_heavy"),s,"h"),c=c+Ar(r,a,"micro",t("universe_micro"),s,"m"),c=c+Ar(r,a,"magic",t("universe_magic"),s,"mg");else switch(n){case"standard":c=c+Ar(r,a,i,t(e.settings.icon),s,"l");break;case"antimatter":c=c+Ar(r,a,"atom",t("universe_antimatter"),s,"a");break;case"evil":c=c+Ar(r,a,"evil",t("universe_evil"),s,"e");break;case"heavy":c=c+Ar(r,a,"heavy",t("universe_heavy"),s,"h");break;case"micro":c=c+Ar(r,a,"micro",t("universe_micro"),s,"m");break;case"magic":c=c+Ar(r,a,"magic",t("universe_magic"),s,"mg");break}return c}function ia(r,a){return a=a||{},a[r]?a[r]:r<=1?1:a[r]=ia(r-1,a)+ia(r-2,a)}function Yi(r){var a=Object.keys(r);return a[a.length*Math.random()<<0]}function xi(r){switch(r){case 1:return t("basic");case 2:return t("plain");case 3:return t("bronze");case 4:return t("silver");case 5:return t("gold");default:return""}}function ta(r,a){let i=0;if(a)Object.keys(a.ascended).forEach(function(c){i+=a.ascended[c]});else if(e.stats.achieve.ascended)for(let c=0;c=1&&(s+=e.stats.achieve.technophobe.l);let n=0;for(let c=0;c=0&&(n>s&&(o-=s-n),n++),i-=o}return i}function gr(){e.stats.reset++,e.stats.tdays+=e.stats.days,e.stats.days=0,e.stats.tknow+=e.stats.know,e.stats.know=0,e.stats.tstarved+=e.stats.starved,e.stats.starved=0,e.stats.tdied+=e.stats.died,e.stats.died=0,e.stats.tsac+=e.stats.sac,e.stats.sac=0,e.stats.tcattle+=e.stats.cattle,e.stats.cattle=0,e.stats.tmurders+=e.stats.murders,e.stats.murders=0,e.stats.tpsykill+=e.stats.psykill,e.stats.psykill=0}function Re(r){if(r===null||typeof r!="object")return r;if(r instanceof Date)return new Date(r.getTime());if(Array.isArray(r)){var a=[];return r.forEach(function(n){a.push(Re(n))}),a}let i=new r.constructor;for(var s in r)r.hasOwnProperty(s)&&(i[s]=Re(r[s]));return i}function lt(r,a,i){switch(r){case"reverse":{let s=a.toLowerCase().split("").reverse().join("");return s.charAt(0).toUpperCase()+s.slice(1)}case"name":return ke("fool",2021)?lt("reverse",x[e.race.species].name):x[e.race.species].name;case"curve":{let s=i||1.5;return 1-(1-a)**s}}return!1}function ke(r,a){switch(r){case"easter":return $i();case"halloween":return Dt();case"fool":{let i=new Date;return!e.settings.boring&&i.getMonth()===3&&i.getDate()===1?a?i.getFullYear()===a:!0:!1}case"launch_day":{let i=new Date;return!e.settings.boring&&i.getMonth()===4&&i.getDate()===6}case"summer":{let i=new Date;return!e.settings.boring&&i.getMonth()===5&&[20,21,22].includes(i.getDate())?(e.city.hasOwnProperty("foundry")&&!e.city.foundry.hasOwnProperty("Thermite")&&(e.city.foundry.Thermite=0),e.resource.hasOwnProperty("Thermite")||(e.resource.Thermite={name:t("resource_Thermite_name"),display:!1,value:0,amount:0,crates:0,diff:0,delta:0,max:-1,rate:0}),!0):(e.city.hasOwnProperty("foundry")&&e.city.foundry.hasOwnProperty("Thermite")&&(e.city.foundry.crafting-=e.city.foundry.Thermite,e.civic.craftsman.workers-=e.city.foundry.Thermite,e.civic[e.civic.d_job].workers+=e.city.foundry.Thermite,delete e.city.foundry.Thermite),!1)}case"firework":{let i=new Date;if(!e.settings.boring&&i.getMonth()===6&&[1,2,3,4].includes(i.getDate())){let s=e.race.cataclysm||e.race.orbit_decayed?"space":"city";return e[s].hasOwnProperty("firework")||(e[s].firework={count:0,on:0}),!0}else(e.city.hasOwnProperty("firework")||e.space.hasOwnProperty("firework"))&&(delete e.city.firework,delete e.space.firework);return!1}}return!1}function $i(){let r=new Date,a=r.getFullYear();e.special.egg.hasOwnProperty(a)||(e.special.egg[a]={egg1:!1,egg2:!1,egg3:!1,egg4:!1,egg5:!1,egg6:!1,egg7:!1,egg8:!1,egg9:!1,egg10:!1,egg11:!1,egg12:!1}),e.special.egg.hasOwnProperty(a)&&!e.special.egg[a].hasOwnProperty("egg13")&&(e.special.egg[a].egg13=!1,e.special.egg[a].egg14=!1,e.special.egg[a].egg15=!1),e.special.egg.hasOwnProperty(a)&&!e.special.egg[a].hasOwnProperty("egg16")&&(e.special.egg[a].egg16=!1,e.special.egg[a].egg17=!1,e.special.egg[a].egg18=!1);let i=Math.floor,s=a%19,n=i(a/100),c=(n-i(n/4)-i((8*n+13)/25)+19*s+15)%30,o=c-i(c/28)*(1-i(29/(c+1))*i((21-s)/11)),l=(a+i(a/4)+o+2-n+i(n/4))%7,u=o-l,p=3+i((u+40)/44),h=u+28-31*i(p/4),d={date:[p-1,h],active:!1,endDate:[p-1,h],hint:!1,hintDate:[p-1,h],solve:!1,solveDate:[p-1,h]};if(e.settings.boring)return d;d.endDate[1]+=10,(d.endDate[0]===2&&d.endDate[1]>31||d.endDate[0]===3&&d.endDate[1]>30)&&(d.endDate[1]-=d.endDate[0]===2?31:30,d.endDate[0]++),d.hintDate[1]+=1,(d.hintDate[0]===2&&d.hintDate[1]>31||d.hintDate[0]===3&&d.hintDate[1]>30)&&(d.hintDate[1]-=d.hintDate[0]===2?31:30,d.hintDate[0]++),d.solveDate[1]+=3,(d.solveDate[0]===2&&d.solveDate[1]>31||d.solveDate[0]===3&&d.solveDate[1]>30)&&(d.solveDate[1]-=d.solveDate[0]===2?31:30,d.solveDate[0]++);let g=r.getDate(),w=r.getMonth(),k=w>d.date[0]||w===d.date[0]&&g>=d.date[1],M=w=d.hintDate[0]&&g>=d.hintDate[1]&&w<=d.endDate[0]&&g<=d.endDate[1]&&(d.hint=!0),w>=d.solveDate[0]&&g>=d.solveDate[1]&&w<=d.endDate[0]&&g<=d.endDate[1]&&(d.solve=!0)),d}function Dt(){let r=new Date,a=r.getFullYear();e.special.trick.hasOwnProperty(a)||(e.special.trick[a]={trick1:!1,trick2:!1,trick3:!1,trick4:!1,trick5:!1,trick6:!1,trick7:!1,treat1:!1,treat2:!1,treat3:!1,treat4:!1,treat5:!1,treat6:!1,treat7:!1});let i={date:[9,28],active:!1,endDate:[10,4],hint:!1,hintDate:[9,29],solve:!1,solveDate:[9,31]};if(e.settings.boring)return i;let s=new Date(`${i.date[0]+1}/${i.date[1]}/${a}`),n=new Date(`${i.endDate[0]+1}/${i.endDate[1]}/${a}`);if(r>=s&&r<=n){i.active=!0;let c=new Date(`${i.hintDate[0]+1}/${i.hintDate[1]}/${a}`);r>=c&&r<=n&&(i.hint=!0);let o=new Date(`${i.solveDate[0]+1}/${i.solveDate[1]}/${a}`);r>=o&&r<=n&&(i.solve=!0)}return i}function mc(){return e.race.magnificent&&e.city.hasOwnProperty("shrine")&&e.city.shrine.count>0}function vi(r){let a={mult:1,add:0,active:!1};if(mc())switch(r){case"metal":let i=e.city.shrine.metal;(e.city.calendar.moon>=7&&e.city.calendar.moon<14||e.city.calendar.moon===14)&&(i+=e.city.shrine.cycle),a.mult+=+(i/100*v.magnificent.vars()[3]),i>0&&(a.active=!0);break;case"tax":let s=e.city.shrine.tax;(e.city.calendar.moon>=21||e.city.calendar.moon===14)&&(s+=e.city.shrine.cycle),a.mult+=+(s/100*v.magnificent.vars()[2]),s>0&&(a.active=!0);break;case"know":let n=e.city.shrine.know;(e.city.calendar.moon>14&&e.city.calendar.moon<=21||e.city.calendar.moon===14)&&(n+=e.city.shrine.cycle),a.add+=+(n*v.magnificent.vars()[0]),a.mult+=+(n*v.magnificent.vars()[1]/100),n>0&&(a.active=!0);break;case"morale":let c=e.city.shrine.morale;(e.city.calendar.moon>0&&e.city.calendar.moon<=7||e.city.calendar.moon===14)&&(c+=e.city.shrine.cycle),a.add+=c*v.magnificent.vars()[4],c>0&&(a.active=!0);break;default:break}return a}var ul={promiscuous:!1,revive:!1,fast_growth:!1,spores:!1,terrifying:!1,fibroblast:!0,hivemind:!0,imitation:!0,elusive:!0,chameleon:!0,blood_thirst:!0,selenophobia:!0,hooved:!0,anthropophagite:!0,unfathomable:!1,darkness:!1,living_tool:!1,empowered:!1,living_materials:!0};function nn(r,a,i){let s=v[r].hasOwnProperty("vars")?v[r].vars(a):[];if(ul.hasOwnProperty(r))r==="fibroblast"?s=[s[0]*5]:r==="hivemind"&&e.race.high_pop?s=[s[0]*v.high_pop.vars()[0]]:r==="imitation"?s.push(x[e.race.srace||"protoplasm"].name):r==="elusive"?s=[Math.round((1/30/(1/(30+s[0]))-1)*100)]:r==="chameleon"?s=[s[0],Math.round((1/30/(1/(30+s[1]))-1)*100)]:r==="blood_thirst"?s=[Math.ceil(Math.log2(s[0]))]:r==="selenophobia"?s=[14-s[0],s[0]]:r==="hooved"?s.unshift(Lt(!1,i)):r==="anthropophagite"?s=[s[0]*1e4]:r==="living_materials"?s=[e.resource.Lumber.name,e.resource.Plywood.name,e.resource.Furs.name,t("resource_Amber_name")]:ul[r]||(s=[]);else if(r==="elemental")switch(v.elemental.vars(a)[0]){case"electric":s=[t("element_electric"),v.elemental.vars(a)[1],v.elemental.vars(a)[5]];break;case"acid":s=[t("element_acid"),v.elemental.vars(a)[2],v.elemental.vars(a)[5]];break;case"fire":s=[t("element_fire"),v.elemental.vars(a)[3],v.elemental.vars(a)[5]];break;case"frost":s=[t("element_frost"),v.elemental.vars(a)[3],v.elemental.vars(a)[5],t("city_biolab")];break}return s}function Lt(r,a=e.race.species){let i=a===e.race.species?e.race.maintype||x[a].type:x[a].type;return a==="sludge"?r?"craft":t("resource_Beaker_name"):a==="cath"?r?"craft":t("resource_Box_name"):a==="wolven"?r?"craft":t("resource_ChewToy_name"):a==="dracnid"?r?"craft":t("resource_Hoard_name"):a==="seraph"?r?"forge":t("resource_Halo_name"):a==="cyclops"?r?"craft":t("resource_Monocle_name"):a==="kobold"?r?"craft":t("resource_Candle_name"):a==="tuskin"?r?"craft":t("resource_Goggles_name"):a==="sharkin"?r?"craft":t("resource_ToothSharpener_name"):a==="beholder"?r?"craft":t("resource_ContactLens_name"):a==="djinn"?r?"craft":t("resource_Bottle_name"):x[a].type==="humanoid"?r?"craft":t("resource_Sandals_name"):x[a].type==="avian"?r?"craft":t("resource_Perch_name"):x[a].type==="plant"?r?"craft":t("resource_Planter_name"):x[a].type==="fungi"?r?"craft":t("resource_DampCloth_name"):x[a].type==="reptilian"?r?"craft":t("resource_HeatRock_name"):x[a].type==="fey"?r?"craft":t("resource_PixieDust_name"):x[a].type==="synthetic"?r?"craft":t("resource_Battery_name"):r?"forge":t("resource_Horseshoe_name")}var _l={infiltrator:[t("wiki_trait_effect_infiltrator_ex1"),t("wiki_trait_effect_infiltrator_ex2",[[`${t("tech_steel")}`,`${t("tech_electricity")}`,`${t("tech_electronics")}`,`${t("tech_fission")}`,`${t("tech_rocketry")}`,`${t("tech_artificial_intelligence")}`,`${t("tech_quantum_computing")}`,`${t("tech_virtual_reality")}`,`${t("tech_shields")}`,`${t("tech_ai_core")}`,`${t("tech_graphene_processing")}`,`${t("tech_nanoweave")}`,`${t("tech_orichalcum_analysis")}`,`${t("tech_infernium_fuel")}`].join(", ")])],heavy:[t("wiki_trait_effect_heavy_ex1",[yc("Stone"),yc("Cement"),yc("Wrought_Iron")])],sniper:[t("wiki_trait_effect_sniper_ex1")],hooved:[function(r){return t("wiki_trait_effect_hooved_ex1",[Lt(!1,r.species)])},t("wiki_trait_effect_hooved_ex2",[`${e.resource.hasOwnProperty("Lumber")?e.resource.Lumber.name:t("resource_Lumber_name")}`,`${e.resource.hasOwnProperty("Copper")?e.resource.Copper.name:t("resource_Copper_name")}`,`${e.resource.hasOwnProperty("Iron")?e.resource.Iron.name:t("resource_Iron_name")}`,`${e.resource.hasOwnProperty("Steel")?e.resource.Steel.name:t("resource_Steel_name")}`,`${e.resource.hasOwnProperty("Adamantite")?e.resource.Adamantite.name:t("resource_Adamantite_name")}`,`${e.resource.hasOwnProperty("Orichalcum")?e.resource.Orichalcum.name:t("resource_Orichalcum_name")}`,12,75,150,500,5e3]),t("wiki_trait_effect_hooved_ex3"),function(r){return t("wiki_trait_effect_hooved_ex4",['5',Lt(!1,r.species)])},t("wiki_trait_effect_hooved_ex5",[`${e.resource.hasOwnProperty("Lumber")?e.resource.Lumber.name:t("resource_Lumber_name")}`,`${e.resource.hasOwnProperty("Copper")?e.resource.Copper.name:t("resource_Copper_name")}`])],instinct:[t("wiki_trait_effect_instinct_ex1",[6.67,t("galaxy_chthonian"),10])],logical:[t("wiki_trait_effect_logical_ex1",[e.tech.hasOwnProperty("science")?e.tech.science:0,e.tech.hasOwnProperty("high_tech")?e.tech.high_tech:0])],high_pop:[t("wiki_trait_effect_high_pop_ex1")],flier:[t("wiki_trait_effect_flier_ex1")],unfathomable:[t("wiki_trait_effect_unfathomable_ex1"),t("wiki_trait_effect_unfathomable_ex2")]};function yc(r){return`${e.hasOwnProperty("resource")&&e.resource.hasOwnProperty(r)?e.resource[r].name:t(`resource_${r}_name`)}`}function Hr(r,a,i){let s=i.fanatic||!1,n=i.tpage||!1,c=i.trank||!1,o=i.wiki||!1,l=i.species,u="",p=Tt("name",a,l),h=Tt("desc",a,l);n&&["genus","major"].includes(v[a].type)&&(u=`«${t("wiki_trait_rank")} {{ rank }}»`),o&&r.append(`

          ${p}

          ${u}
          `),o&&(n&&v[a].hasOwnProperty("val")?r.append(`
          ${t(`wiki_trait_${v[a].type}`)}${t("wiki_trait_value",[v[a].val])}
          `):r.append(`
          ${t(`wiki_trait_${v[a].type}`)}
          `)),s&&o&&r.append(`
          ${t("wiki_trait_fanaticism",[s])}
          `),r.append(`
          ${h}
          `);let d="warning";if(v[a].hasOwnProperty("val")&&(d=v[a].val>=0?"success":"danger"),n&&["genus","major"].includes(v[a].type))r.append(`
          `);else if(o||e.stats.feat.journeyman&&e.stats.achieve.seeder&&e.stats.achieve.seeder.l>0){let g="";a==="elemental"?g=t(`wiki_trait_effect_${a}_${v.elemental.vars()[0]}`,nn(a,c,l)):g=t(`wiki_trait_effect_${a}`,nn(a,c,l)),r.append(`
          ${g}
          `)}if(_l[a]&&o&&_l[a].forEach(function(g){typeof g!="string"&&(g=g(i)),r.append(`
          ${g}
          `)}),n&&["genus","major"].includes(v[a].type)){let g={rank:e.race[a]||1};C({el:`#${v[a].type}_${a}`,data:g,methods:{getTraitDesc(w){return a==="elemental"?t(`wiki_trait_effect_${a}_${v.elemental.vars()[0]}`,nn(a,w,l)):t(`wiki_trait_effect_${a}`,nn(a,w,l))},up(){switch(g.rank){case .1:g.rank=.25;break;case .25:g.rank=.5;break;case .5:g.rank=1;break;case 1:g.rank=2;break;case 2:g.rank=3;break;case 3:g.rank=4;break;case 4:g.rank=4;break}},down(){switch(g.rank){case .1:g.rank=.1;break;case .25:g.rank=.1;break;case .5:g.rank=.25;break;case 1:g.rank=.5;break;case 2:g.rank=1;break;case 3:g.rank=2;break;case 4:g.rank=3;break}}}})}}var hl={misc:["apocalypse","ascended","dreaded","anarchist","second_evolution","blackhole","warmonger","red_tactics","pacifist","neutralized","paradise","scrooge","madagascar_tree","godwin","laser_shark","infested","mass_starvation","colonist","world_domination","illuminati","syndicate","cult_of_personality","doomed","pandemonium","blood_war","landfill","seeder","miners_dream","shaken","blacken_the_sun","trade","resonance","enlightenment","gladiator","corrupted","red_dead","godslayer","traitor","doppelganger"],species:["mass_extinction","extinct_human","extinct_elven","extinct_orc","extinct_cath","extinct_wolven","extinct_vulpine","extinct_centaur","extinct_rhinotaur","extinct_capybara","extinct_kobold","extinct_goblin","extinct_gnome","extinct_ogre","extinct_cyclops","extinct_troll","extinct_tortoisan","extinct_gecko","extinct_slitheryn","extinct_arraak","extinct_pterodacti","extinct_dracnid","extinct_entish","extinct_cacti","extinct_pinguicula","extinct_sporgar","extinct_shroomi","extinct_moldling","extinct_mantis","extinct_scorpid","extinct_antid","extinct_sharkin","extinct_octigoran","extinct_dryad","extinct_satyr","extinct_phoenix","extinct_salamander","extinct_yeti","extinct_wendigo","extinct_tuskin","extinct_kamel","extinct_balorg","extinct_imp","extinct_seraph","extinct_unicorn","extinct_synth","extinct_nano","extinct_ghast","extinct_shoggoth","extinct_dwarf","extinct_raccoon","extinct_lichen","extinct_wyvern","extinct_beholder","extinct_djinn","extinct_narwhal","extinct_bombardier","extinct_nephilim","extinct_junker","extinct_sludge","extinct_ultra_sludge","extinct_custom"],genus:["creator","genus_humanoid","genus_carnivore","genus_herbivore","genus_small","genus_giant","genus_reptilian","genus_avian","genus_insectoid","genus_plant","genus_fungi","genus_aquatic","genus_fey","genus_heat","genus_polar","genus_sand","genus_demonic","genus_angelic","genus_synthetic","genus_eldritch"],planet:["explorer","biome_grassland","biome_oceanic","biome_forest","biome_desert","biome_volcanic","biome_tundra","biome_savanna","biome_swamp","biome_ashland","biome_taiga","biome_hellscape","biome_eden","atmo_toxic","atmo_mellow","atmo_rage","atmo_stormy","atmo_ozone","atmo_magnetic","atmo_trashed","atmo_elliptical","atmo_flare","atmo_dense","atmo_unstable","atmo_permafrost","atmo_retrograde","atmo_kamikaze"],universe:["vigilante","squished","double_density","cross","macro","marble","heavyweight","whitehole","heavy","canceled","eviltwin","microbang","pw_apocalypse","fullmetal","pass","soul_sponge","nightmare","escape_velocity"],challenge:["joyless","steelen","dissipated","technophobe","wheelbarrow","iron_will","failed_history","banana","pathfinder","ashanddust","exodus","obsolete","bluepill","retired","gross","lamentis","overlord","adam_eve","endless_hunger"]},ml={colonist:[lt("name")]},fl={trade:[750,50]},Ge={};Object.keys(hl).forEach(function(r){hl[r].forEach(a=>Ge[a]={name:t(`achieve_${a}_name`),desc:fl[a]?t(`achieve_${a}_desc`,fl[a]):t(`achieve_${a}_desc`),flair:ml[a]?t(`achieve_${a}_flair`,ml[a]):t(`achieve_${a}_flair`),type:r})});var nr={utopia:{name:t("feat_utopia_name"),desc:t("feat_utopia_desc"),flair:t("feat_utopia_flair")},take_no_advice:{name:t("feat_take_no_advice_name"),desc:t("feat_take_no_advice_desc"),flair:t("feat_take_no_advice_flair")},ill_advised:{name:t("feat_ill_advised_name"),desc:t("feat_ill_advised_desc"),flair:t("feat_ill_advised_flair")},organ_harvester:{name:t("feat_organ_harvester_name"),desc:t("feat_organ_harvester_desc"),flair:t("feat_organ_harvester_flair")},the_misery:{name:t("feat_the_misery_name"),desc:t("feat_the_misery_desc"),flair:t("feat_the_misery_flair")},energetic:{name:t("feat_energetic_name"),desc:t("feat_energetic_desc"),flair:t("feat_energetic_flair")},garbage_pie:{name:t("feat_garbage_pie_name"),desc:t("feat_garbage_pie_desc"),flair:t("feat_garbage_pie_flair")},finish_line:{name:t("feat_finish_line_name"),desc:t("feat_finish_line_desc"),flair:t("feat_finish_line_flair")},blank_slate:{name:t("feat_blank_slate_name"),desc:t("feat_blank_slate_desc"),flair:t("feat_blank_slate_flair")},supermassive:{name:t("feat_supermassive_name"),desc:t("feat_supermassive_desc"),flair:t("feat_supermassive_flair")},steelem:{name:t("feat_steelem_name"),desc:t("feat_steelem_desc"),flair:t("feat_steelem_flair")},banana:{name:t("feat_banana_name"),desc:t("feat_banana_desc",[500,500]),flair:t("feat_banana_flair")},rocky_road:{name:t("feat_rocky_road_name"),desc:t("feat_rocky_road_desc"),flair:t("feat_rocky_road_flair")},demon_slayer:{name:t("feat_demon_slayer_name"),desc:t("feat_demon_slayer_desc"),flair:t("feat_demon_slayer_flair")},equilibrium:{name:t("feat_equilibrium_name"),desc:t("feat_equilibrium_desc"),flair:t("feat_equilibrium_flair")},digital_ascension:{name:t("feat_digital_ascension_name"),desc:t("feat_digital_ascension_desc"),flair:t("feat_digital_ascension_flair")},grand_death_tour:{name:t("feat_grand_death_tour_name"),desc:t("feat_grand_death_tour_desc",[6]),flair:t("feat_grand_death_tour_flair")},novice:{name:t("feat_novice_name"),desc:t("feat_achievement_hunter_desc",[10]),flair:t("feat_novice_flair")},journeyman:{name:t("feat_journeyman_name"),desc:t("feat_achievement_hunter_desc",[25]),flair:t("feat_journeyman_flair")},adept:{name:t("feat_adept_name"),desc:t("feat_achievement_hunter_desc",[50]),flair:t("feat_adept_flair")},master:{name:t("feat_master_name"),desc:t("feat_achievement_hunter_desc",[75]),flair:t("feat_master_flair")},grandmaster:{name:t("feat_grandmaster_name"),desc:t("feat_achievement_hunter_desc",[100]),flair:t("feat_grandmaster_flair")},god:{name:t("feat_god_name"),desc:t("feat_achievement_hunter_desc",[150]),flair:t("feat_god_flair")},nephilim:{name:t("feat_nephilim_name"),desc:t("feat_nephilim_desc"),flair:t("feat_nephilim_flair")},twisted:{name:t("feat_twisted_name"),desc:t("feat_twisted_desc"),flair:t("feat_twisted_flair")},slime_lord:{name:t("feat_slime_lord_name"),desc:t("feat_slime_lord_desc"),flair:t("feat_slime_lord_flair")},annihilation:{name:t("feat_annihilation_name"),desc:t("feat_annihilation_desc"),flair:t("feat_annihilation_flair")},immortal:{name:t("feat_immortal_name"),desc:t("feat_immortal_desc"),flair:t("feat_immortal_flair")},wish:{name:t("feat_wish_name"),desc:t("feat_wish_desc"),flair:t("feat_wish_flair")},friday:{name:t("feat_friday_name"),desc:t("feat_friday_desc"),flair:t("feat_friday_flair")},valentine:{name:t("feat_love_name"),desc:t("feat_love_desc"),flair:t("feat_love_flair")},leprechaun:{name:t("feat_leprechaun_name"),desc:t("feat_leprechaun_desc"),flair:t("feat_leprechaun_flair")},easter:{name:t("feat_easter_name"),desc:t("feat_easter_desc"),flair:t("feat_easter_flair")},egghunt:{name:t("feat_egghunt_name"),desc:t("feat_egghunt_desc"),flair:t("feat_egghunt_flair")},launch_day:{name:t("feat_launch_day_name"),desc:t("feat_launch_day_desc"),flair:t("feat_launch_day_flair")},solstice:{name:t("feat_solstice_name"),desc:t("feat_solstice_desc"),flair:t("feat_solstice_flair")},firework:{name:t("feat_firework_name"),desc:t("feat_firework_desc"),flair:t("feat_firework_flair")},halloween:{name:t("feat_boo_name"),desc:t("feat_boo_desc"),flair:t("feat_boo_flair")},trickortreat:{name:t("feat_trickortreat_name"),desc:t("feat_trickortreat_desc"),flair:t("feat_trickortreat_flair")},thanksgiving:{name:t("feat_gobble_gobble_name"),desc:t("feat_gobble_gobble_desc"),flair:t("feat_gobble_gobble_flair")},xmas:{name:t("feat_xmas_name"),desc:t("feat_xmas_desc"),flair:t("feat_xmas_flair")},fool:{name:t("feat_fool_name"),desc:t("feat_fool_desc"),flair:t("feat_fool_flair")}};{let r=wc();$n(r.aLvl),xn(r.uLvl)}function wc(r){r=r||e.race.universe;let a=fe(r),i=0,s=0;return Object.keys(Ge).forEach(function(n){e.stats.achieve[n]&&(i+=e.stats.achieve[n].l>5?5:e.stats.achieve[n].l,e.stats.achieve[n][a]&&(s+=e.stats.achieve[n][a]>5?5:e.stats.achieve[n][a]))}),{aLvl:i,uLvl:s}}function fe(r){switch(r=r||e.race.universe,r){case"evil":return"e";case"antimatter":return"a";case"heavy":return"h";case"micro":return"m";case"magic":return"mg";default:return"l"}}function B(r,a,i,s){if(e.race.universe!=="micro"&&a===!0)return!1;e.settings.msgFilters.achievements.unlocked||(e.settings.msgFilters.achievements.unlocked=!0,e.settings.msgFilters.achievements.vis=!0);let n=ft(),c=!1,o=!1;(typeof i>"u"||i>n)&&(i=n);let l=!0;if(typeof e.stats.achieve[r]>"u"&&(e.stats.achieve[r]={l:0},l=!1),(e.race.universe==="micro"&&a===!0||e.race.universe!=="micro"&&a!==!0)&&e.stats.achieve[r]&&e.stats.achieve[r].l"u"||i>s)&&(i=s),!e.stats.feat[r]||e.stats.feat[r]&&e.stats.feat[r]
          ');$("#stats").append(r);let a=$('
          ');$("#perks").append(a);let i=$('
          ');$("#achieve").append(i),md(),xc(),$("body").hasClass("fool")?_s({fool:!0}):_s()}function _s(r){K($("#achievePanel"));let a=$("#achievePanel"),i=0,s=0,n=0,c=0,o=fe(),l=typeof r=="object"&&r.fool?r.fool:!1;if(Object.keys(Ge).forEach(function(p){let h=Va(p,"achievement");if(s++,e.stats.achieve[p]){i++,n+=e.stats.achieve[p].l>5?5:e.stats.achieve[p].l,e.stats.achieve[p][o]&&(c+=e.stats.achieve[p][o]>5?5:e.stats.achieve[p][o]);let d=at(p,16,h,l);l&&e.stats.achieve[p].l>1||!l?a.append($(`
          ${Ge[p].name}${Ge[p].desc}${d}
          `)):l&&e.stats.achieve[p].l===1&&i--}}),$n(n),xn(c),l&&!e.stats.feat.fool){let p=$(`
          ${nr.fool.name}${t("feat_fool_spoof")}
          `);a.append(p)}else Object.keys(nr).forEach(function(p){let h=Va(p,"feat");if(e.stats.feat[p]){let d=e.stats.feat[p]>1?`

          ${pr(h)}

          `:"";if(p==="easter"){let g=ht(4,14);g.length>0&&(d=g)}a.append($(`
          ${nr[p].name}${nr[p].desc}${d}
          `))}});let u=mt(5,12,!1);a.prepend(`
          ${t("achieve_draw_achieve_earned",[i,s])}${u}
          `),C({el:"#achievePanel",methods:{flair(p){return Ge[p].flair},feat(p){return nr[p].flair}}}),l&&!e.stats.feat.fool&&$("#thefool").on("mouseover",function(){e.race.universe==="micro"?oe("fool",!0):oe("fool"),_s()})}function rn(){let r=ft();$("#topBar span.flair")&&K($("#topBar span.flair"),!0);let a=ht(1,14);if(a.length>0&&$("#topBar .planet").after($(a)),r>1&&$("#topBar .planet .flair").length===0){if(a.length===0){let s=Va("topbar","challenge");$("#topBar .planet").after(`${pr(s)}`)}let i="";e.race.no_plasmid&&(i+=`
          ${t("evo_challenge_plasmid")}
          `),e.race.weak_mastery&&(i+=`
          ${t("evo_challenge_mastery")}
          `),e.race.no_trade&&(i+=`
          ${t("evo_challenge_trade")}
          `),e.race.no_craft&&(i+=`
          ${t("evo_challenge_craft")}
          `),e.race.no_crispr&&(i+=`
          ${t("evo_challenge_crispr")}
          `),e.race.nerfed&&(i+=`
          ${t("evo_challenge_nerfed")}
          `),e.race.badgenes&&(i+=`
          ${t("evo_challenge_badgenes")}
          `),i.length>0&&$("#topBar .planetWrap .flair").append($(`
          Active Challenge Genes
          ${i}
          `)),N("topbarPlanet",function(s){let n=$('
          ');s.popper.append(n),n.append($(i))},{elm:"#topBar .planetWrap .flair",classes:"has-background-light has-text-dark"})}}function ft(){let r=1;return e.race.no_plasmid&&r++,e.race.no_trade&&r++,e.race.no_craft&&r++,e.race.no_crispr&&r++,e.race.weak_mastery&&r++,e.race.nerfed&&r++,e.race.badgenes&&r++,r>5&&(r=5),r}function vr(){let r=ft();for(let c=r;c>=0;c--)kc("extinct_","mass_extinction",25,c),e.race.universe==="evil"&&$c("extinct_","vigilante",12,c),kc("genus_","creator",9,c),kc("biome_","explorer",6,c),e.race.universe==="heavy"&&$c("genus_","heavyweight",8,c);if(e.tech.supercollider&&e.tech.supercollider>=99&&B("blackhole"),e.stats.starved>=100&&B("mass_starvation"),Math.round(Math.log2(e.civic.garrison.protest+e.civic.garrison.fatigue))>=8&&B("warmonger"),e.stats.died>=250&&B("red_tactics"),e.interstellar.stellar_engine&&e.interstellar.stellar_engine.mass>=12&&B("landfill"),e.interstellar.stellar_engine&&e.interstellar.stellar_engine.mass>=100&&oe("supermassive"),e.tech.piracy&&e.tech.chthonian&&e.tech.chthonian>=2&&e.galaxy){let c=Gt("gxy_chthonian"),o=Gt("gxy_stargate");if(o===1&&Gt("gxy_gateway")===1&&Gt("gxy_gorddon")===1&&Gt("gxy_alien1")===1&&Gt("gxy_alien2")===1&&c===1&&B("neutralized"),e.race.fasting&&c-o===0){let l=fe();e.stats.endless_hunger.b2[l]=!0,l!=="m"&&l!=="l"&&(e.stats.endless_hunger.b2.l=!0)}}if(ke("summer")&&e.resource.hasOwnProperty("Thermite")){let c=1e5+e.stats.reset*9e3;c>1e6&&(c=1e6),e.resource.Thermite.amount>c&&oe("solstice",e.race.universe==="micro")}if(ke("firework")&&e[e.race.cataclysm||e.race.orbit_decayed?"space":"city"].firework.on>0&&oe("firework",e.race.universe==="micro"),e.city.morale.current>=200&&(B("paradise"),e.city.morale.current>=500&&oe("utopia")),e.resource.hasOwnProperty("Money")&&e.resource.Money.amount>=1e9&&B("scrooge"),e.resource.hasOwnProperty("Money")&&e.race.inflation&&e.resource.Money.amount>=25e10&&B("wheelbarrow"),e.civic.hasOwnProperty("govern")&&e.galaxy.hasOwnProperty("trade")&&e.city.hasOwnProperty("market")&&e.galaxy.trade.cur>=50&&e.city.market.trade>=750&&e.civic.govern.type==="federation"&&B("trade"),e.tech.pillars){let c={},o=0,l=Array(5+1).fill(0);if(Object.keys(e.pillars).forEach(function(u){x[u]&&((!c[x[u].type]||e.pillars[u]>c[x[u].type])&&(c[x[u].type]=e.pillars[u]),o++,l[e.pillars[u]]++)}),Object.keys(c).length>=Object.keys(xt).length-1){let u=5;Object.keys(c).forEach(function(p){c[p]=Object.keys(x).length-1&&B("resonance"),o>=50){let u=0;for(let p=5;p>0;p--)if(u+=l[p],u>=50){oe("equilibrium",!1,p);break}}}if(e.portal.hasOwnProperty("mechbay")&&e.tech.hasOwnProperty("hell_spire")&&e.tech.hell_spire>=9){let c=Object.keys(Wt).length,o={};Object.keys(e.stats.spire).forEach(function(l){let u={};Object.keys(e.stats.spire[l]).forEach(function(p){Wt[p]&&(l!=="m"&&(!o.hasOwnProperty(p)||o[p]0&&(u[p]=e.stats.spire[l][p]))}),Object.keys(u).length===c&&B("gladiator",!1,Math.min(...Object.values(u)),l)}),Object.keys(o).length===c&&B("gladiator",!1,Math.min(...Object.values(o)),"l")}if(e.race.banana){let c=fe();e.tech.hasOwnProperty("monuments")&&e.tech.monuments>=50&&(e.stats.banana.b5[c]=!0,c!=="m"&&c!=="l"&&(e.stats.banana.b5.l=!0));let o=0,l=0;["b1","b2","b3","b4","b5"].forEach(function(u){e.stats.banana[u].l&&o++,c!=="l"&&e.stats.banana[u][c]&&l++}),o>0&&B("banana",!1,o,"l"),l>0&&c!=="l"&&B("banana",!1,l,c),e.interstellar.hasOwnProperty("stellar_engine")&&e.interstellar.stellar_engine.mass>=12&&e.interstellar.stellar_engine.exotic===0&&(e.stats.banana.b3[c]=!0,c!=="m"&&c!=="l"&&(e.stats.banana.b3.l=!0))}if(["l",fe()].forEach(function(o){let l=0;["ashanddust","exodus","obsolete","bluepill","retired"].forEach(function(u){e.stats.achieve[u]&&e.stats.achieve[u][o]&&e.stats.achieve[u][o]>=5&&l++}),l>0&&B("pathfinder",!1,l,o)}),e.race.fasting){let c=fe();e.tech.hasOwnProperty("stock_exchange")&&e.tech.stock_exchange>=80&&(e.stats.endless_hunger.b3[c]=!0,c!=="m"&&c!=="l"&&(e.stats.endless_hunger.b3.l=!0)),e.resource[e.race.species].amount>=1200&&(e.stats.endless_hunger.b4[c]=!0,c!=="m"&&c!=="l"&&(e.stats.endless_hunger.b4.l=!0));let o=0,l=0;["b1","b2","b3","b4","b5"].forEach(function(u){e.stats.endless_hunger[u].l&&o++,c!=="l"&&e.stats.endless_hunger[u][c]&&l++}),o>0&&B("endless_hunger",!1,o,"l"),l>0&&c!=="l"&&B("endless_hunger",!1,l,c)}let a=new Date,i=ke("easter"),s=ke("halloween"),n=a.getFullYear();if(!e.settings.boring&&a.getDate()===13&&a.getDay()===5&&e.resource[e.race.species].amount>=1){let c=!1;c=oe("friday",e.race.universe==="micro"),c&&e.resource[e.race.species].amount--}else if(!e.settings.boring&&a.getMonth()===1&&a.getDate()===14)oe("valentine",e.race.universe==="micro");else if(!e.settings.boring&&a.getMonth()===2&&a.getDate()===17)oe("leprechaun",e.race.universe==="micro");else if(i.active){oe("easter",e.race.universe==="micro");let c=0;for(let o=1;o<=18;o++)e.special.egg[n][`egg${o}`]&&c++;c>=12&&oe("egghunt",e.race.universe==="micro")}else if(ke("launch_day"))oe("launch_day",e.race.universe==="micro");else if(s.active){let c=0;for(let o=1;o<=7;o++)e.special.trick[n][`trick${o}`]&&c++;for(let o=1;o<=7;o++)e.special.trick[n][`treat${o}`]&&c++;c>=12&&oe("trickortreat",e.race.universe==="micro"),a.getMonth()===9&&a.getDate()===31&&oe("halloween",e.race.universe==="micro")}else!e.settings.boring&&a.getMonth()===10&&a.getDate()>=22&&a.getDate()<=28?oe("thanksgiving",e.race.universe==="micro"):!e.settings.boring&&a.getMonth()===11&&a.getDate()==25&&oe("xmas",e.race.universe==="micro");!e.settings.boring&&a.getMonth()===3&&a.getDate()>=1&&a.getDate()<=3&&e.stats.feat.hasOwnProperty("fool")&&e.stats.feat.fool>0&&oe("fool",e.race.universe==="micro"),e.stats.dkills>=666e6&&oe("demon_slayer");for(let c=r;c>=1;c--){let o=0,l=Object.keys(Ge);for(let p of l)e.stats.achieve[p]&&e.stats.achieve[p].l>=c&&o++;let u=[{c:10,f:"novice"},{c:25,f:"journeyman"},{c:50,f:"adept"},{c:75,f:"master"},{c:100,f:"grandmaster"},{c:150,f:"god"}];for(let p=0;p<6;p++)o>=u[p].c&&(!e.stats.feat[u[p].f]||e.stats.feat[u[p].f]=s&&n++;if(n>=i&&(B(a,!1,s),e.race.universe!=="standard"))switch(e.race.universe){case"evil":e.stats.achieve[a].e=void 0;break;case"antimatter":e.stats.achieve[a].a=void 0;break;case"heavy":e.stats.achieve[a].h=void 0;break;case"micro":e.stats.achieve[a].m=void 0;break;case"magic":e.stats.achieve[a].mg=void 0;break;default:break}}e.race.universe!=="standard"&&$c(r,a,i,s)}function $c(r,a,i,s){let n=!1;switch(e.race.universe){case"evil":(typeof e.stats.achieve[a]>"u"||typeof e.stats.achieve[a].e>"u"||e.stats.achieve[a].e"u"||typeof e.stats.achieve[a].a>"u"||e.stats.achieve[a].a"u"||typeof e.stats.achieve[a].h>"u"||e.stats.achieve[a].h"u"||typeof e.stats.achieve[a].m>"u"||e.stats.achieve[a].m"u"||typeof e.stats.achieve[a].mg>"u"||e.stats.achieve[a].mg=s&&c++;break;case"antimatter":e.stats.achieve[l]&&e.stats.achieve[l].a&&e.stats.achieve[l].a>=s&&c++;break;case"heavy":e.stats.achieve[l]&&e.stats.achieve[l].h&&e.stats.achieve[l].h>=s&&c++;break;case"micro":e.stats.achieve[l]&&e.stats.achieve[l].m&&e.stats.achieve[l].m>=s&&c++;break;case"magic":e.stats.achieve[l]&&e.stats.achieve[l].mg&&e.stats.achieve[l].mg>=s&&c++;break;default:break}c>=i&&B(a,!1,s)}}var Nt={mastery:{name:t("mastery"),desc(){let r="";return Object.keys(zr).forEach(function(a){let i=bc(a,!0,!0);a==="standard"?r+=`${zr[a].name}: ${t("perks_mastery_general",[`${+i.g.toFixed(2)}%`])}`:e.stats.achieve.whitehole&&(r+=`${zr[a].name}: ${t("perks_mastery_general",[`${+i.g.toFixed(2)}%`])}, ${t("perks_mastery_universe",[`${+i.u.toFixed(2)}%`])}`)}),r},active(){return!!(e.genes.challenge&&e.genes.challenge>=2)},notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_unlocked_title")}`])]},blackhole:{name:t("achieve_blackhole_name"),desc(r){let a=r?"5/10/15/20/25":e.stats.achieve.blackhole?e.stats.achieve.blackhole.l*5:5;return t("achieve_perks_blackhole",[a])},active(){return!!(e.stats.achieve.blackhole&&e.stats.achieve.blackhole.l>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_blackhole_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_blackhole_name")}`])]},trade:{name:t("achieve_trade_name"),desc(r){let a=r?"2/4/6/8/10":e.stats.achieve.trade?e.stats.achieve.trade.l*2:2,i=r?"1/2/3/4/5":e.stats.achieve.trade?e.stats.achieve.trade.l:1;return t("achieve_perks_trade",[a,i])},active(){return!!(e.stats.achieve.trade&&e.stats.achieve.trade.l>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_trade_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_trade_name")}`])]},creator:{name:t("achieve_creator_name"),desc(r){let a=r?"1.5/2/2.5/3/3.5":1+(e.stats.achieve.creator?e.stats.achieve.creator.l*.5:.5);return t("achieve_perks_creator",[a])},active(){return!!(e.stats.achieve.creator&&e.stats.achieve.creator.l>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_creator_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_creator_name")}`])]},mass_extinction:{name:t("achieve_mass_extinction_name"),group:[{desc(){return t("achieve_perks_mass_extinction")},active(){return!!(e.stats.achieve.mass_extinction&&e.stats.achieve.mass_extinction.l>=1)}},{desc(r){let a=e.stats.achieve.mass_extinction?e.stats.achieve.mass_extinction.l:1,i=r?"0/50/100/150/200":(a-1)*50;return t("achieve_perks_mass_extinction2",[i])},active(){return!!(e.stats.achieve.mass_extinction&&e.stats.achieve.mass_extinction.l>1)}}],notes:[t("wiki_perks_achievement_note",[`${t("achieve_mass_extinction_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_mass_extinction_name")}`])]},doomed:{name:t("achieve_doomed_name"),desc(r){return t("achieve_perks_doomed")},active(){return e.stats.portals>=1},notes:[t("wiki_perks_achievement_note",[`${t("achieve_doomed_name")}`])]},explorer:{name:t("achieve_explorer_name"),desc(r){let a=r?"1/2/3/4/5":e.stats.achieve.explorer?e.stats.achieve.explorer.l:1;return t("achieve_perks_explorer",[a])},active(){return!!(e.stats.achieve.explorer&&e.stats.achieve.explorer.l>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_explorer_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_explorer_name")}`])]},miners_dream:{name:t("achieve_miners_dream_name"),desc(r){let a=r?"1/2/3/5/7":e.stats.achieve.miners_dream?e.stats.achieve.miners_dream.l>=4?e.stats.achieve.miners_dream.l*2-3:e.stats.achieve.miners_dream.l:0;return t("achieve_perks_miners_dream",[a])},active(){return!!(e.stats.achieve.miners_dream&&e.stats.achieve.miners_dream.l>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_miners_dream_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_miners_dream_name")}`])]},extinct_junker:{name:t("achieve_extinct_junker_name"),desc(){return t("achieve_perks_enlightened")},active(){return!!(e.stats.achieve.extinct_junker&&e.stats.achieve.extinct_junker.l>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_extinct_junker_name")}`])]},joyless:{name:t("achieve_joyless_name"),desc(r){let a=r?"2/4/6/8/10":e.stats.achieve.joyless?e.stats.achieve.joyless.l*2:2;return t("achieve_perks_joyless",[a])},active(){return!!(e.stats.achieve.joyless&&e.stats.achieve.joyless.l>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_joyless_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_joyless_name")}`])]},steelen:{name:t("achieve_steelen_name"),desc(r){let a=r?"2/4/6/8/10":e.stats.achieve.steelen?e.stats.achieve.steelen.l*2:2;return t("achieve_perks_steelen",[a])},active(){return!!(e.stats.achieve.steelen&&e.stats.achieve.steelen.l>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_steelen_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_steelen_name")}`])]},wheelbarrow:{name:t("achieve_wheelbarrow_name"),desc(r){let a=r?"2/4/6/8/10":e.stats.achieve.wheelbarrow?e.stats.achieve.wheelbarrow.l*2:2;return t("achieve_perks_wheelbarrow",[a])},active(){return!!(e.stats.achieve.wheelbarrow&&e.stats.achieve.wheelbarrow.l>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_wheelbarrow_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_wheelbarrow_name")}`])]},extinct_sludge:{name:t("achieve_extinct_sludge_name"),group:[{desc(r){let a=r?"3/6/9/12/15":e.stats.achieve.extinct_sludge?e.stats.achieve.extinct_sludge.l*3:3;return t("achieve_perks_extinct_sludge",[a,t("universe_standard")])},active(){return!!(e.stats.achieve.extinct_sludge&&e.stats.achieve.extinct_sludge.l>=1)}},{desc(r){let a=r?"3/6/9/12/15":e.stats.achieve.extinct_sludge?e.stats.achieve.extinct_sludge.h*3:3;return t("achieve_perks_extinct_sludge",[a,t("universe_heavy")])},active(){return!!(e.stats.achieve.extinct_sludge&&e.stats.achieve.extinct_sludge.h>=1)}},{desc(r){let a=r?"3/6/9/12/15":e.stats.achieve.extinct_sludge?e.stats.achieve.extinct_sludge.a*3:3;return t("achieve_perks_extinct_sludge",[a,t("universe_antimatter")])},active(){return!!(e.stats.achieve.extinct_sludge&&e.stats.achieve.extinct_sludge.a>=1)}},{desc(r){let a=r?"3/6/9/12/15":e.stats.achieve.extinct_sludge?e.stats.achieve.extinct_sludge.e*3:3;return t("achieve_perks_extinct_sludge",[a,t("universe_evil")])},active(){return!!(e.stats.achieve.extinct_sludge&&e.stats.achieve.extinct_sludge.e>=1)}},{desc(r){let a=r?"3/6/9/12/15":e.stats.achieve.extinct_sludge?e.stats.achieve.extinct_sludge.m*3:3;return t("achieve_perks_extinct_sludge",[a,t("universe_micro")])},active(){return!!(e.stats.achieve.extinct_sludge&&e.stats.achieve.extinct_sludge.m>=1)}},{desc(r){let a=r?"3/6/9/12/15":e.stats.achieve.extinct_sludge?e.stats.achieve.extinct_sludge.mg*3:3;return t("achieve_perks_extinct_sludge",[a,t("universe_magic")])},active(){return!!(e.stats.achieve.extinct_sludge&&e.stats.achieve.extinct_sludge.mg>=1)}}],notes:[t("wiki_perks_achievement_note",[`${t("achieve_extinct_sludge_name")}`]),t("wiki_perks_achievement_note_universe_scale",[`${t("achieve_extinct_sludge_name")}`])]},whitehole:{name:t("achieve_whitehole_name"),group:[{desc(){return t("achieve_perks_whitehole")},active(){return!!e.stats.achieve.whitehole}},{desc(r){let a=r?"5/10/15/20/25":e.stats.achieve.whitehole?e.stats.achieve.whitehole.l*5:5;return t("achieve_perks_whitehole2",[a])},active(){return!!e.stats.achieve.whitehole}},{desc(r){let a=r?"1/2/3/4/5":e.stats.achieve.whitehole?e.stats.achieve.whitehole.l:1;return t("achieve_perks_whitehole3",[a])},active(){return!!e.stats.achieve.whitehole}}],notes:[t("wiki_perks_achievement_note",[`${t("achieve_whitehole_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_whitehole_name")}`])]},heavyweight:{name:t("achieve_heavyweight_name"),desc(r){let a=r?"4/8/12/16/20":e.stats.achieve.heavyweight?e.stats.achieve.heavyweight.l*4:4;return t("achieve_perks_heavyweight",[a])},active(){return!!e.stats.achieve.heavyweight},notes:[t("wiki_perks_achievement_note",[`${t("achieve_heavyweight_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_heavyweight_name")}`])]},dissipated:{name:t("achieve_dissipated_name"),group:[{desc(){return t("achieve_perks_dissipated1",[1])},active(){return!!(e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=1)}},{desc(r){let a=r?"1/2":e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=5?2:1;return t("achieve_perks_dissipated2",[a])},active(){return!!(e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=3)}},{desc(){return t("achieve_perks_dissipated3",[1])},active(){return!!(e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=2)}},{desc(){return t("achieve_perks_dissipated4",[1])},active(){return!!(e.stats.achieve.dissipated&&e.stats.achieve.dissipated.l>=4)}}],notes:[t("wiki_perks_achievement_note",[`${t("achieve_dissipated_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_dissipated_name")}`])]},banana:{name:t("achieve_banana_name"),group:[{desc(){return t("achieve_perks_banana1",[50])},active(){return!!(e.stats.achieve.banana&&e.stats.achieve.banana.l>=1)}},{desc(){return t("achieve_perks_banana2",[1])},active(){return!!(e.stats.achieve.banana&&e.stats.achieve.banana.l>=2)}},{desc(){return t("achieve_perks_banana3",[10])},active(){return!!(e.stats.achieve.banana&&e.stats.achieve.banana.l>=3)}},{desc(){return t("achieve_perks_banana4",[3])},active(){return!!(e.stats.achieve.banana&&e.stats.achieve.banana.l>=4)}},{desc(){return t("achieve_perks_banana5",[.01])},active(){return!!(e.stats.achieve.banana&&e.stats.achieve.banana.l>=5)}}],notes:[t("wiki_perks_achievement_note",[`${t("achieve_banana_name")}`]),t("wiki_perks_achievement_note_task",[`${t("achieve_banana_name")}`]),t("wiki_perks_achievement_note_task_num",[1,`${t("wiki_achieve_banana1")}`]),t("wiki_perks_achievement_note_task_num",[2,`${t("wiki_achieve_banana2")}`]),t("wiki_perks_achievement_note_task_num",[3,`${t("wiki_achieve_banana3")}`]),t("wiki_perks_achievement_note_task_num",[4,`${t("wiki_achieve_banana4",[500])}`]),t("wiki_perks_achievement_note_task_num",[5,`${t("wiki_achieve_banana5",[50])}`])]},anarchist:{name:t("achieve_anarchist_name"),desc(r){let a=r?"10/20/30/40/50":e.stats.achieve.anarchist?e.stats.achieve.anarchist.l*10:10;return t("achieve_perks_anarchist",[a])},active(){return!!(e.stats.achieve.anarchist&&e.stats.achieve.anarchist.l>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_anarchist_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_anarchist_name")}`])]},ascended:{name:t("achieve_ascended_name"),group:[{desc(r){let a;if(r)a="1-30";else if(a=0,e.stats.achieve.ascended)for(let i=0;i=1)}},{desc(){return t("achieve_perks_ascended2",[ns()])},active(){return!!(e.stats.achieve.ascended&&e.stats.achieve.ascended[fe()]>=1)}}],notes:[t("wiki_perks_achievement_note",[`${t("achieve_ascended_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_ascended_name")}`]),t("wiki_perks_achievement_note_universe",[`${t("achieve_ascended_name")}`])]},technophobe:{name:t("achieve_technophobe_name"),group:[{desc(){return t("achieve_perks_technophobe1",[25])},active(){return!!(e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=1)}},{desc(r){let a;if(r)a="10/25/30/35/40/45/50";else{a=e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=4?25:10;for(let i=1;i=5&&(a+=5)}return t("achieve_perks_technophobe2",[a])},active(){return!!(e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=2)}},{desc(r){let a;if(r)a="1/2/3/4/5/6";else{a=1;for(let i=1;i=5&&(a+=1)}return r||a>1?t("achieve_perks_technophobe3a",[a]):t("achieve_perks_technophobe3",[a])},active(){return!!(e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=3)}},{desc(){return t("achieve_perks_technophobe4",[10])},active(){return!!(e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=5)}},{desc(r){let a=r?"1/2/3/4/5":e.stats.achieve.technophobe?e.stats.achieve.technophobe.l:0;return t("achieve_perks_technophobe5",[a])},active(){return!!(e.stats.achieve.technophobe&&e.stats.achieve.technophobe.l>=1)}}],notes:[t("wiki_perks_achievement_note",[`${t("achieve_technophobe_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_technophobe_name")}`]),t("wiki_perks_achievement_note_universe",[`${t("achieve_technophobe_name")}`])]},iron_will:{name:t("achieve_iron_will_name"),group:[{desc(){return t("achieve_perks_iron_will1",[.15])},active(){return!!(e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=1)}},{desc(){return t("achieve_perks_iron_will2",[10])},active(){return!!(e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=2)}},{desc(){return t("achieve_perks_iron_will3",[6])},active(){return!!(e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=3)}},{desc(){return t("achieve_perks_iron_will4",[1])},active(){return!!(e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=4)}},{desc(){return t("achieve_perks_iron_will5")},active(){return!!(e.stats.achieve.iron_will&&e.stats.achieve.iron_will.l>=5)}}],notes:[t("wiki_perks_achievement_note",[`${t("achieve_iron_will_name")}`]),t("wiki_perks_achievement_note_ironwill",[`${t("evo_challenge_cataclysm")}`]),t("wiki_perks_achievement_note_ironwill2",[1,`${t("space_red_ziggurat_title")}`]),t("wiki_perks_achievement_note_ironwill3",[2,`${t("tech_elerium_mining")}`]),t("wiki_perks_achievement_note_ironwill3",[3,`${t("tech_lasers")}`]),t("wiki_perks_achievement_note_ironwill3",[4,`${t("tech_generational_ship")}`]),t("wiki_perks_achievement_note_ironwill4",[5,`${t("wiki_resets_bioseed")}`])]},failed_history:{name:t("achieve_failed_history_name"),desc(){return t("achieve_perks_failed_history",[2])},active(){return!!(e.stats.achieve.failed_history&&e.stats.achieve.failed_history.l>=5)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_failed_history_name")}`]),t("wiki_perks_achievement_note_failed_history",[`${t("evo_challenge_cataclysm")}`])]},lamentis:{name:t("achieve_lamentis_name"),group:[{desc(){return t("achieve_perks_lamentis1",["10%"])},active(){return!!(e.stats.achieve.lamentis&&e.stats.achieve.lamentis.l>=1)}},{desc(){return t("achieve_perks_lamentis2",["10%"])},active(){return!!(e.stats.achieve.lamentis&&e.stats.achieve.lamentis.l>=2)}},{desc(){return t("achieve_perks_lamentis3",["10%"])},active(){return!!(e.stats.achieve.lamentis&&e.stats.achieve.lamentis.l>=3)}},{desc(){return t("achieve_perks_lamentis4")},active(){return!!(e.stats.achieve.lamentis&&e.stats.achieve.lamentis.l>=4)}},{desc(){return t("achieve_perks_lamentis5")},active(){return!!(e.stats.achieve.lamentis&&e.stats.achieve.lamentis.l>=5)}}],notes:[t("wiki_perks_achievement_note",[`${t("achieve_lamentis_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_lamentis_name")}`])]},soul_sponge:{name:t("achieve_soul_sponge_name"),desc(r){let a=r?"100/200/300/400/500":e.stats.achieve.soul_sponge?e.stats.achieve.soul_sponge.mg*100:100;return t("achieve_perks_soul_sponge",[a])},active(){return!!(e.stats.achieve.soul_sponge&&e.stats.achieve.soul_sponge.mg>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_soul_sponge_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_soul_sponge_name")}`])]},nightmare:{name:t("achieve_nightmare_name"),desc(){return t("achieve_perks_nightmare")},active(){return!!(e.stats.achieve.nightmare&&e.stats.achieve.nightmare.mg>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_nightmare_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_nightmare_name")}`])]},escape_velocity:{name:t("achieve_escape_velocity_name"),desc(r){let a=r?"2/4/6/8/10":e.stats.achieve.escape_velocity?e.stats.achieve.escape_velocity.h*2:2;return t("achieve_perks_escape_velocity",[a])},active(){return!!(e.stats.achieve.escape_velocity&&e.stats.achieve.escape_velocity.h>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_escape_velocity_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_escape_velocity_name")}`])]},endless_hunger:{name:t("achieve_endless_hunger_name"),group:[{desc(){return t("achieve_perks_endless_hunger1")},active(){return!!(e.stats.achieve.endless_hunger&&e.stats.achieve.endless_hunger.l>=1)}},{desc(){return t("achieve_perks_endless_hunger2")},active(){return!!(e.stats.achieve.endless_hunger&&e.stats.achieve.endless_hunger.l>=2)}},{desc(){return t("achieve_perks_endless_hunger3")},active(){return!!(e.stats.achieve.endless_hunger&&e.stats.achieve.endless_hunger.l>=3)}},{desc(){return t("achieve_perks_endless_hunger4")},active(){return!!(e.stats.achieve.endless_hunger&&e.stats.achieve.endless_hunger.l>=4)}},{desc(){return t("achieve_perks_endless_hunger5")},active(){return!!(e.stats.achieve.endless_hunger&&e.stats.achieve.endless_hunger.l>=5)}}],notes:[t("wiki_perks_achievement_note",[`${t("achieve_endless_hunger_name")}`]),t("wiki_perks_achievement_note_task",[`${t("achieve_endless_hunger_name")}`]),t("wiki_perks_achievement_note_task_num",[1,`${t("wiki_achieve_endless_hunger1")}`]),t("wiki_perks_achievement_note_task_num",[2,`${t("wiki_achieve_endless_hunger2")}`]),t("wiki_perks_achievement_note_task_num",[3,`${t("wiki_achieve_endless_hunger3",[80])}`]),t("wiki_perks_achievement_note_task_num",[4,`${t("wiki_achieve_endless_hunger4",[1200])}`]),t("wiki_perks_achievement_note_task_num",[5,`${t("wiki_achieve_endless_hunger5")}`])]},gladiator:{name:t("achieve_gladiator_name"),desc(r){let a=r?"20/40/60/80/100":e.stats.achieve.gladiator?e.stats.achieve.gladiator.l*20:20;return t("achieve_perks_gladiator",[a])},active(){return!!(e.stats.achieve.gladiator&&e.stats.achieve.gladiator.l>=1)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_gladiator_name")}`]),t("wiki_perks_achievement_note_scale",[`${t("achieve_gladiator_name")}`])]},pathfinder:{name:t("achieve_pathfinder_name"),group:[{desc(){return t("achieve_perks_pathfinder1",[10])},active(){return!!(e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=1)}},{desc(){return t("achieve_perks_pathfinder2",[10])},active(){return!!(e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=2)}},{desc(){return t("achieve_perks_pathfinder3")},active(){return!!(e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=3)}},{desc(){return t("achieve_perks_pathfinder4")},active(){return!!(e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=4)}},{desc(){return t("achieve_perks_pathfinder5")},active(){return!!(e.stats.achieve.pathfinder&&e.stats.achieve.pathfinder.l>=5)}}],notes:[t("wiki_perks_achievement_note",[`${t("achieve_pathfinder_name")}`]),t("wiki_perks_achievement_note_pathfinder",[`${t("evo_challenge_truepath")}`]),t("wiki_perks_achievement_note_pathfinder_reset",[`${t("wiki_resets_mad")}`]),t("wiki_perks_achievement_note_pathfinder_reset",[`${t("wiki_resets_bioseed")}`]),t("wiki_perks_achievement_note_pathfinder_reset",[`${t("wiki_resets_ai")}`]),t("wiki_perks_achievement_note_pathfinder_reset",[`${t("wiki_resets_matrix")}`]),t("wiki_perks_achievement_note_pathfinder_reset",[`${t("wiki_resets_retired")}`])]},overlord:{name:t("achieve_overlord_name"),desc(){let r=`
          ${t("achieve_perks_overlord1",[10])}
          `;return r+=`
          ${t("achieve_perks_overlord2")}
          `,r+=`
          ${t("achieve_perks_overlord3")}
          `,r+=`
          ${t("achieve_perks_overlord4")}
          `,r},active(){return!!(e.stats.achieve.overlord&&e.stats.achieve.overlord.l>=5)},notes:[t("wiki_perks_achievement_note",[`${t("achieve_overlord_name")}`])]},adam_eve:{name:t("achieve_adam_eve_name"),desc(){return t("achieve_perks_adam_eve")},active(){return!!(e.stats.achieve.adam_eve&&e.stats.achieve.adam_eve.l>=5)},notes:[]},creep:{name:t("wiki_arpa_crispr_creep"),desc(r){let a=r?"0.01/0.02/0.03/0.04/0.05":e.genes.creep?e.genes.creep*.01:0;return t("arpa_perks_creep",[a])},active(){return!!e.genes.creep},notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_genetic_memory_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_animus_title")}`,`${t("arpa_genepool_divine_remembrance_title")}`,`${t("arpa_genepool_divine_proportion_title")}`,`${t("arpa_genepool_genetic_repository_title")}`].join(", ")])]},store:{name:t("wiki_arpa_crispr_store"),desc(r){let a=r?"0.04/0.06/0.08":e.genes.store&&e.genes.store>1?e.genes.store===2?.06:.08:.04;return t(e.genes.store&&e.genes.store>=4?"arpa_perks_store2":"arpa_perks_store1",[a])},active(){return!!e.genes.store},notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_spatial_reasoning_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_spatial_superiority_title")}`,`${t("arpa_genepool_spatial_supremacy_title")}`,`${t("arpa_genepool_dimensional_warping_title")}`].join(", ")])]},evolve:{name:t("wiki_arpa_crispr_evolve"),group:[{desc(){return t("arpa_perks_evolve")},active(){return!!e.genes.evolve}},{desc(){return t("arpa_genepool_recombination_desc")},active(){return!!(e.genes.evolve&&e.genes.evolve>=2)}},{desc(){return t("arpa_genepool_homologous_recombination_desc")},active(){return!!(e.genes.evolve&&e.genes.evolve>=3)}},{desc(){return t("arpa_genepool_genetic_reshuffling_desc")},active(){return!!(e.genes.evolve&&e.genes.evolve>=4)}},{desc(){return t("arpa_genepool_recombinant_dna_desc")},active(){return!!(e.genes.evolve&&e.genes.evolve>=5)}},{desc(){return t("arpa_genepool_chimeric_dna_desc")},active(){return!!(e.genes.evolve&&e.genes.evolve>=6)}},{desc(){return t("arpa_genepool_molecular_cloning_desc")},active(){return!!(e.genes.evolve&&e.genes.evolve>=7)}},{desc(){return t("arpa_genepool_transgenes_desc")},active(){return!!(e.genes.evolve&&e.genes.evolve>=8)}}],notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_morphogenesis_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_recombination_title")}`,`${t("arpa_genepool_homologous_recombination_title")}`,`${t("arpa_genepool_genetic_reshuffling_title")}`,`${t("arpa_genepool_recombinant_dna_title")}`,`${t("arpa_genepool_chimeric_dna_title")}`,`${t("arpa_genepool_molecular_cloning_title")}`,`${t("arpa_genepool_transgenes_title")}`].join(", ")])]},birth:{name:t("wiki_arpa_crispr_birth"),desc(){return t("arpa_perks_birth")},active(){return!!e.genes.birth},notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_replication_title")}`])]},enhance:{name:t("wiki_arpa_crispr_enhance"),desc(){return t("arpa_perks_enhance")},active(){return!!e.genes.enhance},notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_enhanced_muscle_fiber_title")}`])]},crafty:{name:t("wiki_arpa_crispr_crafty"),group:[{desc(){return t("arpa_genepool_artificer_desc")},active(){return!!e.genes.crafty}},{desc(r){let a=r?"50/100":e.genes.crafty&&e.genes.crafty>=3?100:50;return t("arpa_genepool_crafting_desc",[a])},active(){return!!(e.genes.crafty&&e.genes.crafty>=2)}}],notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_artificer_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_detail_oriented_title")}`,`${t("arpa_genepool_rigorous_title")}`].join(", ")])]},governor:{name:t("wiki_arpa_crispr_governor"),desc(){return t("arpa_perks_governor")},active(){return!!e.genes.governor},notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_governance_title")}`])]},synthesis:{name:t("wiki_arpa_crispr_synthesis"),desc(r){let a=r?"2/3/4":e.genes.synthesis&&e.genes.synthesis>=2?e.genes.synthesis>=3?4:3:2,i=r?"10/25/50":e.genes.synthesis&&e.genes.synthesis>=2?e.genes.synthesis>=3?50:25:10;return t("arpa_genepool_synthesis_desc",[a,i])},active(){return!!e.genes.synthesis},notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_synthesis_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_karyokinesis_title")}`,`${t("arpa_genepool_cytokinesis_title")}`].join(", ")])]},challenge:{name:t("wiki_arpa_crispr_challenge"),group:[{desc(){return t("arpa_perks_challenge")},active(){return!!e.genes.challenge}},{desc(){return t("arpa_genepool_unlocked_desc")},active(){return!!(e.genes.challenge&&e.genes.challenge>=2)}},{desc(r){return t("arpa_perks_challenge2",[r?"60/80":e.genes.challenge&&e.genes.challenge>=4?80:60,r?"60/40":e.genes.challenge&&e.genes.challenge>=4?40:60])},active(){return!!(e.genes.challenge&&e.genes.challenge>=3)}},{desc(){return t("arpa_perks_challenge3")},active(){return!!(e.genes.challenge&&e.genes.challenge>=5)}}],notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_hardened_genes_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_unlocked_title")}`,`${t("arpa_genepool_universal_title")}`,`${t("arpa_genepool_standard_title")}`,`${t("arpa_genepool_mastered_title")}`].join(", ")]),t("wiki_perks_crispr_note_challenge",[t("arpa_genepool_universal_title"),t("arpa_genepool_standard_title")])]},ancients:{name:t("wiki_arpa_crispr_ancients"),group:[{desc(){return t("arpa_perks_ancients")},active(){return!!e.genes.ancients}},{desc(){return e.genes.ancients&&e.genes.ancients>=4?t("arpa_perks_ancients3"):t("arpa_perks_ancients2")},active(){return!!(e.genes.ancients&&e.genes.ancients>=2)}},{desc(r){return t("arpa_perks_ancients4",[r?"25/50":e.genes.ancients&&e.genes.ancients>=5?50:25])},active(){return!!(e.genes.ancients&&e.genes.ancients>=3)}}],notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_ancients_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_faith_title")}`,`${t("arpa_genepool_devotion_title")}`,`${t("arpa_genepool_acolyte_title")}`,`${t("arpa_genepool_conviction_title")}`].join(", ")])]},trader:{name:t("wiki_arpa_crispr_trader"),desc(){return t("arpa_genepool_negotiator_desc")},active(){return!!e.genes.trader},notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_negotiator_title")}`])]},transcendence:{name:t("wiki_arpa_crispr_transcendence"),desc(){return t("arpa_genepool_transcendence_desc")},active(){return!!e.genes.transcendence},notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_transcendence_title")}`])]},queue:{name:t("wiki_arpa_crispr_queue"),group:[{desc(){return t("arpa_genepool_geographer_desc")},active(){return!!e.genes.queue}},{desc(){return t("arpa_genepool_architect_desc")},active(){return!!(e.genes.queue&&e.genes.queue>=2)}}],notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_geographer_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_architect_title")}`].join(", ")])]},plasma:{name:t("wiki_arpa_crispr_plasma"),desc(r){let a=r?"3/5":e.genes.plasma>=2?5:3;return t("arpa_genepool_mitosis_desc",[a])},active(){return!!e.genes.plasma},notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_mitosis_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_metaphase_title")}`].join(", ")])]},mutation:{name:t("wiki_arpa_crispr_mutation"),group:[{desc(){return e.genes.mutation&&e.genes.mutation>1?t("arpa_perks_mutation2"):t("arpa_perks_mutation1")},active(){return!!e.genes.mutation}},{desc(){return t("arpa_perks_mutation3")},active(){return!!(e.genes.mutation&&e.genes.mutation>=3)}}],notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_mutation_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_transformation_title")}`,`${t("arpa_genepool_metamorphosis_title")}`].join(", ")])]},bleed:{name:t("wiki_arpa_crispr_bleed"),group:[{desc(){return t("arpa_genepool_bleeding_effect_desc",[2.5])},active(){return!!e.genes.bleed}},{desc(){return t("arpa_genepool_synchronicity_desc",[25])},active(){return!!(e.genes.bleed&&e.genes.bleed>=2)}},{desc(){return t("arpa_genepool_astral_awareness_desc")},active(){return!!(e.genes.bleed&&e.genes.bleed>=3)}}],notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_bleeding_effect_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_synchronicity_title")}`,`${t("arpa_genepool_astral_awareness_title")}`].join(", ")]),t("wiki_perks_crispr_note_bleed",[`${t("arpa_genepool_bleeding_effect_title")}`])]},blood:{name:t("wiki_arpa_crispr_blood"),group:[{desc(){return t("arpa_genepool_blood_remembrance_desc")},active(){return!!e.genes.blood}},{desc(){return t("arpa_genepool_blood_sacrifice_desc")},active(){return!!(e.genes.blood&&e.genes.blood>=2)}},{desc(){return t("arpa_genepool_essence_absorber_desc")},active(){return!!(e.genes.blood&&e.genes.blood>=3)}}],notes:[t("wiki_perks_crispr_note",[`${t("arpa_genepool_blood_remembrance_title")}`]),t("wiki_perks_crispr_note_upgrade",[[`${t("arpa_genepool_blood_sacrifice_title")}`,`${t("arpa_genepool_essence_absorber_title")}`].join(", ")]),t("wiki_perks_crispr_note_blood",[t("arpa_genepool_blood_remembrance_title")])]},spire:{name:t("wiki_arpa_blood_spire"),group:[{desc(){return t("arpa_blood_purify_desc")},active(){return!!e.blood.spire}},{desc(){return t("arpa_blood_chum_desc")},active(){return!!(e.blood.spire&&e.blood.spire>=2)}}],notes:[t("wiki_perks_blood_note",[`${t("arpa_blood_purify_title")}`]),t("wiki_perks_blood_note_upgrade",[[`${t("arpa_blood_chum_title")}`].join(", ")])]},lust:{name:t("wiki_arpa_blood_lust"),group:[{desc(r){return t("arpa_perks_lust",[r?.2:.2*(e.blood.lust?e.blood.lust:1)])},active(){return!!e.blood.lust}}],notes:[t("wiki_perks_blood_note",[`${t("arpa_blood_lust_title")}`]),t("wiki_perks_blood_note_repeat",[t("arpa_blood_lust_title")])]},illuminate:{name:t("wiki_arpa_blood_illuminate"),group:[{desc(r){return t("arpa_perks_illuminate",[r?.01:.01*(e.blood.illuminate?e.blood.illuminate:1)])},active(){return!!e.blood.illuminate}}],notes:[t("wiki_perks_blood_note",[`${t("arpa_blood_illuminate_title")}`]),t("wiki_perks_blood_note_repeat",[t("arpa_blood_illuminate_title")])]},greed:{name:t("wiki_arpa_blood_greed"),group:[{desc(r){return t("arpa_perks_greed",[r?1:1*(e.blood.greed?e.blood.greed:1)])},active(){return!!e.blood.greed}}],notes:[t("wiki_perks_blood_note",[`${t("arpa_blood_greed_title")}`]),t("wiki_perks_blood_note_repeat",[t("arpa_blood_greed_title")])]},hoarder:{name:t("wiki_arpa_blood_hoarder"),group:[{desc(r){return t("arpa_perks_hoarder",[r?1:1*(e.blood.hoarder?e.blood.hoarder:1)])},active(){return!!e.blood.hoarder}}],notes:[t("wiki_perks_blood_note",[`${t("arpa_blood_hoarder_title")}`]),t("wiki_perks_blood_note_repeat",[t("arpa_blood_hoarder_title")])]},artisan:{name:t("wiki_arpa_blood_artisan"),group:[{desc(r){return t("arpa_perks_artisan",[r?1:1*(e.blood.artisan?e.blood.artisan:1)])},active(){return!!e.blood.artisan}}],notes:[t("wiki_perks_blood_note",[`${t("arpa_blood_artisan_title")}`]),t("wiki_perks_blood_note_repeat",[t("arpa_blood_artisan_title")])]},attract:{name:t("wiki_arpa_blood_attract"),group:[{desc(r){return t("arpa_perks_attract",[r?5:5*(e.blood.attract?e.blood.attract:1)])},active(){return!!e.blood.attract}}],notes:[t("wiki_perks_blood_note",[`${t("arpa_blood_attract_title")}`]),t("wiki_perks_blood_note_repeat",[t("arpa_blood_attract_title")])]},wrath:{name:t("wiki_arpa_blood_wrath"),group:[{desc(r){return t("arpa_perks_wrath",[r?5:5*(e.blood.wrath?e.blood.wrath:1)])},active(){return!!e.blood.wrath}}],notes:[t("wiki_perks_blood_note",[`${t("arpa_blood_wrath_title")}`]),t("wiki_perks_blood_note_repeat",[t("arpa_blood_wrath_title")])]},prepared:{name:t("wiki_arpa_blood_prepared"),group:[{desc(){return t("arpa_blood_prepared_desc")},active(){return!!e.blood.prepared}},{desc(){return t("arpa_blood_compact_desc")},active(){return!!(e.blood.prepared&&e.blood.prepared>=2)}}],notes:[t("wiki_perks_blood_note",[`${t("arpa_blood_prepared_title")}`]),t("wiki_perks_blood_note_upgrade",[[`${t("arpa_blood_compact_title")}`].join(", ")])]},unbound:{name:t("wiki_arpa_blood_unbound"),group:[{desc(){return t("arpa_blood_unbound_desc")},active(){return!!e.blood.unbound}},{desc(){return t("arpa_blood_shadow_war_desc")},active(){return!!(e.blood.unbound&&e.blood.unbound>=3)}},{desc(r){return t("arpa_perks_unbound_resist",[r?"10/5":e.blood.unbound&&e.blood.unbound>=4?5:10])},active(){return!!(e.blood.unbound&&e.blood.unbound>=2)}}],notes:[t("wiki_perks_blood_note",[`${t("arpa_blood_unbound_title")}`]),t("wiki_perks_blood_note_upgrade",[[`${t("arpa_blood_unbound_resistance_title")}`,`${t("arpa_blood_shadow_war_title")}`,`${t("arpa_blood_unbound_immunity_title")}`].join(", ")])]},aware:{name:t("wiki_arpa_blood_aware"),group:[{desc(){return t("arpa_blood_blood_aware_desc")},active(){return!!e.blood.aware}}],notes:[t("wiki_perks_blood_note",[`${t("arpa_blood_blood_aware_title")}`])]},harmonic:{name:t("harmonic"),group:[{desc(r){let a=xr();return t("perks_harmonic",[r?`1-${Object.keys(x).length+2}`:+((a[0]-1)*100).toFixed(0),r?`2-${(Object.keys(x).length+2)*2}`:+((a[1]-1)*100).toFixed(0)])},active(){let r=xr();return!!(e.pillars&&r[0]>1)}},{desc(r){let a=xr();return t("perks_harmonic2",[t("portal_west_tower"),t("portal_east_tower"),r?`12-${(Object.keys(x).length-1)*12}`:+(Object.keys(e.pillars).length*12)])},active(){let r=xr();return!!(e.pillars&&r[0]>1)}}],notes:[t("wiki_perks_harmonic_note1"),t("wiki_perks_harmonic_note2")]},novice:{name:t("perk_novice"),desc(r){let a=e.stats.feat.novice&&e.stats.achieve.apocalypse&&e.stats.achieve.apocalypse.l>0?Math.min(e.stats.achieve.apocalypse.l,e.stats.feat.novice):1,i=r?"0.5/1/1.5/2/2.5":a/2,s=r?"0.25/0.5/0.75/1/1.25":a/4;return`
          ${t("achieve_perks_novice",[i,s])}
          ${t("achieve_perks_novice2")}
          `},active(){return!!(e.stats.feat.novice&&e.stats.mad>0)},notes:[t("wiki_perks_progress_note1",[10,t("wiki_resets_mad")]),t("wiki_perks_progress_note2")]},journeyman:{name:t("perk_journeyman"),desc(r){let a=e.stats.feat.journeyman&&e.stats.achieve.seeder&&e.stats.achieve.seeder.l>0?Math.min(e.stats.achieve.seeder.l,e.stats.feat.journeyman):1;if(r||a>1){let i=r?"1/2/3":a>=3?a>=5?3:2:1,s=r?"1/2":a>=4?2:1;return`
          ${t("achieve_perks_journeyman2",[i,s])}
          ${t("achieve_perks_journeyman3")}
          `}else return`
          ${t("achieve_perks_journeyman1",[1])}
          ${t("achieve_perks_journeyman3")}
          `},active(){return!!(e.stats.feat.journeyman&&e.stats.bioseed>0)},notes:[t("wiki_perks_progress_note1",[25,t("wiki_resets_bioseed")]),t("wiki_perks_progress_note2")]},adept:{name:t("perk_adept"),desc(r){let a=an()||1,i=r?"100/200/300/400/500":a*100,s=r?"60/120/180/240/300":a*60;return t("achieve_perks_adept",[i,s])},active(){return an()>0},notes:[t("wiki_perks_progress_note1",[50,t("wiki_resets_blackhole")]),t("wiki_perks_progress_note2")]},master:{name:t("perk_master"),desc(r){let a=e.stats.feat.master&&e.stats.achieve.ascended&&e.stats.achieve.ascended.l>0?Math.min(e.stats.achieve.ascended.l,e.stats.feat.master):1,i=r?"1/2/3/4/5":a,s=r?"2/4/6/8/10":a*2;return t("achieve_perks_master",[i,s,t("evo_mitochondria_title"),t("evo_eukaryotic_title"),t("evo_membrane_title"),t("evo_organelles_title"),t("evo_nucleus_title")])},active(){return!!(e.stats.feat.master&&e.stats.achieve.ascended&&e.stats.achieve.ascended.l>0)},notes:[t("wiki_perks_progress_note1",[75,t("wiki_resets_ascension")]),t("wiki_perks_progress_note2")]},grandmaster:{name:t("perk_grandmaster"),desc(r){let a=e.stats.feat.grandmaster&&e.stats.achieve.corrupted&&e.stats.achieve.corrupted.l>0?Math.min(e.stats.achieve.corrupted.l,e.stats.feat.grandmaster):1;return t("achieve_perks_grandmaster",[r?"1/2/3/4/5":a])},active(){return!!(e.stats.feat.grandmaster&&e.stats.achieve.corrupted&&e.stats.achieve.corrupted.l>0)},notes:[t("wiki_perks_progress_note1",[100,t("wiki_resets_infusion")]),t("wiki_perks_progress_note2")]}};function xc(){K($("#perksPanel"));let r=$("#perksPanel"),a=!1;Object.keys(Nt).forEach(function(i){if(Nt[i].hasOwnProperty("group")){let s=!1,n=$(`
          ${Nt[i].name}
          `);Nt[i].group.forEach(function(c){c.active()&&(s=!0,n.append($(`
          ${c.desc()}
          `)))}),s&&(a=!0,r.append(n))}else Nt[i].active()&&(a=!0,r.append($(`
          ${Nt[i].name}${Nt[i].desc()}
          `)))}),a||r.append($(`
          ${t("perks_none")}
          `))}function md(){K($("#statsPanel"));let r=$("#statsPanel");if(r.append(`
          ${t("achieve_stats_overall")}
          `),r.append(`
          ${t("achieve_stats_plasmid_earned")} {{ s.plasmid | format }}
          `),e.stats.antiplasmid>0&&r.append(`
          ${t("achieve_stats_antiplasmid_earned")} {{ s.antiplasmid | format }}
          `),e.stats.phage>0&&r.append(`
          ${t("achieve_stats_phage_earned")} {{ s.phage | format }}
          `),e.stats.dark>0&&r.append(`
          ${t("achieve_stats_dark_earned")} {{ s.dark | format }}
          `),e.stats.harmony>0&&r.append(`
          ${t("achieve_stats_harmony_earned")} {{ s.harmony | format }}
          `),e.stats.blood>0&&r.append(`
          ${t("achieve_stats_blood_earned")} {{ s.blood | format }}
          `),e.stats.artifact>0&&r.append(`
          ${t("achieve_stats_artifact_earned")} {{ s.artifact | format }}
          `),r.append(`
          ${t("achieve_stats_knowledge_spent")} {{ s.know | t_know | format }}
          `),r.append(`
          ${t("achieve_stats_starved_to_death")} {{ s.starved | t_starved | format }}
          `),r.append(`
          ${t("achieve_stats_died_in_combat")} {{ s.died | t_died | format }}
          `),r.append(`
          ${t("achieve_stats_game_days_played")} {{ s.days | played | format }}
          `),e.stats.portals>0&&r.append(`
          ${t("achieve_stats_portals")} {{ s.portals | format }}
          `),r.append(`
          ${t("achieve_stats_total_resets")} {{ s.reset | format }}
          `),e.stats.mad>0&&r.append(`
          ${t("achieve_stats_mad_resets")} {{ s.mad | format }}
          `),e.stats.bioseed>0&&r.append(`
          ${t("achieve_stats_bioseed_resets")} {{ s.bioseed | format }}
          `),e.stats.cataclysm>0&&r.append(`
          ${t("achieve_stats_cataclysm_resets")} {{ s.cataclysm | format }}
          `),e.stats.blackhole>0&&r.append(`
          ${t("achieve_stats_blackhole_resets")} {{ s.blackhole | format }}
          `),e.stats.ascend>0&&r.append(`
          ${t("achieve_stats_ascension_resets")} {{ s.ascend | format }}
          `),e.stats.descend>0&&r.append(`
          ${t("achieve_stats_descension_resets")} {{ s.descend | format }}
          `),e.stats.apotheosis>0&&r.append(`
          ${t("achieve_stats_apotheosis_resets")} {{ s.apotheosis | format }}
          `),e.stats.aiappoc>0&&r.append(`
          ${t("achieve_stats_aiappoc_resets")} {{ s.aiappoc | format }}
          `),e.stats.matrix>0&&r.append(`
          ${t("achieve_stats_matrix_resets")} {{ s.matrix | format }}
          `),e.stats.retire>0&&r.append(`
          ${t("achieve_stats_retire_resets")} {{ s.retire | format }}
          `),e.stats.eden>0&&r.append(`
          ${t("achieve_stats_eden_resets")} {{ s.eden | format }}
          `),e.stats.terraform>0&&r.append(`
          ${t("achieve_stats_terraform_resets")} {{ s.terraform | format }}
          `),e.stats.geck>0&&r.append(`
          ${t("achieve_stats_gecks")} {{ s.geck | format }}
          `),r.append(`
          ${t("achieve_stats_current_game")}
          `),r.append(`
          ${t("achieve_stats_knowledge_spent")} {{ s.know | format }}
          `),r.append(`
          ${t("achieve_stats_starved_to_death")} {{ s.starved | format }}
          `),r.append(`
          ${t("achieve_stats_died_in_combat")} {{ s.died | format }}
          `),r.append(`
          ${t("achieve_stats_attacks_made")} {{ s.attacks | format }}
          `),r.append(`
          ${t("achieve_stats_game_days_played")} {{ s.days | format }}
          `),e.stats.dkills>0&&r.append(`
          ${t("achieve_stats_demons_kills")} {{ s.dkills | format }}
          `),e.stats.sac>0&&r.append(`
          ${t("achieve_stats_sacrificed")} {{ s.sac | format }}
          `),e.stats.murders>0&&r.append(`
          ${t("achieve_stats_murders")} {{ s.murders | format }}
          `),e.stats.psykill>0&&r.append(`
          ${t("achieve_stats_psymurders")} {{ s.psykill | format }}
          `),e.stats.uDead>0&&r.append(`
          ${t("achieve_stats_unstable")} {{ s.uDead | format }}
          `),e.resource.hasOwnProperty("Thermite")&&e.resource.Thermite.amount>0&&r.append(`
          ${t("achieve_stats_thermite")} {{ r.Thermite.amount | res }}
          `),Dt().active){let i="";(e.stats.cfood>=13||e.race.cataclysm||e.race.orbit_decayed)&&(i=`${mt(7,12,!0)}`),r.append(`
          ${t("achieve_stats_trickortreat")} {{ s.cfood | format }} ${i}
          `)}e.race.hasOwnProperty("gods")&&e.race.gods!="none"&&r.append(`
          ${t("achieve_stats_gods")} {{ g.gods | species }}
          `),e.race.hasOwnProperty("old_gods")&&e.race.old_gods!="none"&&r.append(`
          ${t("achieve_stats_old_gods")} {{ g.old_gods | species }}
          `),C({el:"#statsPanel",data:{s:e.stats,r:e.resource,g:e.race},filters:{played(i){return i+e.stats.tdays},t_know(i){return i+e.stats.tknow},t_starved(i){return i+e.stats.tstarved},t_died(i){return i+e.stats.tdied},format(i){return i.toLocaleString()},res(i){return(+i.toFixed(2)).toLocaleString()},species(i){return i==="custom"?e.custom.race0.name:t(`race_${i}`)}}})}Ws(!0);function qi(){let r=$("#content");K(r);let a=["update","hotkeys","sethotkeys","offline","moonphase","orbital","lumber","farm","steel","aluminium","titanium","titanium_balorg","polymer","mythril","neutronium","adamantite","infernite","graphene","stanene","aerogel","crates","soft_reset","hard_reset","combat","morale","stress","genetic_decay","cache","aphrodisiac","religion","tax_riots","race","weather","sundial","plasmid","plasmid_keep","plasmid_earn","crispr","creep","phage","phage_earn","phage_benefit","anti_plasmids","temple","temple_break","demonic","celestial","mastery","challenges","perks","feats","support","micro","valdi","quantum","quantum_level","exotic","soul_gem","soul_gem_spend","hell_patrol","surveyors","defense","infusion","dark_energy"],i={neutronium:[x[e.race.species].solar.gas_moon]};for(let s=0;s
          ');r.append(n);let c=[];i.hasOwnProperty(a[s])&&(c=i[a[s]]),n.append(`

          ${t(`wiki_faq_q_${a[s]}`)}

          `),n.append(`
          ${t(`wiki_faq_a_${a[s]}`,c)}
          `)}}function gl(r,a,i){return a.hasOwnProperty("h_level")||(a.h_level=2),a.header=!0,b(r,a,i)}function b(r,a,i){if(!a.hasOwnProperty("name")||!a.hasOwnProperty("template"))return;a.hasOwnProperty("paragraphs")||(a.paragraphs=0),a.hasOwnProperty("text")||(a.text={}),a.hasOwnProperty("rawtext")||(a.rawtext={}),a.hasOwnProperty("para_data")||(a.para_data={}),a.hasOwnProperty("data_color")||(a.data_color={}),a.hasOwnProperty("data_link")||(a.data_link={}),a.hasOwnProperty("h_level")||(a.h_level=3),a.hasOwnProperty("h_extra")||(a.h_extra=!1),a.hasOwnProperty("header")||(a.header=!1),a.hasOwnProperty("full")||(a.full=!1),a.hasOwnProperty("break")||(a.break=!1),a.hasOwnProperty("default_color")||(a.default_color="warning"),a.hasOwnProperty("examples")||(a.examples=!1),a.hasOwnProperty("vue")||(a.vue=!1);let s=!1;i?s=i:(s=$(``),a.h_level&&a.h_extra?s.append(`
          ${a.label?a.label:t(`wiki_${a.template}_${a.name}`)}${a.h_extra}
          `):a.h_level&&s.append(`${a.label?a.label:t(`wiki_${a.template}_${a.name}`)}`));let n=[{s:1,e:a.break?a.break[0]-1:a.paragraphs}];if(a.break)for(let c=0;c');for(let l=c.s;l<=c.e;l++)if((a.text[l]||a.rawtext[l]||a.para_data[l])&&Array.isArray(a.para_data[l])){let u=a.para_data[l];if(a.data_link[l]&&Array.isArray(a.data_link[l]))for(let d=0;d${u[d]}`);let p=a.data_color[l]&&Array.isArray(a.data_color[l])?a.data_color[l]:a.para_data[l].map(d=>a.default_color);for(let d=0;d${u[d]}`);let h=a.rawtext[l]?a.rawtext[l]:t(a.text[l]?a.text[l]:`wiki_${a.template}_${a.name}_para${l}`,u);o.append(`${h}`)}else{let u=a.rawtext[l]?a.rawtext[l]:t(a.text[l]?a.text[l]:`wiki_${a.template}_${a.name}_para${l}`);o.append(`${u}`)}s.append(o)}),a.examples&&(s.append($(`
          ${t("wiki_examples")}
          `)),a.examples.forEach(function(c){s.append($(`
          - ${c}
          `))})),i||r.append(s),a.vue&&(a.vue.el=`#${a.name}InfoBox`,C(a.vue)),s}function Tr(r,a,i,s){let n=typeof a.title=="string"?a.title:a.title();if(i)r.append(`

          ${n}

          ${i}
          `);else if(s)r.append(`

          ${n}

          `);else{let u=e.tech[a.grant[0]]&&e.tech[a.grant[0]]>=a.grant[1];r.append(`

          ${n}

          ${u?`${t("wiki_arpa_purchased")}`:""}${t(`wiki_tech_tree_${a.grant[0]}`)}: ${a.grant[1]}
          `)}let c=typeof a.desc=="string"?a.desc:a.desc(!0);c!==n&&r.append(`
          ${c}
          `);let o=$('
          '),l=!1;if(a.hasOwnProperty("effect")){if(s){let u=typeof a.effect=="string"?a.effect:!1;u!==!1?o.append(`
          ${u}
          `):o.append('
          '),l=!0}else{let u=typeof a.effect=="string"?a.effect:a.effect(!0);u!==!1&&(o.append(`
          ${u}
          `),l=!0)}r.append(o)}if(a.hasOwnProperty("cost")){let u=Ct(a,!0),p=l?$(`
          `):$(`
          `),h="";s&&(p.append($(`

          ${t("wiki_calc_cost")}

          `)),h=$(`

          ${t("wiki_calc_cost_creep")}

          `));let d=!1,g=function(k,M,q,P,O){s?(p.append($(`
          ${q}{{ r.${k}.cost }}
          `)),h.append($(`
          {{ r.${k}.creep }}
          `)),d=!0):M>0&&(p.append($(`
          ${q}${X(M,1)}
          `)),d=!0)},w="has-text-success";Object.keys(u).forEach(function(k){if(k==="Structs"){let M=u[k]();Object.keys(M).forEach(function(q){Object.keys(M[q]).forEach(function(P){let O=M[q][P].hasOwnProperty("on")?M[q][P].on:M[q][P].count,U="";if(M[q][P].hasOwnProperty("s")){let Z=M[q][P].s;U=typeof m[q][Z][P].title=="string"?m[q][Z][P].title:m[q][Z][P].title()}else U=typeof m[q][P].title=="string"?m[q][P].title:m[q][P].title();p.append($(`
          ${U}: ${O}
          `)),s&&h.append($(`
          ${t("wiki_calc_none")}
          `)),d=!0})})}else if(["Plasmid","Phage","Dark","Harmony","AICore","Artifact","Blood_Stone","AntiPlasmid"].includes(k)){let M=k;k==="Plasmid"&&e.race.universe==="antimatter"&&(M="AntiPlasmid"),g(k,u[k](),t(`resource_${M}_name`)+": ",w)}else if(k==="Supply")g(k,u[k](),t(`resource_${k}_name`)+": ",w);else if(k==="Custom")p.append($(`
          ${u[k]().label}
          `)),d=!0;else if(k!=="Morale"&&k!=="Army"&&k!=="Bool"&&k!=="Troops"){let M=k==="Species"?e.race.species:k,q=M==="Money"?"$":(k==="HellArmy"?t("fortress_troops"):e.resource[M].name)+": ";q=q.replace("_"," "),g(k,u[k](),q,w)}}),d&&(a.hasOwnProperty("effect")||r.append(o),o.append(p),s&&o.append(h))}}function fd(r,a){r.click(function(){window.location.hash=`#${a}`,document.getElementById(a).scrollIntoView({block:"start",behavior:"smooth"})})}function j(r,a,i,s){if(r==="create"){let n=a?typeof a=="string"?$(`#${a}`):a:$("#content");K(n),n.addClass("flex");let c=$('
          '),o=$('
          '),l=$("
            ");return n.append(c),n.append(o),o.append(l),c}else if(r==="gap"){let n=$('
          • ');$("#sideContent ul").append(n)}else{let n=$(`${s}`),c=$("
          • ");c.append(n),$("#sideContent ul").append(c),fd(n,i)}}function je(r,a,i,s){j(r,a,i,"\u1102"+s)}function ne(r){return["moon","belt"].includes(r)?t("space_"+r+"_info_name"):["kuiper"].includes(r)?t("space_"+r+"_title"):A()[r]}function qc(r,a,i,s){let n=$("
            ");r.append(n),n.append(`{{ vis | label }}`);let c=$(``);n.append(c);let o=document.getElementById(a+i+"Section"),l={vis:!1};return C({el:`#${a}${i}Button`,data:l,methods:{show(){o.style.display==="block"?(o.style.display="none",l.vis=!1):(o.style.display="block",l.vis=!0)}},filters:{label(u){return u?t("wiki_reveal_hide",[s]):t("wiki_reveal_show",[s])}}}),c}function _e(r,a,i,s){s=s||t("wiki_calc_insert_"+i);let n=$("
            ");r.append(n),n.append(`{{ vis | label }}`);let c=$(``);n.append(c);let o=document.getElementById(a+i+"Section"),l={vis:!1};return C({el:`#${a}${i}Button`,data:l,methods:{show(){o.style.display==="block"?(o.style.display="none",l.vis=!1):(o.style.display="block",l.vis=!0)}},filters:{label(u){return u?t("wiki_calc_hide",[s]):t("wiki_calc_show",[s])}}}),c}function ga(r){return e?.resource?.[r]?.name||t(`resource_${r}_name`)}var cn=Dt();function vl(r){let a=$("#content");switch(K(a),r){case"races":Pc(a);break;case"traits":Mc(a);break;case"custom":gd(a);break}}function gd(r){b(r,{name:"custom",template:"mechanics",label:t("wiki_mechanics_custom"),paragraphs:12,break:[3,5,9,11],full:!0,h_level:2,para_data:{1:[t("wiki_resets_ascension")],2:[t("wiki_resets_ascension")],5:[t("resource_Genes_name")],6:[t("resource_Genes_name")],7:[2],8:[t("achieve_technophobe_name"),5,7],9:[t("tech_fanaticism"),t("tech_deify")],11:[0,t("resource_Genes_name")],12:[t("resource_Genes_name"),t("trait_untapped_name")]},data_link:{1:["wiki.html#resets-prestige-ascension"],2:["wiki.html#resets-prestige-ascension"],8:["wiki.html#perks-prestige-technophobe"],9:[e.genes.transcendence?"wiki.html#civilized-tech-alt_fanaticism":"wiki.html#civilized-tech-fanaticism","wiki.html#early_space-tech-deify"]}});let a=$('
            ');r.append(a),Qr(!1,a)}var on={angelic:["phagocytosis","mammals","celestial"],aquatic:["phagocytosis","aquatic"],avian:["phagocytosis","eggshell","endothermic"],carnivore:["phagocytosis","mammals","animalism","carnivore"],demonic:["phagocytosis","mammals","demonic"],eldritch:["phagocytosis","eldritch"],fey:["phagocytosis","fey"],fungi:["chitin"],giant:["phagocytosis","mammals","gigantism"],heat:["phagocytosis","heat"],herbivore:["phagocytosis","mammals","animalism","herbivore"],humanoid:["phagocytosis","mammals","humanoid"],insectoid:["phagocytosis","athropods"],plant:["chloroplasts"],polar:["phagocytosis","polar"],reptilian:["phagocytosis","eggshell","ectothermic"],sand:["phagocytosis","sand"],small:["phagocytosis","mammals","dwarfism"],synthetic:["exterminate"]};Object.keys(on).forEach(function(r){on[r]=on[r].map(function(a){return typeof m.evolution[a].title=="function"?m.evolution[a].title():m.evolution[a].title}).join(" -> ")});function Pc(r){r=j("create",r);let a=[];Object.keys(x).forEach(function(i){if(i==="custom"&&!e.custom.hasOwnProperty("race0")||i==="hybrid"&&!e.custom.hasOwnProperty("race1")||i==="protoplasm")return;let s=$(`
            `);r.append(s);let n=[],c="";x[i].type==="hybrid"?n=x[i].hybrid:n.push(x[i].type),n.forEach(function(p){c+=`${t(`genelab_genus_${p}`)}`}),s.append(`

            ${x[i].name}

            ${c}
            `),s.append(`
            ${typeof x[i].desc=="string"?x[i].desc:x[i].desc()}
            `);let o=[],l=vd(i),u=$('
            ');n.forEach(function(p){Object.keys(xt[p]).sort().forEach(function(h){let d=`raceTrait${i}${h}`,g=x[i].fanaticism===h?"danger":"caution";u.append(`${Tt("name",h,i)}`),o.push({t:h,r:1})})}),Object.keys(x[i].traits).sort().forEach(function(p){if(cn.active&&i==="tortoisan"&&p==="slow"||i==="unicorn"&&p==="rainbow")return;let h=`raceTrait${i}${p}`,d=x[i].fanaticism===p?"danger":"info";u.append(`${Tt("name",p,i)}`),o.push({t:p,r:x[i].traits[p]})});for(let p=0;p${Tt("name",l[p].t,i)}`),o.push(l[p])}s.append(u),a.push(i),n.forEach(function(p){N(`genus${i}${p}`,$(`
            ${t(`genelab_genus_${p}_desc`)}

            ${on[p]}
            `),{wide:!0,classes:"w25"})});for(let p=0;p");Hr(d,o[p].t,{fanatic:o[p].t===x[i].fanaticism?x[i].name:!1,trank:o[p].r,wiki:!0,species:i}),N(h,d,{wide:!0,classes:"w25"})}}),a.sort((i,s)=>x[i].name=17?[{t:"slaver",r:2},{t:"resourceful",r:.5},{t:"small",r:.25}]:[];case"capybara":return a.getMonth()===11&&a.getDate()>=17?[{t:"beast_of_burden",r:1},{t:"pack_rat",r:.5},{t:"musical",r:.25}]:[];case"centaur":return a.getMonth()===11&&a.getDate()>=17?[{t:"beast_of_burden",r:1},{t:"curious",r:.5},{t:"blissful",r:.25}]:[];case"wendigo":return a.getMonth()===11&&a.getDate()>=17?[{t:"immoral",r:3},{t:"cannibalize",r:.5},{t:"claws",r:.25}]:[];case"yeti":return a.getMonth()===11&&a.getDate()>=17?[{t:"scavenger",r:3},{t:"regenerative",r:.5},{t:"musical",r:.25}]:[];case"entish":return a.getMonth()===11&&a.getDate()>=17?[{t:"photosynth",r:3},{t:"optimistic",r:.5},{t:"armored",r:.25}]:[];case"human":return cn.active?[{t:"anthropophagite",r:1},{t:"cannibalize",r:2},{t:"infectious",r:3}]:[];case"tortoisan":return cn.active?[{t:"hyper",r:.25},{t:"swift",r:.5},{t:"infiltrator",r:1}]:[];case"unicorn":return cn.active?[{t:"gloomy",r:1},{t:"darkness",r:1}]:[];default:return[]}}function Mc(r){r=j("create",r);let a=[["genus","major"],["minor"],["special"]];for(let i=0;iTt("name",s).localeCompare(Tt("name",n))).forEach(function(s){if(a[i].includes(v[s].type)){let n=$(`
            `);r.append(n),Hr(n,s,{tpage:!0,wiki:!0}),j("add","traits-species",`${v[s].type}_${s}`,Tt("name",s))}})}function Ta(r){let a=$('
            '),i=gl(r,{name:"planet",template:"planet",paragraphs:4,full:!0,para_data:{2:[365,"25%"],3:[4],4:["200-600"]}});b(r,{name:"geology",template:"planet",label:t("wiki_menu_planets"),paragraphs:4,h_level:2,para_data:{2:[2],3:["-10%","+19%"],4:[7,"+44%"]}},i);let s=bl(xe,$(`

            ${t("wiki_planet_biome")}

            `)),n=bl(Ie,$(`

            ${t("wiki_planet_trait")}

            `));a.append(s),a.append(n),r.append(a)}var yl={oceanic:["trait","genus"],forest:["genus"],desert:["trait","genus"],volcanic:["weather","genus"],tundra:["weather","genus"],savanna:["condition"],swamp:["trait","trait2","genus","condition"],ashland:["weather","trait","genus","condition"],taiga:["weather","genus","condition"],hellscape:["weather","genus","universe"],eden:["geology","genus","universe"],stormy:["trait"],ozone:["trait"],trashed:["trait"],elliptical:["trait"],flare:["event"],unstable:["trait","event"],permafrost:["trait"],retrograde:["trait"],kamikaze:["trait",{l:"death",v:[100]}]};function bl(r,a){return Object.keys(r).forEach(function(i){let s=r[i],n=$(`
            `);a.append(n),n.append(`

            ${s.label}

            `),n.append(`
            ${s.desc}
            `);let c=$('
            ');if(s.vars&&s.wiki)for(let o=0;o${t(`wiki_planet_${i}${o}`,[yd(s.vars()[o],l)])}
            `))}n.append(c),yl[i]&&yl[i].forEach(function(o){typeof o=="object"?n.append($(`
            ${t(`wiki_planet_${i}_${o.l}`,o.v)}
            `)):n.append($(`
            ${t(`wiki_planet_${i}_${o}`)}
            `))})}),a}function yd(r,a){let i=r-1*(a==="percent"||a==="inverted"?1:0);(a==="inverted"||a==="inverted-decimal")&&(i*=-1,a==="inverted"?a="percent":a="decimal");let s=(i>=0?"+":"")+i.toLocaleString(e.settings.locale,{style:a,maximumFractionDigits:2});return`${s}`}function Sc(r,a){let i=j("create");switch(r){case"prehistoric":bd(i,a);break;case"planetary":wd(i,a);break;case"space":kd(i,a);break;case"interstellar":$d(i);break;case"intergalactic":xd(i);break;case"hell":qd(i);break;case"edenic":Pd(i);break;case"tauceti":Md(i);break}}var Oc={prehistoric:{},planetary:{slaughter:[t("wiki_structure_planetary_slaughter")]},space:{terraformer:[t("wiki_structure_space_terraformer")],terraform:[t("wiki_structure_space_terraformer")]},starDock:{geck:[t("wiki_structure_stardock_geck")]},interstellar:{},intergalactic:{},hell:{},eden:{},tauceti:{}};function va(r,a,i){if(Oc[a].hasOwnProperty(i)){let s=$('
            ');r.append(s);for(let n=0;n${Oc[a][i][n]}`)}}var cr={include:{prehistoric:["membrane","organelles","nucleus","eukaryotic_cell","mitochondria"]},exclude:{planetary:["food","lumber","stone","chrysotile","slaughter","slave_market",""],space:["test_launch","moon_mission","terraform","red_mission","hell_mission","sun_mission","gas_mission","gas_moon_mission","belt_mission","dwarf_mission","titan_mission","enceladus_mission","triton_mission","kuiper_mission","eris_mission","crashed_ship","digsite"],starDock:["prep_ship","launch_ship"],interstellar:["alpha_mission","proxima_mission","nebula_mission","neutron_mission","blackhole_mission","jump_ship","wormhole_mission","sirius_mission","sirius_b","ascend"],intergalactic:["gateway_mission","gorddon_mission","alien2_mission","chthonian_mission"],hell:["pit_mission","assault_forge","ruins_mission","gate_mission","lake_mission","spire_mission","bribe_sphinx","spire_survey","spire","devilish_dish","oven_done"],tauceti:["home_mission","dismantle","excavate","alien_outpost","red_mission","matrix","roid_mission","alien_station_survey","contact","introduce","subjugate","gas_contest","gas_contest2","ignite_gas_giant","jeff","goe_facility"]},excludeCreep:{planetary:["horseshoe"],space:["horseshoe"],hell:["ancient_pillars","sphinx","waygate"],tauceti:["horseshoe"]},max:{prehistoric:{},planetary:{s_alter:1,banquet:5,wonder_lighthouse:1,wonder_pyramid:1},space:{star_dock:1,terraformer:100,world_collider:1859,shipyard:1,mass_relay:100,fob:1,ai_core:100,jump_gate:100},starDock:{seeder:100},interstellar:{dyson:100,dyson_sphere:100,orichalcum_sphere:100,stellar_engine:100,stargate:200,space_elevator:100,gravity_dome:100,ascension_machine:100},intergalactic:{embassy:1,consulate:1},hell:{soul_forge:1,vault:2,ancient_pillars:Object.keys(x).length-1,west_tower:rt(),east_tower:rt(),bridge:10,sphinx:2,waygate:10,oven:100},tauceti:{alien_outpost:1,jump_gate:100,ringworld:1e3,alien_station:100,matrioshka_brain:1e3,ignition_device:10},eden:{throne:1,mech_station:10,rune_gate:100,fire_support_base:10,rushmore:1,reincarnation:1,north_pier:10,south_pier:10,infuser:25,conduit:25,tomb:10}},count:{planetary:{horseshoe:e.race.shoecnt?e.race.shoecnt:0,assembly:e.resource[e.race.species]?e.resource[e.race.species].amount:0},space:{horseshoe:e.race.shoecnt?e.race.shoecnt:0,assembly:e.resource[e.race.species]?e.resource[e.race.species].amount:0},interstellar:{},intergalactic:{},hell:{ancient_pillars:Object.keys(e.pillars).length,sphinx:!e.tech.hell_spire||e.tech.hell_spire<7?0:e.tech.hell_spire===7?1:2,waygate:e.tech.waygate&&e.tech.waygate>=2?10:e.portal.waygate?e.portal.waygate.count:0},tauceti:{}},creepCalc:{planetary:{assembly:1e3},space:{assembly:1e3,swarm_satellite:200}}},wl={terraformer:["truepath"]};function ya(r,a,i,s,n){let c=cr.max[i]&&cr.max[i][a]?cr.max[i][a]:!1,o={owned:0,costVis:!1,creepVis:!1,extra:{isWiki:!0,truepath:n==="truepath"}},l={},u=!1;switch(i){case"prehistoric":u=m.evolution[a],o.real_owned=e.evolution[a]?e.evolution[a].count:0;break;case"planetary":u=m.city[a],o.real_owned=e.city[a]?e.city[a].count:0;break;case"space":u=m.space[s][a],o.real_owned=e.space[a]?e.space[a].count:0;break;case"starDock":u=m.starDock[a],o.real_owned=e.starDock[a]?e.starDock[a].count:0;break;case"interstellar":u=m.interstellar[s][a],o.real_owned=e.interstellar[a]?e.interstellar[a].count:0;break;case"intergalactic":u=m.galaxy[s][a],o.real_owned=e.galaxy[a]?e.galaxy[a].count:0;break;case"hell":u=m.portal[s][a],o.real_owned=e.portal[a]?e.portal[a].count:0;break;case"eden":u=m.eden[s][a],o.real_owned=e.eden[a]?e.eden[a].count:0;break;case"tauceti":u=m.tauceti[s][a],o.real_owned=e.tauceti[a]?e.tauceti[a].count:0;break}cr.count[i]&&cr.count[i][a]&&(o.real_owned=cr.count[i][a]);let p=function(){if(u.hasOwnProperty("effect")&&typeof u.effect!="string"){let w=$(".effect",`#${a}`);K(w);let k={isWiki:!0,count:o.owned-o.real_owned};wl[a]&&wl[a].forEach(function(M){switch(M){case"truepath":k[M]=n==="truepath";break}}),w.append(u.effect(k))}};p();let h=u.cost;h&&Object.keys(Ct(u)).forEach(function(w){l[w]={}});let d=function(){let w=!1;if(h){let k=Ct(u,o.owned-o.real_owned,o.extra);Object.keys(l).forEach(function(M){if(M==="Custom")l[M].vis=!0;else{let q=k[M]?k[M](o.owned-o.real_owned,o.extra):0;l[M].vis=q>0,l[M].cost=X(q,1)}w=w||l[M].vis})}o.costVis=w};d();let g=function(){let w=!1;if(h&&!c&&!(cr.excludeCreep[i]&&cr.excludeCreep[i].includes(a))&&i!=="prehistoric"){let k=cr.creepCalc[i]&&cr.creepCalc[i][a]?cr.creepCalc[i][a]:100,M=k-1,q=Ct(u,k,o.extra),P=Ct(u,M,o.extra);Object.keys(l).forEach(function(O){q[O]&&(l[O].creep=+(q[O](k,o.extra)/P[O](M,o.extra)).toFixed(5),l[O].creep===1?l[O].creep=t("wiki_calc_none"):l[O].creep<1.005&&(l[O].creep=1.005),w=w||l[O].vis)})}o.creepVis=w};(cr.include[i]&&cr.include[i].includes(a)||cr.exclude[i]&&!cr.exclude[i].includes(a))&&(g(),r.append($(`