 |
|  |
 |
|
MrBaggins
|
|
There are a few ways that, as a human player in CTP2 that you can figure out information that you shouldn't ordinarily have... that is...
1) Knowing "where" cities are
2) Knowing if an enemy city is defended
3) Knowing "where" enemy army/units are
The exploits are largely based around the pathing/attack display (will react "truthfully" to unseen/unknown influences,) and the behavior of right click on terrain where it contains an invisible and/or unseen unit.
I'd consider it a bug that you can gain information like this. Its a fairly major exploit.
I'd like to take it just one step forward, though...
I think that invisibility should be "improved" so that not only are the units "invisible" based on visibility classes but that they have a special feature... if movement moves over an "invisible" unit then it will be displaced (unless it doesn't have a valid square to move to.) If the original square becomes available again, then it will move back there.
This special condition should only last until
1) its seen by an enemy unit able to spot it, or,
2) it uses a special ability or action of any type (attacks, enslaves, etc)
We might wish to make disguised trade vessels that have special visibility classes, and limited cargo types... like being able to carry one unconventional unit, say...
Although they'd be good for spying/exploration too...
|
|
|  |
 |
|
child of Thor
|
|
Yes it would be a nice way to resolve the current problem(although to be honest i never usually remember to bother to use it!), i'm guessing that the invisible units movement away from being 'steped on' would be free?
Hmmm how would you do this not on that civs go?
Cant we just make invisible units stackable with other enemy units untill discovered?(and then it would appear next to the discovering unit, rather than under).
|
|
|  |
 |
|
MrBaggins
|
|
Yes, there wouldn't be a cost for the "avoidance" thats happening.
As for how to implement it "out of turn"... that remains to be seen.
As for making the invisible units stackable... that defeats the basic point. Its highly unlikely that a stack will get through, where an invisible unit cannot, versus the human player, which is what this is essentially for.
|
|
|  |
 |
|
Maquiladora
|
|
There is another bug with invisible units, the screen will center on the enemy unit (even if its invisible) when one moves through unfogged terrain.
|
|
|  |
 |
|
child of Thor
|
|
Interesting Maq...........does this happen when you play MP online as well? All this stuff will be important to try to resolve, especially in MP where 'cheats' can destroy a game.
Mr Baggins - with the enemy stackable invisible unit, i was just thinking of a way to make them truely invisible to the player - if you could just walk right over them you wouldn't know they were there, unless you used your own invisible unit to find them first.
I'm worried getting the invisible unit to move outside of its turn might be very difficult.........
|
|
|  |
 |
|
MrBaggins
|
|
I'm not understanding the point you're trying to make here (a way to make them truely invisible)... could you explain it situationally?
|
|
|  |
 |
|
MrBaggins
|
|
Right.. they can't be seen, and automatically avoid and hence can't be killed until they lose this status.
Since I'm suggesting they lose the property when they use any ability or get seen by a capable unit... its not like they gain too much power from this.
This should basically require players to invest a bit more in units that can spot these units.. rather than ignoring those and using military units instead essentially.
Last edited by MrBaggins on 30-12-2003 at 01:41
|
|
|  |
 |
|
MrBaggins
|
|
Regarding the actual bug, I'm just getting started on sorting it.
FWIW, from an initial glance, its got to do with just aborting the m_contextMenu instead of defaulting to showing a Map Info, when the unit is invalid because of invisibility. Its in (as all of the main interface functions are,) \CTP2_CODE\ui\interface\controlpanelwindow.cpp
EDIT:
It doesn't occur at the front end abstracted ui interface level, it seems... its further back in the basic AUI stuff.
Last edited by MrBaggins on 30-12-2003 at 21:55
|
|
|  |
 |
|
MrBaggins
|
|
Found, solved and (very quickly) tested.
The resolution is in SelItemClick.cpp, listed in UI/AUI_CTP2/Original in Visual Studio FileView.
Although its "Original" its apparently still in use...
The current behavior is to not show anything (including Map Info) for a context (right) click on tiles with enemy armies on. I've simply changed that to showing Map Info on a Enemy Army context click.
code:
void SelectedItem::EnemyArmyContextClick(const MapPoint &pos, const aui_MouseEvent *data, BOOL doubleClick)
{
// Context click on Enemy Army shows Map Info dialog instead of nothing, to avoid being able to detect
// 'invisible units' by the absence of Map Info when clicking on a square. Default was to do nothing
// on a context click on Enemy Army/Unit. We could also, if it was desired, only show Map Info if the
// unit was 'invisible'
//
// Bug Fix by MrBaggins - 20031230
if(g_player[GetVisiblePlayer()] && g_player[GetVisiblePlayer()]->IsExplored(pos)) {
helptile_displayData(pos); //Map Info Dialog
}
}
|
|
|  |
 |
|
MrBaggins
|
|
* MrBaggins smiles
Guess I should load the new package, huh?
I could have sworn I did... Oh well... *smiles*
You could have mentioned you'd fixed it in this thread, btw, which would have saved some duplication.
* MrBaggins chuckles some more
|
|
|  |
 |
|  |
All times are GMT. The time now is 05:32. Apolyton Time is 00:32. |
top of page
|
|
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|