t"Sack Bitch" bug fixed - vaccinewars - be a doctor and try to vaccinate the wo… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit e694fa9cbc3214dbf38465474571e2d9209f7d23 | |
parent b640bc616c1036dcad85a2bf4a4be86ade2e30a8 | |
Author: Ben Webb <[email protected]> | |
Date: Sat, 2 Jun 2001 15:31:00 +0000 | |
"Sack Bitch" bug fixed | |
Diffstat: | |
M src/gtk_client.c | 9 +++++++++ | |
M src/serverside.c | 6 ++++-- | |
2 files changed, 13 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/src/gtk_client.c b/src/gtk_client.c | |
t@@ -1579,8 +1579,10 @@ static gint DrugSortFunc(GtkCList *clist,gconstpointer … | |
void UpdateMenus() { | |
gboolean MultiPlayer; | |
+ gint Bitches; | |
MultiPlayer = (FirstClient && FirstClient->next!=NULL); | |
+ Bitches = InGame && ClientData.Play ? ClientData.Play->Bitches.Carried : 0; | |
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu, | |
"<main>/Talk"),InGame && Network); | |
t@@ -1595,6 +1597,8 @@ void UpdateMenus() { | |
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu, | |
"<main>/Errands/Tipoff"),InGame && MultiPlayer); | |
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu, | |
+ "<main>/Errands/Sack Bitch"),Bitches>0); | |
+ gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu, | |
"<main>/Errands/Get spy reports"), | |
InGame && MultiPlayer); | |
} | |
t@@ -2661,6 +2665,9 @@ Names.Bitch,Names.Bitch,Names.Guns,Names.Drugs); | |
void SackBitch(GtkWidget *widget,gpointer data) { | |
char *title,*text; | |
+/* Cannot sack bitches if you don't have any! */ | |
+ if (ClientData.Play->Bitches.Carried<=0) return; | |
+ | |
/* Title of dialog to sack a bitch (%Tde = "Bitch" by default) */ | |
title=dpg_strdup_printf(_("Sack %Tde"),Names.Bitch); | |
t@@ -2671,6 +2678,8 @@ void SackBitch(GtkWidget *widget,gpointer data) { | |
Names.Drugs,Names.Bitch); | |
if (GtkMessageBox(ClientData.window,text,title,MB_YESNO)==IDYES) { | |
+ ClientData.Play->Bitches.Carried--; | |
+ UpdateMenus(); | |
SendClientMessage(ClientData.Play,C_NONE,C_SACKBITCH,NULL,NULL); | |
} | |
g_free(text); g_free(title); | |
diff --git a/src/serverside.c b/src/serverside.c | |
t@@ -413,8 +413,10 @@ void HandleServerMessage(gchar *buf,Player *Play) { | |
} | |
break; | |
case C_SACKBITCH: | |
- LoseBitch(Play,NULL,NULL); | |
- SendPlayerData(Play); | |
+ if (Play->Bitches.Carried>0) { | |
+ LoseBitch(Play,NULL,NULL); | |
+ SendPlayerData(Play); | |
+ } | |
break; | |
case C_MSG: | |
if (Network) g_message("%s: %s",GetPlayerName(Play),Data); |