tSetting NumCop to zero now just disables attacks by the cops, rather than cras… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 8489be5297890ee645af9829744b84dc55b9223d | |
parent 4577540421b0c3d0f7ea532262e342c43daf74d9 | |
Author: Ben Webb <[email protected]> | |
Date: Sat, 6 Apr 2002 19:52:23 +0000 | |
Setting NumCop to zero now just disables attacks by the cops, rather than | |
crashing the program. | |
Diffstat: | |
M doc/configfile.html | 3 ++- | |
M src/serverside.c | 24 ++++++++++++++++-------- | |
2 files changed, 18 insertions(+), 9 deletions(-) | |
--- | |
diff --git a/doc/configfile.html b/doc/configfile.html | |
t@@ -400,7 +400,8 @@ when you have no bitches.</dd> | |
<dt><b>NumCop=<i>3</i></b></dt> | |
<dd>Configures the game to have <i>3</i> cops. If you kill the first one, you | |
will later be attacked by the second one, and so on. (The last cop is 'undead' | |
-and will return even if you kill him.)</dd> | |
+and will return even if you kill him.) If you set this to zero, then you | |
+will never be attacked by the cops.</dd> | |
<dt><b>Cop[<i>1</i>].Name=<i>Officer Hardass</i></b></dt> | |
<dd>Names the first cop to attack you <i>"Officer Hardass"</i>.</dd> | |
diff --git a/src/serverside.c b/src/serverside.c | |
t@@ -2311,7 +2311,7 @@ int SendCopOffer(Player *To, OfferForce Force) | |
return (OfferObject(To, Force == FORCEBITCH)); | |
} else if (i < 50) { | |
return (RandomOffer(To)); | |
- } else if (Sanitized) { | |
+ } else if (Sanitized || NumCop == 0) { | |
return 0; | |
} else { | |
CopsAttackPlayer(To); | |
t@@ -2328,6 +2328,11 @@ void CopsAttackPlayer(Player *Play) | |
Player *Cops; | |
gint CopIndex, NumDeputy, GunIndex; | |
+ if (NumCop == 0) { | |
+ g_warning(_("No cops!")); | |
+ return; | |
+ } | |
+ | |
CopIndex = 1 - Play->CopIndex; | |
if (CopIndex < 0) { | |
g_warning(_("Cops cannot attack other cops!")); | |
t@@ -2613,7 +2618,7 @@ static void CheckCopsIntervene(Player *Play) | |
guint ArrayInd; | |
Player *Defend; | |
- if (!Play || !Play->FightArray) | |
+ if (!Play || !Play->FightArray || NumCop == 0) | |
return; /* Sanity check */ | |
if (!Play->Attacking) | |
t@@ -3330,12 +3335,15 @@ void BuyObject(Player *From, char *data) | |
From->Cash -= amount * From->Drugs[index].Price; | |
SendPlayerData(From); | |
- if (!Sanitized && (From->Drugs[index].Price == 0 && | |
- brandom(0, | |
- 100) < | |
- Location[From->IsAt].PolicePresence)) { | |
- SendPrintMessage(NULL, C_NONE, From, | |
- _("The cops spot you dropping drugs!")); | |
+ if (!Sanitized && NumCop > 0 | |
+ && (From->Drugs[index].Price == 0 && | |
+ brandom(0, 100) < Location[From->IsAt].PolicePresence)) { | |
+ gchar *text; | |
+ | |
+ text = dpg_strdup_printf(_("The cops spot you dropping %tde!"), | |
+ Names.Drugs); | |
+ SendPrintMessage(NULL, C_NONE, From, text); | |
+ g_free(text); | |
CopsAttackPlayer(From); | |
} | |
} |