I should note my very first disappointment regarding G+K was with the absence of a "Civ Up" style mod overhauling certain game mechanics.
I expected this too, since they included mods in Civ 4 expansion packs. I don't know why things were different this time. *shrugs*
@Volver
I think it would work for the Stone Circles pantheon to give something like +1
to Stonehenge. It's a small enough bonus that it would not affect most decision-making, but would provide aesthetic appeal.
@rf900
It might be best to add a "CityRange" integer attribute to the Buildings table, and use combinations of that with AllowsRangeStrike boolean to determine range strikes. This would let modders specify any range they wish, instead of hardcoding it to +1 range per building.
If I could ask just one core mod of you, it would be to figure out how to add the InstantBorderRadius building attribute as a c++ core mod. If you can do that, I can use the knowledge of how you accomplish it to make all the other building attributes as core mods.
A building with this attribute expands city borders to a ring of InstantBorderRadius size. The code in
CiVUP_Events.lua is simply:
Code:
local borderExpand = buildingInfo.InstantBorderRadius
if borderExpand ~= 0 then
for _, adjPlot in pairs(Plot_GetPlotsInCircle(plot, 1, borderExpand)) do
if adjPlot:GetOwner() == -1 then
adjPlot:SetOwner(playerID, city:GetID())
end
end
end
The InstantBorderRadius attribute is added to the Buildings table here:
Civup/1_Core_Roots/
CiVUP_Start.sql
Code:
ALTER TABLE Buildings ADD InstantBorderRadius integer default 0;
Plot_GetPlotsInCircle is here, a critical function used in dozens of places in the mod:
Civup/2_ModTools_Trunk/1_ClassMethods/
MT_Plot.lua
If you can turn just that one building attribute into a core c++ mod (and Plot_GetPlotsInCircle), the knowledge of how you did it would dramatically help the project. I could use the same approach to do all the other building attributes. The process would eventually eliminate most or all lag people experience playing this mod, since c++ is much faster than lua. It would also open up many possibilities which are only feasible with core modding. I really cannot over-emphasize how important that would be, if you can accomplish it!
I've been planning to figure this out, eventually, but had to focus on other priorities first.