From f24c5c48ec22ecaa0f1b47407d40c9eecc6de57f Mon Sep 17 00:00:00 2001 From: CondoSlime Date: Tue, 10 Dec 2024 20:22:08 +0100 Subject: [PATCH 1/4] Misc fixes Fixed omniscience, elesysianite miners and magisterium knowledge cap being affected by the high population penalty twice. Fixed Elemental fire affecting steel smelting Added tooltip to symposiums to indicate that they boost magisteriums. Fixed removing high population causing negative surveyor slots. Removed pompous affecting scientist omniscience production. --- src/main.js | 12 +++++------- src/space.js | 6 +++++- strings/strings.json | 1 + 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main.js b/src/main.js index 91011d8f82..fa6a449144 100644 --- a/src/main.js +++ b/src/main.js @@ -4226,7 +4226,6 @@ function fastLoop(){ let ghost_base = workerScale(global.civic.ghost_trapper.workers,'ghost_trapper'); ghost_base *= racialTrait(ghost_base,'science'); ghost_base *= global.race['pompous'] ? (1 - traits.pompous.vars()[0] / 100) : 1; - ghost_base = highPopAdjust(ghost_base); let ghost_gain = support_on['research_station'] * ghost_base * 0.0000325; breakdown.p['Omniscience'][loc('eden_research_station_title')] = ghost_gain + 'v'; @@ -4240,8 +4239,6 @@ function fastLoop(){ if (global.tech['science'] && global.tech.science >= 23){ let scientist = workerScale(global.civic.scientist.workers,'scientist'); scientist *= racialTrait(scientist,'science'); - scientist *= global.race['pompous'] ? (1 - traits.pompous.vars()[0] / 100) : 1; - scientist = highPopAdjust(scientist); let sci_gain = scientist * 0.000707; breakdown.p['Omniscience'][global.civic.scientist.name] = sci_gain + 'v'; @@ -4996,6 +4993,9 @@ function fastLoop(){ if (dirtVal){ steel_smelter *= 1 + (dirtVal / 100); } + if (global.race['elemental'] && traits.elemental.vars()[0] === 'fire'){ + steel_smelter *= 1 + highPopAdjust(traits.elemental.vars()[3] * global.resource[global.race.species].amount / 100); + } if (salFathom > 0){ steel_smelter *= 1 + (0.2 * salFathom); } @@ -6908,7 +6908,6 @@ function fastLoop(){ if (global.civic.elysium_miner.display){ let miner_base = workerScale(global.civic.elysium_miner.workers,'elysium_miner'); miner_base *= racialTrait(miner_base,'miner') * 0.36; - miner_base = highPopAdjust(miner_base); if (!global.race['living_tool'] && !global.race['tusk']){ miner_base *= (global.tech['pickaxe'] && global.tech.pickaxe > 0 ? global.tech.pickaxe * 0.15 : 0) + 1; @@ -7700,6 +7699,8 @@ function fastLoop(){ global.portal.carport.repair = 0; global.portal.carport.damaged--; } + //limit carport damage to account for removing high population + global.portal.carport.damaged = Math.min(global.portal.carport.damaged, jobScale(global.portal.carport.count)); } else { if ($('#portal-carport .count').hasClass('has-text-alert')){ @@ -9089,9 +9090,6 @@ function midLoop(){ if (global.tech['science'] && global.tech.science >= 22 && p_on['embassy'] && p_on['symposium']){ sci *= 1 + (p_on['symposium'] * piracy('gxy_gorddon')); } - if (global.race['high_pop']){ - sci = highPopAdjust(sci); - } let gain = support_on['research_station'] * highPopAdjust(global.civic.ghost_trapper.workers) * sci; caps['Knowledge'] += gain; breakdown.c.Knowledge[loc('eden_research_station_title')] = gain+'v'; diff --git a/src/space.js b/src/space.js index 70b5710067..6fc04d7087 100644 --- a/src/space.js +++ b/src/space.js @@ -5573,10 +5573,14 @@ const galaxyProjects = { effect(wiki){ let pirate = piracy('gxy_gorddon',false,false,wiki); let leave = ''; + let spirit_box = ''; if (global.tech.xeno >= 7){ leave = `
${loc('galaxy_symposium_effect3',[+highPopAdjust(300 * pirate).toFixed(2)])}
`; } - return `
${loc(`requires_res`,[loc('galaxy_embassy')])}
${loc('galaxy_symposium_effect',[(1750 * pirate).toFixed(0)])}
${loc('galaxy_symposium_effect2',[(650 * pirate).toFixed(0)])}
${leave}
${loc('minus_power',[$(this)[0].powered()])}
`; + if(global.tech.science >= 22){ + spirit_box = `
${loc('galaxy_symposium_effect4',[+(100 * pirate).toFixed(2), loc('eden_research_station_title')])}
`; + } + return `
${loc(`requires_res`,[loc('galaxy_embassy')])}
${loc('galaxy_symposium_effect',[(1750 * pirate).toFixed(0)])}
${loc('galaxy_symposium_effect2',[(650 * pirate).toFixed(0)])}
${leave}${spirit_box}
${loc('minus_power',[$(this)[0].powered()])}
`; }, powered(){ return powerCostMod(4); }, action(){ diff --git a/strings/strings.json b/strings/strings.json index 0741141183..8329230081 100644 --- a/strings/strings.json +++ b/strings/strings.json @@ -6876,6 +6876,7 @@ "galaxy_symposium_effect": "+%0 Max Knowledge per Dormitory", "galaxy_symposium_effect2": "+%0 Max Knowledge per active Galactic Trade Route", "galaxy_symposium_effect3": "+%0 Max Knowledge per crew stationed in system", + "galaxy_symposium_effect4": "+%0% %1 Max Knowledge", "galaxy_freighter": "Freighter", "galaxy_freighter_effect": "+%0 %1 Trade Routes", "galaxy_freighter_assign": "Assign a freighter to import %0 and export %1.", From cd0a34c114d6f6939cc929e004508adfe61a0a83 Mon Sep 17 00:00:00 2001 From: CondoSlime Date: Wed, 11 Dec 2024 00:04:09 +0100 Subject: [PATCH 2/4] Added blacklist to replicator Blacklist disallows governor from picking Asphodel powder and elysianite. --- src/governor.js | 6 +++++- src/industry.js | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/governor.js b/src/governor.js index 0d95571045..0b61660d78 100644 --- a/src/governor.js +++ b/src/governor.js @@ -1499,6 +1499,10 @@ export const gov_tasks = { } let rBal = false; + let blacklist = ['Asphodel_Powder', 'Elysanite']; + if(global.race['fasting']){ + blacklist.push('Food'); + } for (let idx = 0; global.race.governor.config.replicate.res.que && idx < global.queue.queue.length; idx++){ let struct = decodeStructId(global.queue.queue[idx].id); let tc = false; @@ -1512,7 +1516,7 @@ export const gov_tasks = { } let resSorted = Object.keys(tc.s).sort(function(a,b){return tc.s[b]-tc.s[a]}); for (let i=0; i${global.resource[res].name}`; } }); From ba5d4e50eac6fc1e66a93a5ccf3fdada9c3ecbde Mon Sep 17 00:00:00 2001 From: CondoSlime Date: Thu, 12 Dec 2024 18:01:21 +0100 Subject: [PATCH 3/4] Added pomous back to scientist omniscience --- src/main.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main.js b/src/main.js index fa6a449144..080caba1d1 100644 --- a/src/main.js +++ b/src/main.js @@ -4239,6 +4239,7 @@ function fastLoop(){ if (global.tech['science'] && global.tech.science >= 23){ let scientist = workerScale(global.civic.scientist.workers,'scientist'); scientist *= racialTrait(scientist,'science'); + scientist *= global.race['pompous'] ? (1 - traits.pompous.vars()[0] / 100) : 1; let sci_gain = scientist * 0.000707; breakdown.p['Omniscience'][global.civic.scientist.name] = sci_gain + 'v'; From 0ce831b3815bf727476ad5230f4b279b613aaf17 Mon Sep 17 00:00:00 2001 From: CondoSlime Date: Thu, 12 Dec 2024 22:25:57 +0100 Subject: [PATCH 4/4] Added tough to Elysanite miners Tough now affects Elysanite miners --- src/main.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main.js b/src/main.js index 080caba1d1..824f991dc9 100644 --- a/src/main.js +++ b/src/main.js @@ -6916,6 +6916,13 @@ function fastLoop(){ if (global.tech['explosives'] && global.tech.explosives >= 2){ miner_base *= 0.95 + (global.tech.explosives * 0.15); } + if (global.race['tough']){ + miner_base *= 1 + (traits.tough.vars()[0] / 100); + } + let ogreFathom = fathomCheck('ogre'); + if (ogreFathom > 0){ + miner_base *= 1 + (traits.tough.vars(1)[0] / 100 * ogreFathom); + } breakdown.p['Elysanite'][loc('job_elysium_miner')] = miner_base + 'v';