Closed Radost closed 7 years ago
@ilteroi, care to take point on this?
which "embarked movement points fix" are you referring to? and what would be the desired behavior?
Before the fix embarked movement transferred to the land, so a 2/2 unit could end up as 6/2 (and be able to fortify/heal on the same turn) if it disembarks on a city at the start of the turn while being on a coast tile. As for desired: 1) Ideally, embarked and land movement should count separately. So the water movement doesn't decrease land movement. 2) Embarking should consume 1 point of water movement while disembarking - 1 point of land movement. This way no unit will be able to fortify on the same turn.
Take note we are talking about Denmark UA and embarking/disembarking on a city tile, in all other cases these actions eat all movement.
i didn't do any recent changes regarding embarkation, so i'm confused.
i do remember however that it was tricky to handle these movement range changes in a halfway sane manner. i'll take a look but we need to be careful here.
It's not a recent change.
@ilteroi where did we end up with this?
I'll take this I know where the problem is.
Okay taking a look at this, I need more info from your description. Let's use a tank as an example. On Turn Start it has 5/5, when it embarks to water it'll be 4/6, but you think it should be 5/6 after its embark move?
How it works: How it should work to not waste embarked movement:
Okay, you're thinking what I thought you were. Man I dunno...that seems really strong. Let's see what @LoneGazebo and @ilteroi think. Is this what we want the UA to be?
It is as strong now if you use cavalry units though.
The problem is that the recent rewrite of the movement logic does not have a means of 'saving' unit moves as you move to embark/disembark. Correct me if I'm wrong, @ilteroi.
I don't think it's doable in the sense he wants. Because the unit goes through a convert state change when going from land to water or vice-versa. It's fine when going from water to land because you usually have surplus, but from land to water there's no surplus to add to it.
On the other hand, he's got the data moves cached, so if there is a way to subtract out its max moves in pToPlot->getDomain() from the cached move from pFromPlot->getDomain(), it might work.
int iMovesLeft = iStartMoves - iMovementCost;
where
iStartMoves = iBaseMovesInCurrentDomain*GC.getMOVE_DENOMINATOR();
like this, iStartMoves are fixed so it can never subtract out its one MP to move to water from maxmoves in water.
Interesting. Sounds like you've got a theory. I think it'd be fine (Denmark is far from OP) to make the change.
deleted my last comment cause it was incorrect. but anyway i don't see an easy way to implement this as desired. what could possibly work though is 3/3 -> 5/6 -> 1/3 -> 3/6
@ilteroi I think that's the best it's going to get.
And now that I think about it 3/3 -> 5/6 -> 1/3 -> 3/6 is actually consistent...it should NOT go 4/6, in my opinion, since you exhausted 1 MP going back to land, that seems a little unfair.
Knight, which is a generic unit, under the banner of Denmark fare better at pillaging than THE pillaging UU of Denmark by virtue of having 1 more movement point (and getting 1 more after upgrading to a tank, whereas UU loses 1 point on upgrade). To lesser extent it applies to all civs when city embarkation becomes available. It is a technical issue which affects the balance and makes "+x embarked movement" bonus a filler.
Okay, so here's the skinny on this. @ilteroi and I discussed pretty thoroughly the impact of changing these to meet what the OP wants. First, any workaround spent on making this work beyond a hack, isn't worth the time necessary to book keep possibly two different domain moves just for one civ. It might be achievable, but it has an associated risk behind it. Secondly, and most importantly, we have some misgivings and see some conceptual problems of handing out more moves to a unit, than what its starting domain movements are. If you start in land, then the amount of start moves should be based on land and so forth. As it was presented in the OP, a land unit adjacent to water and able to embark, could achieve the same amount of movement (or better) than their counterpart ship units, which seems absurd.
What exactly are "counterpart" ship units to embarked ships? Again, cavalry can abuse it at full potential right now. Both infantry and cavalry (or any land unit in that regard) embark into the same ship, but for some reason a ship with horses has better embarkation mobility than an infantry ship. I guess they use horses for rowing, hence more movement points.
Real ships I meant. It's consistent all the way around. Cavalry have more starting moves than infantry. The scenario you want, is artificial, it's pulling movement points out of thin air as if it started in another domain. I stand by what I said above.
If Denmark needs some help, please let's do something else.
@Radost, @Iamblichos isn't arguing against you from a 'what should be' perspective - he's arguing against you from a 'what is possible' perspective. Work with him and pivot.
UA doesn't interact very well with the embarkation movement points fix. I have maximum of 7 embarked movement points due to various bonuses. Embarking cuts to the maximum of the unit's points and disembarking cuts to the maximum of land movement, thus shaving off any "bonus" embarked points. All that leads to embarked movement bonuses being wasted most of the time, and in case of Denmark UA - to sub-optimal movement for land-water-land-water paths, unless you micromanage. But it's not the kind of micromanaging I find particularly interesting.