Height

WarKirby

Arty person
Joined
Jul 13, 2006
Messages
5,317
Location
Glasgow, Scotland
Also, I have a few questions, about something that's confusing me.

When a unit stands on a hill, it can see farther. This is obvious and logical. however, it can also see HIGHER. Because of the high vantage point, it can see over things. Forests on surrounding flat lands can be seen through to a degree, where a visibility boost from a flatland tile would not allow the same.

The effect is even moreso with mountains. A unit standing on a peak can see for miles, regardless of what hills or forests are around.

These things are also logical, but there's a lot of inconsistency in other areas. For example, Hill giants, or Auric Ascended. Both have a visibly higher vantage point to see things from, but they have the same viewing capabilities as any other unit in terms of height. Despite being able to fly, Auric cannot see over a hill unless he's hovering directly on another hill.

Another oddity, is that hawks can see farther from a mountaintop. This is pretty silly, because they're flying. They should give the same massive visibility wherever they're sent. Also, Volcanoes don't have this massive visibility, making them unnecessarily annoying.

Is there any way to control this mechanic? Any way to make a unit "taller" so that it can see over things? How is it done with the terrain?
 
I've been looking at changes along those lines. They are a bit tricky, but I almost have a decent framework sorted out mentally to allow promotions to change your personal vision height, AND to change the vision modification of certain terrains/features (ie - Dwarves can see through hills without issue, elves through trees without issue, and Malakim see farther through the desert instead of using a promotion granted by being IN the desert to see farther even if that sight is across the water)


But to directly answer: It's a PITA to modify and I doubt many people would bother with figuring out how to make it work. Tiles have their own vision range, and they don't bother to ask what unit is there, so you have to shift the emphasis off the tile and onto the unit instead.
 
Huh? Why not go to the code where vision is done (look for where the game checks for sentry) and rather than make it additive, make it choose the best one.

Edit: In CvUnit.cpp

Code:
int iRange = GC.getDefineINT("UNIT_VISIBILITY_RANGE");
    iRange += getExtraVisibilityRange();

if (plot() != NULL && plot()->getImprovementType() != NO_IMPROVEMENT)
iRange += GC.getImprovementInfo((ImprovementTypes)plot()->getImprovementType()).getVisibilityChange();

Only the relevant bits.

Change the second iRange to iRangeTemp and compare it for a greater or equal value of iRange.

Then change function willRevealByMove(const CvPlot* pPlot) to check the unit's height.

This might need an extra promotion to denote a unit as being tall.
 
You could try going that way, but to accomplish what I would like to do, it is neccessary to manipulate CvPlot::seeThroughLevel(), which leads you into CvPlot::canSeeDisplacementPlot(...). THAT is where I see there to be complications that most people wouldn't care to play around with.
 
These things are also logical, but there's a lot of inconsistency in other areas. For example, Hill giants, or Auric Ascended. Both have a visibly higher vantage point to see things from, but they have the same viewing capabilities as any other unit in terms of height. Despite being able to fly, Auric cannot see over a hill unless he's hovering directly on another hill.

Excepting possibly birds (including griffins), the argument could be made that creatures with 'flying' aren't really flying so much as hovering between a dozen and a hundred meters over solid ground. This is by no means guaranteed to be higher than a hill, or possibly even medium growth forests. Possibly, if the difference between a flat plain and a hill is particularly drastic, even birds are not guaranteed to be flying high enough to see much beyond the hill.
 
You could try going that way, but to accomplish what I would like to do, it is neccessary to manipulate CvPlot::seeThroughLevel(), which leads you into CvPlot::canSeeDisplacementPlot(...). THAT is where I see there to be complications that most people wouldn't care to play around with.

Oh, looks like it's mostly a matter of CvPlot::canSeePlot(...), not what I had thought. From here you can bypass the other code with a promotion (for giants, flying units).

If I was bored enough I might tackle the problem just for fun, but I don't think it's a big concern (and as another poster said, height might not allow giants to look through mountains).
 
Another oddity, is that hawks can see farther from a mountaintop. This is pretty silly, because they're flying. They should give the same massive visibility wherever they're sent. Also, Volcanoes don't have this massive visibility, making them unnecessarily annoying.

Why is this odd?
If he is flying over plains or a hill, he might fly low but if he flies over a huge mountain he is forced to be realy high.
 
But it is an animal. And in the end it is as lazy as any other beast around. It will only fly high if forced to. Althou I can see your point.
 
Heh a volcano exploded in my game last night and it reminded me of this thread. Stupid volcano :crazyeye:
 
Technically, can a Hawk actually fly over Mt Everest. Or is that more of the domain of Eagle's. I'd have a scouting Eagle over a Hawk any day; maybe even a Condor!

Maybe Hawk's can scout over hill's, but Eagle's (Doviello swear by them) can scout over impassable mountain's?

The main issue that get's me: how does the bird translate what tile's it has seen over that mountain range to it's handler?

"Tweet, tweet, tweet, screech"....... translates into trees, trees, trees, swamp! :D
 
Yeah i'd have to agree in a fantasy setting the hunters are probably the equivalent of rangers in D&D and the hawk is one of their animal companions.
 
Telepathy, of course.

What do you think that "feral bond" is all about?

A Hawk at Hunting can do recon out of an empty city if it wishes, with no handler whatsoever. This is long before Animal Handling, Feral Bond or even Commune with Nature (if it counted). At this early point, in this situation, who are the Hawk's translating their vision of the land to.....

So should Hawk's (animal companion's) only be able to do recon once 'attached' to a Hunter etc. who can receive their telepathy and translate it?
 
Obviously all the Recon units in Erebus have not only seen Beastmaster, but they have learned his secrets. Though none of them can find a pair of ferrets so far...

They are mentioned in the pedia entry, iirc.
 
A Hawk at Hunting can do recon out of an empty city if it wishes, with no handler whatsoever. This is long before Animal Handling, Feral Bond or even Commune with Nature (if it counted). At this early point, in this situation, who are the Hawk's translating their vision of the land to.....

So should Hawk's (animal companion's) only be able to do recon once 'attached' to a Hunter etc. who can receive their telepathy and translate it?

Well, they're obviously just telepathically communicating over long range, to hunters in another city. the ones residing in the hunting lodge you surely must have built.

Or, better still, they just send their brain images directly to you, the leader.
 
Well, they're obviously just telepathically communicating over long range, to hunters in another city. the ones residing in the hunting lodge you surely must have built.

Or, better still, they just send their brain images directly to you, the leader.

Or...everyone has that ability, it is just the recon unit guys who are crazy enough to go out into the skeleton infested, orc stomping grounds known as Erebus at large...and carry a big glove so the hawk can perch on their hand.
 
Back
Top Bottom