Hegemony III: Clash of the Ancients

Hegemony III: Clash of the Ancients

CW10.2
BugfixInitialPostLoadInit.lua
SGZ, you can replace the contents of your BugfixInitialPostLoadInit.lua file with the following:

--------------------------------------------------------------------------------------------------

delaydays(2);

--[[

getentity(15530624):setattribute("supplyradius", -1, "mult"); --Jutjefjord
getentity(11899184):setattribute("supplyradius", -1, "mult"); --Kobenhaven
getentity(9917504):setattribute("supplyradius", -1, "mult"); --Suomikaupunki
getentity(9621872):setattribute("supplyradius", -1, "mult"); --Vlad
getentity(13546306):setattribute("supplyradius", -1, "mult"); --Odense
getentity(9952784):setattribute("supplyradius", -1, "mult"); --Liepaja
getentity(14768544):setattribute("supplyradius", -1, "mult"); --Xiang
getentity(10598656):setattribute("supplyradius", -1, "mult"); --Eidyn
getentity(4392480):setattribute("supplyradius", -1, "mult"); --Glaschu
getentity(3482944):setattribute("supplyradius", -1, "mult"); --Islay


15530624--Jutjefjord
11899184--Kobenhaven
9917504--Suomikaupunki
9621872--Vlad
13546306--Odense
9952784--Liepaja
14768544--Xiang
10598656--Eidyn
4392480--Glaschu
3482944--Islay

--]]

if global.quests.CW_PostLoadInit == nil then
global.quests.CW_PostLoadInit = {};
end;

if global.quests.CW_PostLoadInit.Bugfix ~= true then

global.quests.CW_PostLoadInit.Bugfix = true;

local function hasvalue(table, searchvalue)
for index, value in ipairs(table) do
if value == searchvalue then
return true;
end;
end;

return false;
end;


local relevant_cities = {15530624, 11899184, 9917504, 9621872, 13546306, 9952784, 14768544, 10598656, 4392480, 3482944};
local city;

repeat

city = sleepuntil("growcity");

if gettimegamedays() > 1 and (getmetatable(city).__class == "LongbowGames.City") and hasvalue(relevant_cities, city:getid()) then

local factionskill = city:getfaction():getattribute("supplyradius");

delay(100);

if city:getpop() == 1 then
city:setattribute("supplyradius", -0.1 - factionskill, "mult");
elseif city:getpop() == 2 then
city:setattribute("supplyradius", -0.16 - factionskill, "mult");
elseif city:getpop() == 3 then
city:setattribute("supplyradius", -0.23 - factionskill, "mult");
elseif city:getpop() == 4 then
city:setattribute("supplyradius", -0.28 - factionskill, "mult");
elseif city:getpop() == 5 then
city:setattribute("supplyradius", -0.33 - factionskill, "mult");
elseif city:getpop() == 6 then
city:setattribute("supplyradius", -0.38 - factionskill, "mult");
elseif city:getpop() == 7 then
city:setattribute("supplyradius", -0.41 - factionskill, "mult");
elseif city:getpop() == 8 then
city:setattribute("supplyradius", -0.44 - factionskill, "mult");
elseif city:getpop() == 9 then
city:setattribute("supplyradius", -0.47 - factionskill, "mult");
elseif city:getpop() == 10 then
city:setattribute("supplyradius", -0.5 - factionskill, "mult");
elseif city:getpop() == 11 then
city:setattribute("supplyradius", -0.52 - factionskill, "mult");
end;

end;

until false;

end;