Does it look like then there is a BUG between how CanBombard and Bombard work. I'm thinking Bombard should be coded like CanBombard instead of using the IsNextTo. As it is now ArmyData:BOmbard doesnt even check if it CanBombard, instead it checks if the unit "IsNextTo"
As far as an army with different bombard range. I think it calculates as a single army each unit that can bombard. So (hypothetically) a catapult of 1 doesnt bombard but only the cannons of 2 can. Atleast how the code looks.
should it be
As far as an army with different bombard range. I think it calculates as a single army each unit that can bombard. So (hypothetically) a catapult of 1 doesnt bombard but only the cannons of 2 can. Atleast how the code looks.
should it be
Code:
ORDER_RESULT ArmyData::Bombard(const MapPoint &orderPoint)
{
MapPoint point = orderPoint;
static CellUnitList defender;
defender.Clear();
g_theWorld->GetArmy(point, defender);
sint32 i;
BOOL isSpaceBombard = FALSE;
if(point == m_pos) {
return ORDER_RESULT_ILLEGAL;
} else {
if(!point.[b]CanBombard[/b](m_pos)) {
return ORDER_RESULT_ILLEGAL;
}
}
.
Comment