From: Kenny G. <ken...@us...> - 2007-05-22 09:18:50
|
Update of /cvsroot/planeshift/planeshift/src/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23748/src/server Modified Files: exchangemanager.cpp progressionmanager.cpp usermanager.cpp Log Message: - Fixes for bugs 2709 and 2710 by Sasha Levin and myself. Thanks Sasha! Index: exchangemanager.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/exchangemanager.cpp,v retrieving revision 1.167 retrieving revision 1.168 diff -C2 -d -r1.167 -r1.168 *** exchangemanager.cpp 11 May 2007 05:38:16 -0000 1.167 --- exchangemanager.cpp 22 May 2007 09:18:49 -0000 1.168 *************** *** 87,90 **** --- 87,102 ---- } + // Ignore the answer if the invited client is busy with something else + if (invitedClient->GetActor()->GetMode() != PSCHARACTER_MODE_PEACE && invitedClient->GetActor()->GetMode() != PSCHARACTER_MODE_OVERWEIGHT) + { + csString err; + err.Format("You can't trade while %s.",invitedClient->GetCharacterData()->GetModeStr()); + psserver->SendSystemError(invitedClient->GetClientNum(), err); + + // Not telling the inviter what the invited client is doing... + psserver->SendSystemError(inviterClient->GetClientNum(), "%s is already busy with something else.", invitedCharFirstName); + return; + } + // Ignore the answer if the invited client is already in trade if (invitedClient->GetExchangeID()) Index: progressionmanager.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/progressionmanager.cpp,v retrieving revision 1.293 retrieving revision 1.294 diff -C2 -d -r1.293 -r1.294 *** progressionmanager.cpp 19 May 2007 17:43:02 -0000 1.293 --- progressionmanager.cpp 22 May 2007 09:18:49 -0000 1.294 *************** *** 3695,3699 **** } ! Debug2(LOG_SKILLXP, client->GetClientNum()," PP available: %d\n", character->GetProgressionPoints() ); --- 3695,3705 ---- } ! if (character->GetMode() != PSCHARACTER_MODE_PEACE) ! { ! csString err; ! err.Format("You can't train while %s.", character->GetModeStr()); ! psserver->SendSystemError(client->GetClientNum(), err); ! return; ! } Debug2(LOG_SKILLXP, client->GetClientNum()," PP available: %d\n", character->GetProgressionPoints() ); Index: usermanager.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/usermanager.cpp,v retrieving revision 1.310 retrieving revision 1.311 diff -C2 -d -r1.310 -r1.311 *** usermanager.cpp 19 May 2007 22:32:23 -0000 1.310 --- usermanager.cpp 22 May 2007 09:18:49 -0000 1.311 *************** *** 1682,1685 **** --- 1682,1693 ---- } + if (client->GetActor()->GetMode() != PSCHARACTER_MODE_PEACE) + { + csString err; + err.Format("You can't train while %s.", client->GetCharacterData()->GetModeStr()); + psserver->SendSystemInfo(client->GetClientNum(), err); + return; + } + psCharacter * trainer = target->GetCharacterData(); if (!trainer->IsTrainer()) |