Make ice workable

Yes, but it's a lot more complex than you'd think. Ice is a Feature, and in the <Features> table, FEATURE_ICE has its <Impassable> flag set to True. Changing that to false, or creating a Worker unit that can move on impassable terrain, would allow you to move onto the Ice hex. Once there, you can take any valid worker actions.

The first problem is inherent to your question: you said "ice terrain". Ice is not a Terrain, it's a Feature, like Forests, Oases, or Fallout. Every hex has five variables (Plot type, Terrain type, Resource type, Improvement type, and Feature type), and only the first two are mandatory for every hex. So Ice can't share a hex with a Jungle or a Flood Plain, but it wouldn't actually stopping you from building an Improvement on that hex (unless it's an Improvement that requires a Feature-free hex, like the Farm). It'd screw up graphically since the game wouldn't have a valid art definition for the combination, so all you'd see is a blank hex, but mechanically it'd work. You could also clear the Ice, like you would with a Forest, assuming you added all of the necessary Build actions.

But there's an even worse problem: Ice is a Feature that is placed on water hexes, not land. And not even "water", really, since it can't be placed on Lakes; only Coast or Ocean tiles can have ice. So that "any valid worker actions" would mean any actions that a sea-based Worker unit, like a Work Boat, could perform in a non-Lake water hex lacking a resource. Since there are zero actions that meet that criteria, you wouldn't be able to do anything. With a lot of work you could add water-based counterparts to most of the land-based improvements, and make their build actions only work on hexes with Ice (similar to how the Lumbermill requires a Forest). So in theory you could place a Trading Post on ice if you really wanted to, but it'd have all sorts of issues (especially graphically).

Now, that's what it'd take to make Improvements on an Ice hex, but by "workable by citizens" you might just mean "work the tile if it's within a city's area". with no yield improvements possible. For that, the Impassable flag is enough; removing that flag would allow cities to work Ice tiles, at the normal pathetic yield rate for ocean/coast tiles with no resources. But, doing so has the obvious side effect of making the Ice hexes passable to all naval units... there'd literally be no point to having Ice in the game, since that's all it does. So you'd really just be better off modifying the AssignStartingPlots ice allocation to place no ice on the map at all. Although, technically you CAN simply increase the movement cost for Ice hexes, through the <Movement> variable; if you put that value up at, say, 10, then naval units would be able to move across ice, but at a rate of only 1 hex per turn. That might actually be enough to keep them effectively impassable.
 
We are discussing Ice walking as an additional part of the Inuit Unique ability if they are to be included as a playable civilization. You can read about it here on this thread dedicated to discussing the Inuit as a civilization - http://forums.civfanatics.com/showthread.php?t=448438
I have written up a post on what their Civilopedia page would look like, and discussing their leader.
 
Thanks Spatzimaus, so i need to make ice be passable and adjust a high move cost.
As Polar Bear said, we are making the Inuit civ.
Igloo building will provide +2 production on ice tiles.

p.s.: so, is it impossible to make land units be able to travel through ice tiles? (on feet, not embarked)
 
Thanks Spatzimaus, so i need to make ice be passable and adjust a high move cost.

Right. If you do that, then ice tiles should be workable (albeit with the same yield as a normal coast/ocean hex, barring your feature-boosting building), and naval units will be able to move through ice, albeit at the slow 1-hex-per-turn rate. I haven't actually tried this, but it should work.

One thing you'll want to do is give both Submarine units the "PROMOTION_IGNORE_TERRAIN_COST" ability, so that they can move under ice hexes at full speed (like they can in the vanilla game). Right now no naval units have that ability since no ocean/coast hexes cost more than 1 movement point, and subs use PROMOTION_CAN_MOVE_IMPASSABLE to move through ice, but with this change you'll be introducing a new element into the movement calculations. And they won't actually need the old can_move_impassable ability, since there will no longer be any impassable terrains for naval units (other than land, I mean, and you also need the Hovering Unit ability to override that one), but there's no harm in leaving them with that.

p.s.: so, is it impossible to make land units be able to travel through ice tiles? (on feet, not embarked)

More or less. You could, in theory, do this by giving them the "Hovering Unit" promotion to move over shallow water, like a helicopter does, and then use a Lua function to limit this effect only to Ice-covered hexes. But this'd have three downsides:
1> Those units couldn't embark easily if you wanted them to move to some other continent. (This MIGHT be able to be overridden through even more Lua, but I wouldn't want to try it. The embarkation trigger is notoriously flaky.)
2> The pathfinding logic would be awful. The AI MIGHT use ice to cut corners when moving from one land hex to another across a frozen inlet, but it probably wouldn't be able to do the Bering Strait thing of moving from one landmass to another, and it wouldn't think to move to offshore ice to prevent other civs' land units from attacking it.
3> Giving the units the hovering promotion would also allow them to move across mountains and lakes, unless you added yet another Lua override. (See a trend?) Technically you could get around this by adding a new promotion that combines the hovering effect with limitations in the UnitPromotion_Terrains and UnitPromotion_Features tables, both of which have an <Impassable> flag; you'd have to add entries for every non-ice possibility, but it could be done. There MIGHT be a way to do this to allow Ice movement without anything else by NOT pairing the hover effect with the CAN_MOVE_IMPASSABLE effect, but you'd have to test that one out.

None of these are insurmountable, but it'd just be really hard to pull off in a way that'd be useful within a game. And you'd get all sorts of silliness, like how naval units and your land units could stack on ice hexes, since the game allows one sea unit, one land combat unit, one land non-combat unit, and an unlimited number of air units to share a single hex. So you could have a tank and a worker sharing a hex with a battleship; you can already get that when they're within a city, but this'd happen out in the countryside where the city's defense value doesn't override all units.
 
Here is an SQL code to make ice passable, change Influence cost for it. It does not work :( At least ice remains impassable and its influence cost is very high so its hard to get ice into culture borders. Good news are - after building an Igloo, ice becomes workable. :goodjob:
Code:
UPDATE Features SET Impassable=false, Movement=10, InfluenceCost=0, SeeThrough=1 WHERE Type = "FEATURE_ICE";
I tried to make forest impassable with the same command or lower its influence cost but it does not work for the forest terrain type too! It seems these values are hardcoded somewhere in the game?

I also tried to make ice giving food (seals etc) but with no success
Code:
INSERT INTO Feature_YieldChanges (FeatureType, YieldType, Yield) VALUES ("FEATURE_ICE", "YIELD_FOOD", 1);
 
Back
Top Bottom