Basic Protection against sending commands for others

This commit is contained in:
wizzard 2004-01-30 01:47:48 +00:00
parent 9fd3664d9d
commit 561901a3ae
2 changed files with 13 additions and 6 deletions

View file

@ -852,8 +852,10 @@ global void DoButtonButtonClicked(int button)
}
//
// Button not available.
// or Not Teamed
//
if (CurrentButtons[button].Pos == -1) {
if (CurrentButtons[button].Pos == -1 ||
!PlayersTeamed(ThisPlayer->Player, Selected[0]->Player->Player)) {
return;
}

View file

@ -1574,7 +1574,8 @@ global void UIHandleButtonDown(unsigned button)
// clicked on training button
//
} else if (ButtonAreaUnderCursor == ButtonAreaTraining) {
if (!GameObserve && !GamePaused) {
if (!GameObserve && !GamePaused &&
PlayersTeamed(ThisPlayer->Player, Selected[0]->Player->Player)) {
if (ButtonUnderCursor < Selected[0]->Data.Train.Count) {
DebugLevel0Fn("Cancel slot %d %s\n" _C_
ButtonUnderCursor _C_
@ -1588,7 +1589,8 @@ global void UIHandleButtonDown(unsigned button)
// clicked on upgrading button
//
} else if (ButtonAreaUnderCursor == ButtonAreaUpgrading) {
if (!GameObserve && !GamePaused) {
if (!GameObserve && !GamePaused &&
PlayersTeamed(ThisPlayer->Player, Selected[0]->Player->Player)) {
if (ButtonUnderCursor == 0 && NumSelected == 1) {
DebugLevel0Fn("Cancel upgrade %s\n" _C_
Selected[0]->Type->Ident);
@ -1599,7 +1601,8 @@ global void UIHandleButtonDown(unsigned button)
// clicked on researching button
//
} else if (ButtonAreaUnderCursor == ButtonAreaResearching) {
if (!GameObserve && !GamePaused) {
if (!GameObserve && !GamePaused &&
PlayersTeamed(ThisPlayer->Player, Selected[0]->Player->Player)) {
if (ButtonUnderCursor == 0 && NumSelected == 1) {
DebugLevel0Fn("Cancel research %s\n" _C_
Selected[0]->Type->Ident);
@ -1613,7 +1616,8 @@ global void UIHandleButtonDown(unsigned button)
//
// for transporter
//
if (!GameObserve && !GamePaused) {
if (!GameObserve && !GamePaused &&
PlayersTeamed(ThisPlayer->Player, Selected[0]->Player->Player)) {
if (Selected[0]->InsideCount >= ButtonUnderCursor) {
// FIXME: should check if valid here.
// n0b0dy: check WHAT?
@ -1627,7 +1631,8 @@ global void UIHandleButtonDown(unsigned button)
}
}
} else if (ButtonAreaUnderCursor == ButtonAreaButton) {
if (!GameObserve && !GamePaused) {
if (!GameObserve && !GamePaused &&
PlayersTeamed(ThisPlayer->Player, Selected[0]->Player->Player)) {
DoButtonButtonClicked(ButtonUnderCursor);
}
}