Guynemer
King
- Joined
- Feb 20, 2002
- Messages
- 887
Heh... 43 was after 42, which was actually 41.1. Then AE swooped in and fixed the numbering. So 42 is right, because I had to patch out some issues with 41, which threw off the numbering
One, two, FIVE!
Heh... 43 was after 42, which was actually 41.1. Then AE swooped in and fixed the numbering. So 42 is right, because I had to patch out some issues with 41, which threw off the numbering
makes sense. If you delete a building via lua that had a citizen working it, you delete the citizen. We’re going to have to create some sort of workaround. The easiest thing might be to either force assign all citizens to tiles, or force assign all citizens in the city as labourers before the guilds are deleted.I had a problem with the Japan Kabuki Theater.
When this building finished, my existing guilds were upgraded, but the specialists that were already assigned to these guilds were lost.
I tested it three times in different cities and this happened every time.
I would for example have a city of 14 population, but can only assign 10 workers to tiles and specialists slots; the 4 pop that were assigned to existing guilds were gone.
I tried:
- restarting the game
- reassigning workers to the new guilds and unassigning them
- resetting the city to let the AI assign all workers
3
stronger than a normal galleass, while the other is 3
3
weaker than a normal galleass, but costs no maintenance and is much cheaper to build![]()
Finally done with the Steam Mill code. Debugging took a while.
The code will be incorporated in the next VP version, but I'll put my DLL and SQL here so you can do some testing and release the next version sooner. Use version 2-17-3 of VP.
You should replace all references of VICTORIA_STEAM_MILL to STEAM_MILL. I'm purposely making my Steam Mill have a different type/string reference from the 3/4UC one.
Currently it grants 10% of the progress to the next Great Engineer when a building is constructed, and gives +2 Production to engineers.
SQL:
Code:--========================================================================================================================== -- BUILDINGS --========================================================================================================================== -- Buildings -------------------------------- INSERT INTO Buildings (Type, BuildingClass, Cost, GoldMaintenance, ArtDefineTag, SpecialistType, TradeRouteTargetBonus, TradeRouteRecipientBonus, MinAreaSize, ConquestProb, HurryCostModifier) SELECT 'BUILDING_VICTORIA_STEAM_MILL', BuildingClass, Cost, GoldMaintenance, ArtDefineTag, SpecialistType, TradeRouteTargetBonus, TradeRouteRecipientBonus, MinAreaSize, ConquestProb, HurryCostModifier FROM Buildings WHERE Type = 'BUILDING_FACTORY'; UPDATE Buildings SET Cost = 1000, GoldMaintenance = 6 WHERE Type = 'BUILDING_VICTORIA_STEAM_MILL'; UPDATE Buildings SET PrereqTech = 'TECH_STEAM_POWER' WHERE Type = 'BUILDING_VICTORIA_STEAM_MILL'; UPDATE Buildings SET Help = 'TXT_KEY_BUILDING_VICTORIA_STEAM_MILL_HELP', Description = 'TXT_KEY_BUILDING_VICTORIA_STEAM_MILL', Civilopedia = 'TXT_KEY_CIV5_BUILDINGS_VICTORIA_STEAM_MILL_TEXT', Strategy = 'TXT_KEY_BUILDING_VICTORIA_STEAM_MILL_STRATEGY' WHERE Type = 'BUILDING_VICTORIA_STEAM_MILL'; UPDATE Buildings SET SpecialistCount = 2 WHERE Type = 'BUILDING_VICTORIA_STEAM_MILL'; --UPDATE Buildings SET TradeRouteTargetBonus = 3, TradeRouteRecipientBonus = 3 WHERE Type = 'BUILDING_VICTORIA_STEAM_MILL'; UPDATE Buildings SET IconAtlas = 'COMMUNITY_ATLAS', PortraitIndex = 36 WHERE Type = 'BUILDING_VICTORIA_STEAM_MILL'; -------------------------------- -- Building_ImprovementYieldChanges -------------------------------- INSERT INTO Building_ImprovementYieldChanges (BuildingType, ImprovementType, YieldType, Yield) SELECT 'BUILDING_VICTORIA_STEAM_MILL', ImprovementType, YieldType, Yield+2 FROM Building_ImprovementYieldChanges WHERE BuildingType = 'BUILDING_FACTORY'; -------------------------------- -- Building_YieldChanges -------------------------------- INSERT INTO Building_YieldChanges (BuildingType, YieldType, Yield) SELECT 'BUILDING_VICTORIA_STEAM_MILL', YieldType, Yield FROM Building_YieldChanges WHERE BuildingType = 'BUILDING_FACTORY'; -------------------------------- -- Building_Flavors -------------------------------- INSERT INTO Building_Flavors (BuildingType, FlavorType, Flavor) SELECT 'BUILDING_VICTORIA_STEAM_MILL', FlavorType, Flavor+5 FROM Building_Flavors WHERE BuildingType = 'BUILDING_FACTORY'; -------------------------------- -- Building_ClassesNeededInCity -------------------------------- INSERT INTO Building_ClassesNeededInCity (BuildingType, BuildingClassType) SELECT 'BUILDING_VICTORIA_STEAM_MILL', BuildingClassType FROM Building_ClassesNeededInCity WHERE BuildingType = 'BUILDING_FACTORY'; -------------------------------- -- Building_YieldChangesPerPop -------------------------------- INSERT INTO Building_YieldChangesPerPop (BuildingType, YieldType, Yield) SELECT 'BUILDING_VICTORIA_STEAM_MILL', YieldType, 50 FROM Building_YieldChangesPerPop WHERE BuildingType = 'BUILDING_FACTORY'; -------------------------------- -- Building_ResourceYieldChanges -------------------------------- INSERT INTO Building_ResourceYieldChanges (BuildingType, ResourceType, YieldType, Yield) VALUES ('BUILDING_VICTORIA_STEAM_MILL', 'RESOURCE_COAL', 'YIELD_PRODUCTION', 3); -------------------------------- -- Building_GreatPersonProgressFromConstruction -------------------------------- INSERT INTO Building_GreatPersonProgressFromConstruction (BuildingType, GreatPersonType, EraType, Value) VALUES ('BUILDING_VICTORIA_STEAM_MILL', 'GREATPERSON_ENGINEER', 'ERA_INDUSTRIAL', 10); -------------------------------- -- Building_SpecialistYieldChangesLocal -------------------------------- INSERT INTO Building_SpecialistYieldChangesLocal (BuildingType, SpecialistType, YieldType, Yield) VALUES ('BUILDING_VICTORIA_STEAM_MILL', 'SPECIALIST_ENGINEER', 'YIELD_PRODUCTION', 2);
Strings:
Code:<Row Tag="TXT_KEY_BUILDING_VICTORIA_STEAM_MILL"> <Text>Steam Mill</Text> </Row> <Row Tag="TXT_KEY_CIV5_BUILDINGS_VICTORIA_STEAM_MILL_TEXT"> <Text>Stationary steam engines are fixed steam engines used for pumping or driving mills and factories, and for power generation. They are distinct from locomotive engines used on railways, traction engines for heavy steam haulage on roads, steam cars (and other motor vehicles), agricultural engines used for ploughing or threshing, marine engines, and the steam turbines used as the mechanism of power generation for most nuclear power plants. They were introduced during the 18th century and widely made for the whole of the 19th century and most of the first half of the 20th century, only declining as electricity supply and the internal combustion engine became more widespread.</Text> </Row> <Row Tag="TXT_KEY_BUILDING_VICTORIA_STEAM_MILL_HELP"> <Text>+1 [ICON_PRODUCTION] Production for every 2 [ICON_CITIZEN] Citizens in the City. Manufactories worked by the City gain +4 [ICON_PRODUCTION] Production.[NEWLINE][NEWLINE]Gain 10% of the progress towards the next [ICON_GREAT_ENGINEER] Great Engineer in the City when constructing buildings which are Industrial Era or later.[NEWLINE][NEWLINE]+2 [ICON_PRODUCTION] Production to Engineer Specialists.[NEWLINE][NEWLINE]Nearby [ICON_RES_COAL] Coal: +3 [ICON_PRODUCTION] Production.</Text> </Row> <Row Tag="TXT_KEY_BUILDING_VICTORIA_STEAM_MILL_STRATEGY"> <Text>Unique British replacement for the Factory. The Steam Mill is cheaper, requires no [ICON_RES_COAL] Coal, is available earlier than the Factory, and provides additional Production to [ICON_RES_COAL] Coal worked by the City. The Steam Mill also provides [ICON_GREAT_ENGINEER] Great Engineer points when constructing buildings, while increasing the [ICON_PRODUCTION] Production of Engineer specialists. Since Steam Mills do not require Coal, you can use your Coal surplus to build Seaports and Coal Plants, or you can trade it away for a large amount of gold.</Text> </Row>
You'll need to replace a few VP files. You should make a backup and keep it until the next version, but leaving the files after pasting should be fine too. Download from Mediafire.
- CvGameCore_Expansion2.dll: ...\MODS\(1) Community Patch
- UnifiedYields.xml: ...\MODS\(1) Community Patch\Core Files\PNM Mods DB\API
- CityView.lua: ...\MODS\(6a) Community Balance Overhaul - Compatibility Files (EUI)\LUA
(same as base factory)
to Engineers to +1
to Engineers, Merchants, and Scientists.
if you build a Manufactory on a coal deposit. That tile is worth ~24-29
by itself, depending on if you went Rationalism; it's a bit too much stacking. A combined +5
is plenty
to TRs. I don't really care, but I've left it in for now. Your code contains the boost, but your text does not.
Question : do late era buildings that are given for free still proc the 10% Engineer? Like, I get free Airports from Autocracy, or free Hospitals from Freedom, do I get 10% Engie if a Steam Mill is present?
Hmm, looks like I missed quite a few things. Don't release things before testing guys.
In the DLL, it is triggered at the same time as the yields from constructing buildings. So, does it trigger the Progress or Broadway bonus?
RE: the specialist bonus, I thought about doing it the way you mentioned, but didn't because Roosevelt's Assembly Plant is also a factory replacement which had a +1 yield to Engineers, Merchants, Scientists.
RE: the manufactory bonus, I don't think +2 on top of whatever yield which is already there makes a huge difference.
@HungryForFood, how about this?
- Reduce the manufactory boost to +2(same as base factory)
- Change the +2to Engineers to +1
to Engineers, Merchants, and Scientists.
It's a bit similar to the Satraps Court, but it adds that desired merchant/scientist flavor which is historically relevant.
I'm not a huge fan of how you can use the Steam Mill to get +7if you build a Manufactory on a coal deposit. That tile is worth ~24-29
by itself, depending on if you went Rationalism; it's a bit too much stacking. A combined +5
is plenty
I'll follow your lead as to whether you choose to include/reject the +3to TRs. I don't really care, but I've left it in for now. Your code contains the boost, but your text does not.
to Manufactories is a good compliment to to the GE
on Industrial and later Buildings: powerful and worth waiting for.Not releasing anything until a new VP is pushed. No point in testing these changes until I can confirm that the changes you made to CPP are integrated correctly.Hmm, looks like I missed quite a few things. Don't release things before testing guys.![]()
function OnConstructionUpgradeGuilds(iPlayer, iCity, iBuilding)
local pPlayer = Players[iPlayer]
if not (pPlayer and pPlayer:GetCivilizationType() == eCivilizationJapan) then return end
if iBuilding ~= eBuildingKabuki then return end
local pCity = pPlayer:GetCityByID(iCity)
pCity:SetNumRealBuilding(ePopDummy, pCity:GetPopulation())
if pCity:IsHasBuilding(eBuildingWritersGuild) then
pCity:SetPopulation(0, true)
pCity:SetNumRealBuilding(eBuildingWritersGuild, 0)
pCity:SetNumRealBuilding(eBuildingMonogatari, 1)
end
if pCity:IsHasBuilding(eBuildingArtistsGuild) then
pCity:SetPopulation(0, true)
pCity:SetNumRealBuilding(eBuildingArtistsGuild, 0)
pCity:SetNumRealBuilding(eBuildingUkiyoe, 1)
end
if pCity:IsHasBuilding(eBuildingMusiciansGuild) then
pCity:SetPopulation(0, true)
pCity:SetNumRealBuilding(eBuildingMusiciansGuild, 0)
pCity:SetNumRealBuilding(eBuildingGagaku, 1)
end
pCity:SetPopulation(pCity:GetNumRealBuilding(ePopDummy), true)
pCity:SetNumRealBuilding(ePopDummy, 0)
NotificationLoad(0, pPlayer, pCity)
end
on Groves. I did not check if the
from Progress or the
from Aqueducts were triggered, but if Groves and Authority don't trigger then hopefully those two won't either.Oh. I didn't know that.Normally Naval Units can't get Splash Damage II. So adding Splash II would mean Greek Fire would need a nerf in exchange.