tSome dodgy tipoff stuff tidied up - vaccinewars - be a doctor and try to vaccinate the world
(HTM) git clone git://src.adamsgaard.dk/vaccinewars
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit a5838517afa411ef67b1ab2b9e2b06388993b987
(DIR) parent 1ef350a163d338351723d2021d32cc4f2a6bd016
(HTM) Author: Ben Webb <ben@salilab.org>
Date: Thu, 3 May 2001 00:35:56 +0000
Some dodgy tipoff stuff tidied up
Diffstat:
M src/gtk_client.c | 2 ++
M src/serverside.c | 14 ++++++++++----
2 files changed, 12 insertions(+), 4 deletions(-)
---
(DIR) diff --git a/src/gtk_client.c b/src/gtk_client.c
t@@ -1291,6 +1291,8 @@ void DealDrugs(GtkWidget *widget,gpointer data) {
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
spin_adj=(GtkAdjustment *)gtk_adjustment_new(1.0,1.0,2.0,1.0,10.0,10.0);
spinner=DealDialog.amount=gtk_spin_button_new(spin_adj,1.0,0);
+ gtk_signal_connect(GTK_OBJECT(spinner),"activate",
+ GTK_SIGNAL_FUNC(DealOKCallback),data);
gtk_box_pack_start(GTK_BOX(hbox),spinner,FALSE,FALSE,0);
gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,FALSE,0);
(DIR) diff --git a/src/serverside.c b/src/serverside.c
t@@ -1335,7 +1335,9 @@ void SendEvent(Player *To) {
text=g_strdup_printf(_("AE^%s is already here!^"
"Do you Attack, or Evade?"),
GetPlayerName(Play));
+/* Steal this to keep track of the potential defender */
To->OnBehalfOf=Play;
+
SendDrugsHere(To,TRUE);
SendQuestion(NULL,C_MEETPLAYER,To,text);
g_free(text);
t@@ -2056,6 +2058,7 @@ void HandleAnswer(Player *From,Player *To,char *answer) {
/* intended for player "To". */
int i;
gchar *text;
+ Player *Defender;
if (!From || From->EventNum==E_NONE) return;
if (answer[0]=='Y' && From->EventNum==E_OFFOBJECT && From->Bitches.Price
&& From->Bitches.Price>From->Cash) answer[0]='N';
t@@ -2130,10 +2133,12 @@ void HandleAnswer(Player *From,Player *To,char *answer) {
} else if (From->EventNum==E_ARRIVE) {
if ((answer[0]=='A' || answer[0]=='T') &&
g_slist_find(FirstServer,(gpointer)From->OnBehalfOf)) {
- if (From->OnBehalfOf->IsAt==From->IsAt) {
+ Defender=From->OnBehalfOf;
+ From->OnBehalfOf=NULL; /* So we don't think it was a tipoff */
+ if (Defender->IsAt==From->IsAt) {
if (answer[0]=='A') {
- From->EventNum=From->OnBehalfOf->EventNum=E_NONE;
- AttackPlayer(From,From->OnBehalfOf);
+ From->EventNum=Defender->EventNum=E_NONE;
+ AttackPlayer(From,Defender);
/* } else if (answer[0]=='T') {
From->Flags |= TRADING;
SendPlayerData(From);
t@@ -2141,7 +2146,7 @@ void HandleAnswer(Player *From,Player *To,char *answer) {
}
} else {
text=g_strdup_printf(_("Too late - %s has just left!"),
- GetPlayerName(From->OnBehalfOf));
+ GetPlayerName(Defender));
SendPrintMessage(NULL,C_NONE,From,text);
g_free(text);
From->EventNum++; SendEvent(From);
t@@ -2149,6 +2154,7 @@ void HandleAnswer(Player *From,Player *To,char *answer) {
} else {
From->EventNum++; SendEvent(From);
}
+ From->OnBehalfOf=NULL;
} else switch(From->EventNum) {
case E_ROUGHPUB:
From->EventNum++;