ID:154084
 
Okay, this is how the buildings are in my game currently:



B = building

BBBBBBBBB
BBB BBBB
BBB BBBB
BBBBBBBBB
BBBBBBBBB

BBB
BBBBBBB
BBBBBBB

BBBB BBBBB
BBBBBBBBBBBB
BBBBBBBBBBBB


Things like that..... I was thinking of doing it like this:



B= building
R= roof


BBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBB
BBBBRRRRRRRRRRRBBBB
BBBBRRRRRRRRRRRBBBB
BBBBRRRRRRRRRRRBBBB
BBBBRRRRRRRRRRRBBBB
BBBBBBBBBBBBBBBBBBBBB


But that just takes too much space...I would like wall crawlers to have a decent advantage, like watching from a roof or something, having roof climbing actually WORTH something... Any thoughts?
Why not just a small rooftop where a hero could say use his weather powers which used up higher have a larger effect.
You can borrow the heightsight effect from HRH... make the tops of buildings opaque, so that you can't see past a building... but make it so that anyone who's flying or on a roof can (SEE_MOBS|SEE_OBJS|SEE_TURFS), due to their aerial views. This way, someone can be perched on a roof and see the people below, but be out of sight to them.
You could define each roof as an area and in the Entered() proc, set a player's invisibility and see_invisible vars to the altitude of the roof area. When they exit the roof, reset them both to 0. People on high roofs could see everything below, but not a wall crawler perched on a higher roof. Reserve invisibility=100 for players using an invisibility power.

Slightly more complex, but better: You could increase a players see_invisible as they climb up the outside of a building, so they can see people on a roof of the same or lower altitude. Only set the invisibility when they enter the roof area. Entering a ground tile sets see_invisible = 0, entering a wall tile sets see_invisible = (number of wall tiles below this one) + 1
Here's yet another idea: when a player gets up atop a building, allow him to view faraway turfs by temporarily resetting client.eye and client.perspective.