Fix #4456: Sidebar abilities display leaks shrouded information
Re-PR of #4462
This commit is contained in:
parent
ea3fba39bc
commit
90a53be98f
1 changed files with 7 additions and 2 deletions
|
@ -444,9 +444,12 @@ static config unit_abilities(const unit* u, const map_location& loc)
|
|||
REPORT_GENERATOR(unit_abilities, rc)
|
||||
{
|
||||
const unit *u = get_visible_unit(rc);
|
||||
const team &viewing_team = rc.teams()[rc.screen().viewing_team()];
|
||||
const map_location& mouseover_hex = rc.screen().mouseover_hex();
|
||||
const map_location& displayed_unit_hex = rc.screen().displayed_unit_hex();
|
||||
const map_location& hex = (mouseover_hex.valid() && !viewing_team.shrouded(mouseover_hex)) ? mouseover_hex : displayed_unit_hex;
|
||||
|
||||
return unit_abilities(u, mouseover_hex);
|
||||
return unit_abilities(u, hex);
|
||||
}
|
||||
REPORT_GENERATOR(selected_unit_abilities, rc)
|
||||
{
|
||||
|
@ -454,7 +457,9 @@ REPORT_GENERATOR(selected_unit_abilities, rc)
|
|||
|
||||
const map_location& mouseover_hex = rc.screen().mouseover_hex();
|
||||
const unit *visible_unit = get_visible_unit(rc);
|
||||
if(visible_unit && u && visible_unit->id() != u->id() && mouseover_hex.valid())
|
||||
const team &viewing_team = rc.teams()[rc.screen().viewing_team()];
|
||||
|
||||
if (visible_unit && u && visible_unit->id() != u->id() && mouseover_hex.valid() && !viewing_team.shrouded(mouseover_hex))
|
||||
return unit_abilities(u, mouseover_hex);
|
||||
else
|
||||
return unit_abilities(u, u->get_location());
|
||||
|
|
Loading…
Add table
Reference in a new issue