tDrug values are stored by server, and displayed by GTK+ client - 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 f9a07885110bf3386144027110a1e5a8c1851ed4
 (DIR) parent a85fc919d54fa9ab365e5a94945d6c4a871db266
 (HTM) Author: Ben Webb <ben@salilab.org>
       Date:   Sat, 16 Sep 2000 13:09:27 +0000
       
       Drug values are stored by server, and displayed by GTK+ client
       
       
       Diffstat:
         M ChangeLog                           |       3 +++
         M TODO                                |       1 -
         M po/dopewars.pot                     |     620 ++++++++++++++++---------------
         M src/AIPlayer.c                      |       4 ++--
         M src/curses_client.c                 |       4 ++--
         M src/dopewars.c                      |      22 +++++++++++++++++++---
         M src/dopewars.h                      |      13 +++++--------
         M src/gtk_client.c                    |      14 ++++++++++----
         M src/message.c                       |      20 +++++++++++++++-----
         M src/message.h                       |       2 +-
         M src/serverside.c                    |      16 ++++++++++++++++
         M src/win32_client.c                  |       4 ++--
       
       12 files changed, 387 insertions(+), 336 deletions(-)
       ---
 (DIR) diff --git a/ChangeLog b/ChangeLog
       t@@ -5,6 +5,9 @@
              halt server by sending an unterminated message); "abilities" added to
              allow backwards-compatible protocol extensions; player IDs used rather
              than player names to save bandwidth, with newer client+server
       +    - Drug values now stored by server (e.g. "you have 5 Weed @ $600); sent
       +      only if DrugValue config. variable is set, and only to new clients
       +      (based on a patch by Pierre F)
            - Longer T>alk and P>age messages allowed in curses client
            - Minor bug fixes to configure options
            - Client-side code moved out of clientside.c and dopewars.c;
 (DIR) diff --git a/TODO b/TODO
       t@@ -1,7 +1,6 @@
        - Fix GTK+ modal dialog behaviour (mouse grabbing during fighting) - _seems_
          to be OK...
        - Revamp player-player fighting
       -- Display purchase price of drugs?
        - Increase cops' toughness - they should kill a bitch in 50-70% of encounters
          (and damage should be cumulative)
        - Increase difficulty of escaping from another player - impose penalty on
 (DIR) diff --git a/po/dopewars.pot b/po/dopewars.pot
       t@@ -6,7 +6,7 @@
        msgid ""
        msgstr ""
        "Project-Id-Version: PACKAGE VERSION\n"
       -"POT-Creation-Date: 2000-09-15 01:20+0100\n"
       +"POT-Creation-Date: 2000-09-16 14:01+0100\n"
        "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
        "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
        "Language-Team: LANGUAGE <LL@li.org>\n"
       t@@ -127,664 +127,668 @@ msgid "Random events are sanitized"
        msgstr ""
        
        #: src/dopewars.c:164
       +msgid "Non-zero if the total value of bought drugs should be stored"
       +msgstr ""
       +
       +#: src/dopewars.c:167
        msgid "Be verbose in processing config file"
        msgstr ""
        
       -#: src/dopewars.c:166
       +#: src/dopewars.c:169
        msgid "Number of locations in the game"
        msgstr ""
        
       -#: src/dopewars.c:169
       +#: src/dopewars.c:172
        msgid "Number of guns in the game"
        msgstr ""
        
       -#: src/dopewars.c:171
       +#: src/dopewars.c:174
        msgid "Number of drugs in the game"
        msgstr ""
        
       -#: src/dopewars.c:173
       +#: src/dopewars.c:176
        msgid "Location of the Loan Shark"
        msgstr ""
        
       -#: src/dopewars.c:175
       +#: src/dopewars.c:178
        msgid "Location of the bank"
        msgstr ""
        
       -#: src/dopewars.c:177
       +#: src/dopewars.c:180
        msgid "Location of the gun shop"
        msgstr ""
        
       -#: src/dopewars.c:179
       +#: src/dopewars.c:182
        msgid "Location of the pub"
        msgstr ""
        
       -#: src/dopewars.c:182
       +#: src/dopewars.c:185
        msgid "Name of the loan shark"
        msgstr ""
        
       -#: src/dopewars.c:184
       +#: src/dopewars.c:187
        msgid "Name of the bank"
        msgstr ""
        
       -#: src/dopewars.c:186
       +#: src/dopewars.c:189
        msgid "Name of the gun shop"
        msgstr ""
        
       -#: src/dopewars.c:188
       +#: src/dopewars.c:191
        msgid "Name of the pub"
        msgstr ""
        
       -#: src/dopewars.c:190
       +#: src/dopewars.c:193
        msgid "Sort key for listing available drugs"
        msgstr ""
        
       -#: src/dopewars.c:193
       +#: src/dopewars.c:196
        msgid "No. of seconds in which to return fire"
        msgstr ""
        
       -#: src/dopewars.c:196
       +#: src/dopewars.c:199
        msgid "Players are disconnected after this many seconds"
        msgstr ""
        
       -#: src/dopewars.c:199
       +#: src/dopewars.c:202
        msgid "Time in seconds for connections to be made or broken"
        msgstr ""
        
       -#: src/dopewars.c:202
       +#: src/dopewars.c:205
        msgid "Maximum number of TCP/IP connections"
        msgstr ""
        
       -#: src/dopewars.c:205
       +#: src/dopewars.c:208
        msgid "Seconds between turns of AI players"
        msgstr ""
        
       -#: src/dopewars.c:208
       +#: src/dopewars.c:211
        msgid "Amount of cash that each player starts with"
        msgstr ""
        
       -#: src/dopewars.c:211
       +#: src/dopewars.c:214
        msgid "Amount of debt that each player starts with"
        msgstr ""
        
       -#: src/dopewars.c:213
       +#: src/dopewars.c:216
        msgid "Name of each location"
        msgstr ""
        
       -#: src/dopewars.c:217
       +#: src/dopewars.c:220
        msgid "Police presence at each location (%)"
        msgstr ""
        
       -#: src/dopewars.c:221
       +#: src/dopewars.c:224
        msgid "Minimum number of drugs at each location"
        msgstr ""
        
       -#: src/dopewars.c:225
       +#: src/dopewars.c:228
        msgid "Maximum number of drugs at each location"
        msgstr ""
        
       -#: src/dopewars.c:229
       +#: src/dopewars.c:232
        msgid "Name of each drug"
        msgstr ""
        
       -#: src/dopewars.c:233
       +#: src/dopewars.c:236
        msgid "Minimum normal price of each drug"
        msgstr ""
        
       -#: src/dopewars.c:237
       +#: src/dopewars.c:240
        msgid "Maximum normal price of each drug"
        msgstr ""
        
       -#: src/dopewars.c:241
       +#: src/dopewars.c:244
        msgid "Non-zero if this drug can be specially cheap"
        msgstr ""
        
       -#: src/dopewars.c:245
       +#: src/dopewars.c:248
        msgid "Non-zero if this drug can be specially expensive"
        msgstr ""
        
       -#: src/dopewars.c:249
       +#: src/dopewars.c:252
        msgid "Message displayed when this drug is specially cheap"
        msgstr ""
        
       -#: src/dopewars.c:253 src/dopewars.c:256
       +#: src/dopewars.c:256 src/dopewars.c:259
        #, c-format
        msgid "Format string used for expensive drugs 50% of time"
        msgstr ""
        
       -#: src/dopewars.c:259
       +#: src/dopewars.c:262
        msgid "Divider for drug price when it's specially cheap"
        msgstr ""
        
       -#: src/dopewars.c:262
       +#: src/dopewars.c:265
        msgid "Multiplier for specially expensive drug prices"
        msgstr ""
        
       -#: src/dopewars.c:265
       +#: src/dopewars.c:268
        msgid "Name of each gun"
        msgstr ""
        
       -#: src/dopewars.c:269
       +#: src/dopewars.c:272
        msgid "Price of each gun"
        msgstr ""
        
       -#: src/dopewars.c:273
       +#: src/dopewars.c:276
        msgid "Space taken by each gun"
        msgstr ""
        
       -#: src/dopewars.c:277
       +#: src/dopewars.c:280
        msgid "Damage done by each gun"
        msgstr ""
        
       -#: src/dopewars.c:281
       +#: src/dopewars.c:284
        #, c-format
        msgid "% probability of escaping from Officer Hardass"
        msgstr ""
        
       -#: src/dopewars.c:284
       +#: src/dopewars.c:287
        msgid "Modifier to EscapeProb for each extra deputy"
        msgstr ""
        
       -#: src/dopewars.c:287
       +#: src/dopewars.c:290
        #, c-format
        msgid "% probability that Officer Hardass hits you"
        msgstr ""
        
       -#: src/dopewars.c:290
       +#: src/dopewars.c:293
        msgid "Modifier to HitProb for each extra deputy"
        msgstr ""
        
       -#: src/dopewars.c:293
       +#: src/dopewars.c:296
        msgid "Maximum damage done to you by each cop"
        msgstr ""
        
       -#: src/dopewars.c:296
       +#: src/dopewars.c:299
        msgid "Toughness of (difficulty of hitting) each cop"
        msgstr ""
        
       -#: src/dopewars.c:299
       +#: src/dopewars.c:302
        #, c-format
        msgid "% probability that the cops catch you dropping drugs"
        msgstr ""
        
       -#: src/dopewars.c:302
       +#: src/dopewars.c:305
        msgid "Word used to denote a single \"bitch\""
        msgstr ""
        
       -#: src/dopewars.c:304
       +#: src/dopewars.c:307
        msgid "Word used to denote two or more \"bitches\""
        msgstr ""
        
       -#: src/dopewars.c:307
       +#: src/dopewars.c:310
        msgid "Word used to denote a single gun or equivalent"
        msgstr ""
        
       -#: src/dopewars.c:310
       +#: src/dopewars.c:313
        msgid "Word used to denote two or more guns"
        msgstr ""
        
       -#: src/dopewars.c:312
       +#: src/dopewars.c:315
        msgid "Word used to denote a single drug or equivalent"
        msgstr ""
        
       -#: src/dopewars.c:315
       +#: src/dopewars.c:318
        msgid "Word used to denote two or more drugs"
        msgstr ""
        
       -#: src/dopewars.c:317
       +#: src/dopewars.c:320
        msgid "Text prefixed to the turn number (i.e. the month)"
        msgstr ""
        
       -#: src/dopewars.c:320
       +#: src/dopewars.c:323
        msgid "Text appended to the turn number (i.e. the year)"
        msgstr ""
        
       -#: src/dopewars.c:323
       +#: src/dopewars.c:326
        msgid "Name of the police officer"
        msgstr ""
        
       -#: src/dopewars.c:325
       +#: src/dopewars.c:328
        msgid "Name of the reserve police officer"
        msgstr ""
        
       -#: src/dopewars.c:327
       +#: src/dopewars.c:330
        msgid "Cost for a bitch to spy on the enemy"
        msgstr ""
        
       -#: src/dopewars.c:330
       +#: src/dopewars.c:333
        msgid "Cost for a bitch to tipoff the cops to an enemy"
        msgstr ""
        
       -#: src/dopewars.c:333
       +#: src/dopewars.c:336
        msgid "Minimum price to hire a bitch"
        msgstr ""
        
       -#: src/dopewars.c:336
       +#: src/dopewars.c:339
        msgid "Maximum price to hire a bitch"
        msgstr ""
        
       -#: src/dopewars.c:339
       +#: src/dopewars.c:342
        msgid "List of things which you overhear on the subway"
        msgstr ""
        
       -#: src/dopewars.c:342
       +#: src/dopewars.c:345
        msgid "Number of subway sayings"
        msgstr ""
        
       -#: src/dopewars.c:345
       +#: src/dopewars.c:348
        msgid "List of songs which you can hear playing"
        msgstr ""
        
       -#: src/dopewars.c:348
       +#: src/dopewars.c:351
        msgid "Number of playing songs"
        msgstr ""
        
       -#: src/dopewars.c:351
       +#: src/dopewars.c:354
        msgid "List of things which you can stop to do"
        msgstr ""
        
       -#: src/dopewars.c:354
       +#: src/dopewars.c:357
        msgid "Number of things which you can stop to do"
        msgstr ""
        
       -#: src/dopewars.c:359
       +#: src/dopewars.c:362
        msgid "escaped"
        msgstr ""
        
       -#: src/dopewars.c:359
       +#: src/dopewars.c:362
        msgid "defected"
        msgstr ""
        
       -#: src/dopewars.c:359
       +#: src/dopewars.c:362
        msgid "was shot"
        msgstr ""
        
       -#: src/dopewars.c:363
       +#: src/dopewars.c:366
        msgid "`Are you Experienced` by Jimi Hendrix"
        msgstr ""
        
       -#: src/dopewars.c:364
       +#: src/dopewars.c:367
        msgid "`Cheeba Cheeba` by Tone Loc"
        msgstr ""
        
       -#: src/dopewars.c:365
       +#: src/dopewars.c:368
        msgid "`Comin` in to Los Angeles` by Arlo Guthrie"
        msgstr ""
        
       -#: src/dopewars.c:366
       +#: src/dopewars.c:369
        msgid "`Commercial` by Spanky and Our Gang"
        msgstr ""
        
       -#: src/dopewars.c:367
       +#: src/dopewars.c:370
        msgid "`Late in the Evening` by Paul Simon"
        msgstr ""
        
       -#: src/dopewars.c:368
       +#: src/dopewars.c:371
        msgid "`Light Up` by Styx"
        msgstr ""
        
       -#: src/dopewars.c:369
       +#: src/dopewars.c:372
        msgid "`Mexico` by Jefferson Airplane"
        msgstr ""
        
       -#: src/dopewars.c:370
       +#: src/dopewars.c:373
        msgid "`One toke over the line` by Brewer & Shipley"
        msgstr ""
        
       -#: src/dopewars.c:371
       +#: src/dopewars.c:374
        msgid "`The Smokeout` by Shel Silverstein"
        msgstr ""
        
       -#: src/dopewars.c:372
       +#: src/dopewars.c:375
        msgid "`White Rabbit` by Jefferson Airplane"
        msgstr ""
        
       -#: src/dopewars.c:373
       +#: src/dopewars.c:376
        msgid "`Itchycoo Park` by Small Faces"
        msgstr ""
        
       -#: src/dopewars.c:374
       +#: src/dopewars.c:377
        msgid "`White Punks on Dope` by the Tubes"
        msgstr ""
        
       -#: src/dopewars.c:375
       +#: src/dopewars.c:378
        msgid "`Legend of a Mind` by the Moody Blues"
        msgstr ""
        
       -#: src/dopewars.c:376
       +#: src/dopewars.c:379
        msgid "`Eight Miles High` by the Byrds"
        msgstr ""
        
       -#: src/dopewars.c:377
       +#: src/dopewars.c:380
        msgid "`Acapulco Gold` by Riders of the Purple Sage"
        msgstr ""
        
       -#: src/dopewars.c:378
       +#: src/dopewars.c:381
        msgid "`Kicks` by Paul Revere & the Raiders"
        msgstr ""
        
       -#: src/dopewars.c:379
       +#: src/dopewars.c:382
        msgid "the Nixon tapes"
        msgstr ""
        
       -#: src/dopewars.c:380
       +#: src/dopewars.c:383
        msgid "`Legalize It` by Mojo Nixon & Skid Roper"
        msgstr ""
        
       -#: src/dopewars.c:385
       +#: src/dopewars.c:388
        msgid "have a beer"
        msgstr ""
        
       -#: src/dopewars.c:386
       +#: src/dopewars.c:389
        msgid "smoke a joint"
        msgstr ""
        
       -#: src/dopewars.c:387
       +#: src/dopewars.c:390
        msgid "smoke a cigar"
        msgstr ""
        
       -#: src/dopewars.c:388
       +#: src/dopewars.c:391
        msgid "smoke a Djarum"
        msgstr ""
        
       -#: src/dopewars.c:389
       +#: src/dopewars.c:392
        msgid "smoke a cigarette"
        msgstr ""
        
       -#: src/dopewars.c:393
       +#: src/dopewars.c:396
        msgid "Baretta"
        msgstr ""
        
       -#: src/dopewars.c:394
       +#: src/dopewars.c:397
        msgid ".38 Special"
        msgstr ""
        
       -#: src/dopewars.c:395
       +#: src/dopewars.c:398
        msgid "Ruger"
        msgstr ""
        
       -#: src/dopewars.c:396
       +#: src/dopewars.c:399
        msgid "Saturday Night Special"
        msgstr ""
        
       -#: src/dopewars.c:400
       +#: src/dopewars.c:403
        msgid "Bronx"
        msgstr ""
        
       -#: src/dopewars.c:401
       +#: src/dopewars.c:404
        msgid "Ghetto"
        msgstr ""
        
       -#: src/dopewars.c:402
       +#: src/dopewars.c:405
        msgid "Central Park"
        msgstr ""
        
       -#: src/dopewars.c:403
       +#: src/dopewars.c:406
        msgid "Manhattan"
        msgstr ""
        
       -#: src/dopewars.c:404
       +#: src/dopewars.c:407
        msgid "Coney Island"
        msgstr ""
        
       -#: src/dopewars.c:405
       +#: src/dopewars.c:408
        msgid "Brooklyn"
        msgstr ""
        
       -#: src/dopewars.c:406
       +#: src/dopewars.c:409
        msgid "Queens"
        msgstr ""
        
       -#: src/dopewars.c:407
       +#: src/dopewars.c:410
        msgid "Staten Island"
        msgstr ""
        
       -#: src/dopewars.c:411
       +#: src/dopewars.c:414
        msgid "Acid"
        msgstr ""
        
       -#: src/dopewars.c:412
       +#: src/dopewars.c:415
        msgid "The market is flooded with cheap home-made acid!"
        msgstr ""
        
       -#: src/dopewars.c:413
       +#: src/dopewars.c:416
        msgid "Cocaine"
        msgstr ""
        
       -#: src/dopewars.c:414
       +#: src/dopewars.c:417
        msgid "Hashish"
        msgstr ""
        
       -#: src/dopewars.c:414
       +#: src/dopewars.c:417
        msgid "The Marrakesh Express has arrived!"
        msgstr ""
        
       -#: src/dopewars.c:415
       +#: src/dopewars.c:418
        msgid "Heroin"
        msgstr ""
        
       -#: src/dopewars.c:416
       +#: src/dopewars.c:419
        msgid "Ludes"
        msgstr ""
        
       -#: src/dopewars.c:417
       +#: src/dopewars.c:420
        msgid "Rival drug dealers raided a pharmacy and are selling cheap ludes!"
        msgstr ""
        
       -#: src/dopewars.c:418
       +#: src/dopewars.c:421
        msgid "MDA"
        msgstr ""
        
       -#: src/dopewars.c:419
       +#: src/dopewars.c:422
        msgid "Opium"
        msgstr ""
        
       -#: src/dopewars.c:420
       +#: src/dopewars.c:423
        msgid "PCP"
        msgstr ""
        
       -#: src/dopewars.c:421
       +#: src/dopewars.c:424
        msgid "Peyote"
        msgstr ""
        
       -#: src/dopewars.c:422
       +#: src/dopewars.c:425
        msgid "Shrooms"
        msgstr ""
        
       -#: src/dopewars.c:423
       +#: src/dopewars.c:426
        msgid "Speed"
        msgstr ""
        
       -#: src/dopewars.c:424
       +#: src/dopewars.c:427
        msgid "Weed"
        msgstr ""
        
       -#: src/dopewars.c:424
       +#: src/dopewars.c:427
        msgid ""
        "Columbian freighter dusted the Coast Guard! Weed prices have bottomed out!"
        msgstr ""
        
       -#: src/dopewars.c:430
       +#: src/dopewars.c:433
        #, c-format
        msgid "Cops made a big %s bust! Prices are outrageous!"
        msgstr ""
        
       -#: src/dopewars.c:431
       +#: src/dopewars.c:434
        #, c-format
        msgid "Addicts are buying %s at ridiculous prices!"
        msgstr ""
        
       -#: src/dopewars.c:436
       +#: src/dopewars.c:439
        msgid "Wouldn't it be funny if everyone suddenly quacked at once?"
        msgstr ""
        
       -#: src/dopewars.c:437
       +#: src/dopewars.c:440
        msgid "The Pope was once Jewish, you know"
        msgstr ""
        
       -#: src/dopewars.c:438
       +#: src/dopewars.c:441
        msgid "I'll bet you have some really interesting dreams"
        msgstr ""
        
       -#: src/dopewars.c:439
       +#: src/dopewars.c:442
        msgid "So I think I'm going to Amsterdam this year"
        msgstr ""
        
       -#: src/dopewars.c:440
       +#: src/dopewars.c:443
        msgid "Son, you need a yellow haircut"
        msgstr ""
        
       -#: src/dopewars.c:441
       +#: src/dopewars.c:444
        msgid "I think it's wonderful what they're doing with incense these days"
        msgstr ""
        
       -#: src/dopewars.c:442
       +#: src/dopewars.c:445
        msgid "I wasn't always a woman, you know"
        msgstr ""
        
       -#: src/dopewars.c:443
       +#: src/dopewars.c:446
        msgid "Does your mother know you're a dope dealer?"
        msgstr ""
        
       -#: src/dopewars.c:444
       +#: src/dopewars.c:447
        msgid "Are you high on something?"
        msgstr ""
        
       -#: src/dopewars.c:445
       +#: src/dopewars.c:448
        msgid "Oh, you must be from California"
        msgstr ""
        
       -#: src/dopewars.c:446
       +#: src/dopewars.c:449
        msgid "I used to be a hippie, myself"
        msgstr ""
        
       -#: src/dopewars.c:447
       +#: src/dopewars.c:450
        msgid "There's nothing like having lots of money"
        msgstr ""
        
       -#: src/dopewars.c:448
       +#: src/dopewars.c:451
        msgid "You look like an aardvark!"
        msgstr ""
        
       -#: src/dopewars.c:449
       +#: src/dopewars.c:452
        msgid "I don't believe in Ronald Reagan"
        msgstr ""
        
       -#: src/dopewars.c:450
       +#: src/dopewars.c:453
        msgid "Courage!  Bush is a noodle!"
        msgstr ""
        
       -#: src/dopewars.c:451
       +#: src/dopewars.c:454
        msgid "Haven't I seen you on TV?"
        msgstr ""
        
       -#: src/dopewars.c:452
       +#: src/dopewars.c:455
        msgid "I think hemorrhoid commercials are really neat!"
        msgstr ""
        
       -#: src/dopewars.c:453
       +#: src/dopewars.c:456
        msgid "We're winning the war for drugs!"
        msgstr ""
        
       -#: src/dopewars.c:454
       +#: src/dopewars.c:457
        msgid "A day without dope is like night"
        msgstr ""
        
       -#: src/dopewars.c:455
       +#: src/dopewars.c:458
        #, c-format
        msgid "We only use 20% of our brains, so why not burn out the other 80%"
        msgstr ""
        
       -#: src/dopewars.c:456
       +#: src/dopewars.c:459
        msgid "I'm soliciting contributions for Zombies for Christ"
        msgstr ""
        
       -#: src/dopewars.c:457
       +#: src/dopewars.c:460
        msgid "I'd like to sell you an edible poodle"
        msgstr ""
        
       -#: src/dopewars.c:458
       +#: src/dopewars.c:461
        msgid "Winners don't do drugs... unless they do"
        msgstr ""
        
       -#: src/dopewars.c:459
       +#: src/dopewars.c:462
        msgid "Kill a cop for Christ!"
        msgstr ""
        
       -#: src/dopewars.c:460
       +#: src/dopewars.c:463
        msgid "I am the walrus!"
        msgstr ""
        
       -#: src/dopewars.c:461
       +#: src/dopewars.c:464
        msgid "Jesus loves you more than you will know"
        msgstr ""
        
       -#: src/dopewars.c:462
       +#: src/dopewars.c:465
        msgid "I feel an unaccountable urge to dye my hair blue"
        msgstr ""
        
       -#: src/dopewars.c:463
       +#: src/dopewars.c:466
        msgid "Wasn't Jane Fonda wonderful in Barbarella"
        msgstr ""
        
       -#: src/dopewars.c:464
       +#: src/dopewars.c:467
        msgid "Just say No... well, maybe... ok, what the hell!"
        msgstr ""
        
       -#: src/dopewars.c:465
       +#: src/dopewars.c:468
        msgid "Would you like a jelly baby?"
        msgstr ""
        
       -#: src/dopewars.c:466
       +#: src/dopewars.c:469
        msgid "Drugs can be your friend!"
        msgstr ""
        
       -#: src/dopewars.c:1102
       +#: src/dopewars.c:1117
        msgid "Unable to process configuration file line"
        msgstr ""
        
       -#: src/dopewars.c:1163
       +#: src/dopewars.c:1178
        msgid ""
        "Configuration can only be changed interactively when no\n"
        "players are logged on. Wait for all players to log off, or remove\n"
        "them with the push or kill commands, and try again."
        msgstr ""
        
       -#: src/dopewars.c:1224
       +#: src/dopewars.c:1239
        #, c-format
        msgid "Index into %s array should be between 1 and %d"
        msgstr ""
        
       -#: src/dopewars.c:1243
       +#: src/dopewars.c:1258
        #, c-format
        msgid "%s is %d\n"
        msgstr ""
        
       -#: src/dopewars.c:1248
       +#: src/dopewars.c:1263
        #, c-format
        msgid "%s is %s\n"
        msgstr ""
        
       -#: src/dopewars.c:1251
       +#: src/dopewars.c:1266
        #, c-format
        msgid "%s is \"%s\"\n"
        msgstr ""
        
       -#: src/dopewars.c:1255
       +#: src/dopewars.c:1270
        #, c-format
        msgid "%s[%d] is %s\n"
        msgstr ""
        
       -#: src/dopewars.c:1258
       +#: src/dopewars.c:1273
        #, c-format
        msgid "%s is { "
        msgstr ""
        
       -#: src/dopewars.c:1289
       +#: src/dopewars.c:1304
        #, c-format
        msgid "Resized structure list to %d elements\n"
        msgstr ""
        
       -#: src/dopewars.c:1432
       +#: src/dopewars.c:1448
        #, c-format
        msgid ""
        "Usage: dopewars [OPTION]...\n"
       t@@ -998,7 +1002,7 @@ msgstr ""
        msgid "CLQP"
        msgstr ""
        
       -#: src/curses_client.c:371 src/gtk_client.c:809
       +#: src/curses_client.c:371 src/gtk_client.c:815
        msgid "Where to, dude ? "
        msgstr ""
        
       t@@ -1146,22 +1150,22 @@ msgstr ""
        msgid "You don't have any %s to sell!"
        msgstr ""
        
       -#: src/curses_client.c:820 src/gtk_client.c:1084
       +#: src/curses_client.c:820 src/gtk_client.c:1090
        #, c-format
        msgid "You'll need more %s to carry any more %s!"
        msgstr ""
        
       -#: src/curses_client.c:842 src/gtk_client.c:1088
       +#: src/curses_client.c:842 src/gtk_client.c:1094
        #, c-format
        msgid "You don't have enough space to carry that %s!"
        msgstr ""
        
       -#: src/curses_client.c:850 src/gtk_client.c:1092
       +#: src/curses_client.c:850 src/gtk_client.c:1098
        #, c-format
        msgid "You don't have enough cash to buy that %s!"
        msgstr ""
        
       -#: src/curses_client.c:863 src/gtk_client.c:1096
       +#: src/curses_client.c:863 src/gtk_client.c:1102
        msgid "You don't have any to sell!"
        msgstr ""
        
       t@@ -1169,7 +1173,7 @@ msgstr ""
        msgid "How much money do you pay back? "
        msgstr ""
        
       -#: src/curses_client.c:893 src/curses_client.c:923 src/gtk_client.c:1925
       +#: src/curses_client.c:893 src/curses_client.c:923 src/gtk_client.c:1931
        msgid "You don't have that much money!"
        msgstr ""
        
       t@@ -1185,7 +1189,7 @@ msgstr ""
        msgid "How much money? "
        msgstr ""
        
       -#: src/curses_client.c:926 src/gtk_client.c:1918
       +#: src/curses_client.c:926 src/gtk_client.c:1924
        msgid "There isn't that much money in the bank..."
        msgstr ""
        
       t@@ -1197,7 +1201,7 @@ msgstr ""
        msgid "Messages"
        msgstr ""
        
       -#: src/curses_client.c:1143 src/gtk_client.c:1377
       +#: src/curses_client.c:1143 src/gtk_client.c:1383
        msgid "Stats"
        msgstr ""
        
       t@@ -1445,7 +1449,7 @@ msgstr ""
        msgid "Inventory"
        msgstr ""
        
       -#: src/gtk_client.c:240 src/gtk_client.c:2160 src/gtk_client.c:2524
       +#: src/gtk_client.c:240 src/gtk_client.c:2166 src/gtk_client.c:2530
        msgid "Close"
        msgstr ""
        
       t@@ -1480,9 +1484,9 @@ msgstr ""
        msgid "High Scores"
        msgstr ""
        
       -#: src/gtk_client.c:439 src/gtk_client.c:1035 src/gtk_client.c:1490
       -#: src/gtk_client.c:1835 src/gtk_client.c:1999 src/gtk_client.c:2275
       -#: src/gtk_client.c:2432
       +#: src/gtk_client.c:439 src/gtk_client.c:1041 src/gtk_client.c:1496
       +#: src/gtk_client.c:1841 src/gtk_client.c:2005 src/gtk_client.c:2281
       +#: src/gtk_client.c:2438
        msgid "OK"
        msgstr ""
        
       t@@ -1495,7 +1499,7 @@ msgstr ""
        msgid "_Deal %s"
        msgstr ""
        
       -#: src/gtk_client.c:552 src/gtk_client.c:1127 src/gtk_client.c:1324
       +#: src/gtk_client.c:552 src/gtk_client.c:1133 src/gtk_client.c:1330
        msgid "_Fight"
        msgstr ""
        
       t@@ -1503,134 +1507,134 @@ msgstr ""
        msgid "_Stand"
        msgstr ""
        
       -#: src/gtk_client.c:558 src/gtk_client.c:1126
       +#: src/gtk_client.c:558 src/gtk_client.c:1132
        msgid "_Run"
        msgstr ""
        
       -#: src/gtk_client.c:800
       +#: src/gtk_client.c:806
        msgid "Jet to location"
        msgstr ""
        
       -#: src/gtk_client.c:869
       +#: src/gtk_client.c:875
        #, c-format
        msgid "at %s"
        msgstr ""
        
       -#: src/gtk_client.c:874
       +#: src/gtk_client.c:880
        #, c-format
        msgid "You are currently carrying %d %s"
        msgstr ""
        
       -#: src/gtk_client.c:879
       +#: src/gtk_client.c:885
        #, c-format
        msgid "Available space: %d"
        msgstr ""
        
       -#: src/gtk_client.c:884
       +#: src/gtk_client.c:890
        #, c-format
        msgid "You can afford %d"
        msgstr ""
        
       -#: src/gtk_client.c:933 src/gtk_client.c:1064
       +#: src/gtk_client.c:939 src/gtk_client.c:1070
        msgid "Buy"
        msgstr ""
        
       -#: src/gtk_client.c:934 src/gtk_client.c:1065
       +#: src/gtk_client.c:940 src/gtk_client.c:1071
        msgid "Sell"
        msgstr ""
        
       -#: src/gtk_client.c:935 src/gtk_client.c:1066
       +#: src/gtk_client.c:941 src/gtk_client.c:1072
        msgid "Drop"
        msgstr ""
        
       -#: src/gtk_client.c:1023
       +#: src/gtk_client.c:1029
        #, c-format
        msgid "%s how many?"
        msgstr ""
        
       -#: src/gtk_client.c:1041 src/gtk_client.c:1835 src/gtk_client.c:2010
       -#: src/gtk_client.c:2283
       +#: src/gtk_client.c:1047 src/gtk_client.c:1841 src/gtk_client.c:2016
       +#: src/gtk_client.c:2289
        msgid "Cancel"
        msgstr ""
        
       -#: src/gtk_client.c:1080
       +#: src/gtk_client.c:1086
        #, c-format
        msgid "You don't have any %s!"
        msgstr ""
        
       -#: src/gtk_client.c:1126 src/gtk_client.c:1836
       +#: src/gtk_client.c:1132 src/gtk_client.c:1842
        msgid "_Yes"
        msgstr ""
        
       -#: src/gtk_client.c:1126 src/gtk_client.c:1836
       +#: src/gtk_client.c:1132 src/gtk_client.c:1842
        msgid "_No"
        msgstr ""
        
       -#: src/gtk_client.c:1127
       +#: src/gtk_client.c:1133
        msgid "_Attack"
        msgstr ""
        
       -#: src/gtk_client.c:1127
       +#: src/gtk_client.c:1133
        msgid "_Evade"
        msgstr ""
        
       -#: src/gtk_client.c:1145
       +#: src/gtk_client.c:1151
        msgid "Question"
        msgstr ""
        
       -#: src/gtk_client.c:1274
       +#: src/gtk_client.c:1280
        msgid "Space"
        msgstr ""
        
       -#: src/gtk_client.c:1279
       +#: src/gtk_client.c:1285
        msgid "Cash"
        msgstr ""
        
       -#: src/gtk_client.c:1284
       +#: src/gtk_client.c:1290
        msgid "Debt"
        msgstr ""
        
       -#: src/gtk_client.c:1289
       +#: src/gtk_client.c:1295
        msgid "Bank"
        msgstr ""
        
       -#: src/gtk_client.c:1304
       +#: src/gtk_client.c:1310
        msgid "Health"
        msgstr ""
        
       -#: src/gtk_client.c:1324
       +#: src/gtk_client.c:1330
        msgid "_Jet!"
        msgstr ""
        
       -#: src/gtk_client.c:1354
       +#: src/gtk_client.c:1360
        msgid "dopewars"
        msgstr ""
        
       -#: src/gtk_client.c:1437
       +#: src/gtk_client.c:1443
        msgid "Drug Dealing and Research"
        msgstr ""
        
       -#: src/gtk_client.c:1438
       +#: src/gtk_client.c:1444
        msgid "Play Testing"
        msgstr ""
        
       -#: src/gtk_client.c:1439
       +#: src/gtk_client.c:1445
        msgid "Extensive Play Testing"
        msgstr ""
        
       -#: src/gtk_client.c:1441
       +#: src/gtk_client.c:1447
        msgid "Constructive Criticism"
        msgstr ""
        
       -#: src/gtk_client.c:1443
       +#: src/gtk_client.c:1449
        msgid "Unconstructive Criticism"
        msgstr ""
        
       -#: src/gtk_client.c:1447
       +#: src/gtk_client.c:1453
        msgid "About dopewars"
        msgstr ""
        
       -#: src/gtk_client.c:1456
       +#: src/gtk_client.c:1462
        msgid ""
        "Based on John E. Dell's old Drug Wars game, dopewars is a simulation of an\n"
        "imaginary drug market.  dopewars is an All-American game which features\n"
       t@@ -1642,151 +1646,151 @@ msgid ""
        "have one month of game time to make your fortune.\n"
        msgstr ""
        
       -#: src/gtk_client.c:1464
       +#: src/gtk_client.c:1470
        #, c-format
        msgid ""
        "Version %s     Copyright (C) 1998-2000  Ben Webb ben@bellatrix.pcl.ox.ac.uk\n"
        "dopewars is released under the GNU General Public Licence\n"
        msgstr ""
        
       -#: src/gtk_client.c:1482
       +#: src/gtk_client.c:1488
        msgid ""
        "\n"
        "For information on the command line options, type dopewars -h at your\n"
        "Unix prompt. This will display a help screen, listing the availableoptions."
        msgstr ""
        
       -#: src/gtk_client.c:1520 src/gtk_client.c:1543
       +#: src/gtk_client.c:1526 src/gtk_client.c:1549
        #, c-format
        msgid "Status: Could not connect (%s)"
        msgstr ""
        
       -#: src/gtk_client.c:1531
       +#: src/gtk_client.c:1537
        #, c-format
        msgid "Status: Attempting to contact %s..."
        msgstr ""
        
       -#: src/gtk_client.c:1591
       +#: src/gtk_client.c:1597
        #, c-format
        msgid "%d of %d"
        msgstr ""
        
       -#: src/gtk_client.c:1655 src/gtk_client.c:1696 src/gtk_client.c:1737
       +#: src/gtk_client.c:1661 src/gtk_client.c:1702 src/gtk_client.c:1743
        msgid "Server"
        msgstr ""
        
       -#: src/gtk_client.c:1656 src/gtk_client.c:1711
       +#: src/gtk_client.c:1662 src/gtk_client.c:1717
        msgid "Port"
        msgstr ""
        
       -#: src/gtk_client.c:1657
       +#: src/gtk_client.c:1663
        msgid "Version"
        msgstr ""
        
       -#: src/gtk_client.c:1658
       +#: src/gtk_client.c:1664
        msgid "Players"
        msgstr ""
        
       -#: src/gtk_client.c:1659
       +#: src/gtk_client.c:1665
        msgid "Comment"
        msgstr ""
        
       -#: src/gtk_client.c:1672
       +#: src/gtk_client.c:1678
        msgid "New Game"
        msgstr ""
        
       -#: src/gtk_client.c:1681
       +#: src/gtk_client.c:1687
        msgid "Hey dude, what's your _name?"
        msgstr ""
        
       -#: src/gtk_client.c:1703
       +#: src/gtk_client.c:1709
        msgid "Host name"
        msgstr ""
        
       -#: src/gtk_client.c:1726 src/gtk_client.c:1789
       +#: src/gtk_client.c:1732 src/gtk_client.c:1795
        msgid "_Connect"
        msgstr ""
        
       -#: src/gtk_client.c:1739 src/gtk_client.c:1760
       +#: src/gtk_client.c:1745 src/gtk_client.c:1766
        msgid "Single player"
        msgstr ""
        
       -#: src/gtk_client.c:1745
       +#: src/gtk_client.c:1751
        msgid "_Antique mode"
        msgstr ""
        
       -#: src/gtk_client.c:1752
       +#: src/gtk_client.c:1758
        msgid "_Start single-player game"
        msgstr ""
        
       -#: src/gtk_client.c:1762 src/gtk_client.c:1800
       +#: src/gtk_client.c:1768 src/gtk_client.c:1806
        msgid "Metaserver"
        msgstr ""
        
       -#: src/gtk_client.c:1779
       +#: src/gtk_client.c:1785
        msgid "_Update"
        msgstr ""
        
       -#: src/gtk_client.c:1804
       +#: src/gtk_client.c:1810
        msgid "Status: Waiting for user input"
        msgstr ""
        
       -#: src/gtk_client.c:1956
       +#: src/gtk_client.c:1962
        #, c-format
        msgid "Cash: %s"
        msgstr ""
        
       -#: src/gtk_client.c:1963
       +#: src/gtk_client.c:1969
        #, c-format
        msgid "Debt: %s"
        msgstr ""
        
       -#: src/gtk_client.c:1966
       +#: src/gtk_client.c:1972
        #, c-format
        msgid "Bank: %s"
        msgstr ""
        
       -#: src/gtk_client.c:1974
       +#: src/gtk_client.c:1980
        msgid "Pay back:"
        msgstr ""
        
       -#: src/gtk_client.c:1977
       +#: src/gtk_client.c:1983
        msgid "Deposit"
        msgstr ""
        
       -#: src/gtk_client.c:1981
       +#: src/gtk_client.c:1987
        msgid "Withdraw"
        msgstr ""
        
       -#: src/gtk_client.c:2005
       +#: src/gtk_client.c:2011
        msgid "Pay all"
        msgstr ""
        
       -#: src/gtk_client.c:2027
       +#: src/gtk_client.c:2033
        msgid "Player List"
        msgstr ""
        
       -#: src/gtk_client.c:2115
       +#: src/gtk_client.c:2121
        msgid "Talk to player(s)"
        msgstr ""
        
       -#: src/gtk_client.c:2137
       +#: src/gtk_client.c:2143
        msgid "Talk to all players"
        msgstr ""
        
       -#: src/gtk_client.c:2141
       +#: src/gtk_client.c:2147
        msgid "Message:-"
        msgstr ""
        
       -#: src/gtk_client.c:2154
       +#: src/gtk_client.c:2160
        msgid "Send"
        msgstr ""
        
       -#: src/gtk_client.c:2245
       +#: src/gtk_client.c:2251
        msgid "Spy On Player"
        msgstr ""
        
       -#: src/gtk_client.c:2247
       +#: src/gtk_client.c:2253
        #, c-format
        msgid ""
        "Please choose the player to spy on. Your %s will\n"
       t@@ -1796,11 +1800,11 @@ msgid ""
        "you, so any %s or %s that he's carrying may be lost!"
        msgstr ""
        
       -#: src/gtk_client.c:2255
       +#: src/gtk_client.c:2261
        msgid "Tip Off The Cops"
        msgstr ""
        
       -#: src/gtk_client.c:2257
       +#: src/gtk_client.c:2263
        #, c-format
        msgid ""
        "Please choose the player to tip off the cops to. Your %s will\n"
       t@@ -1809,71 +1813,71 @@ msgid ""
        "so any %s or %s that he's carrying may be lost!"
        msgstr ""
        
       -#: src/gtk_client.c:2297
       +#: src/gtk_client.c:2303
        #, c-format
        msgid "Sack %s"
        msgstr ""
        
       -#: src/gtk_client.c:2298
       +#: src/gtk_client.c:2304
        #, c-format
        msgid ""
        "Are you sure? (Any %s or %s carried\n"
        "by this %s may be lost!)"
        msgstr ""
        
       -#: src/gtk_client.c:2318
       +#: src/gtk_client.c:2324
        msgid "Name"
        msgstr ""
        
       -#: src/gtk_client.c:2319
       +#: src/gtk_client.c:2325
        msgid "Price"
        msgstr ""
        
       -#: src/gtk_client.c:2320
       +#: src/gtk_client.c:2326
        msgid "Number"
        msgstr ""
        
       -#: src/gtk_client.c:2322
       +#: src/gtk_client.c:2328
        msgid "_Buy ->"
        msgstr ""
        
       -#: src/gtk_client.c:2323
       +#: src/gtk_client.c:2329
        msgid "<- _Sell"
        msgstr ""
        
       -#: src/gtk_client.c:2324
       +#: src/gtk_client.c:2330
        msgid "_Drop <-"
        msgstr ""
        
       -#: src/gtk_client.c:2329
       +#: src/gtk_client.c:2335
        #, c-format
        msgid "%s here"
        msgstr ""
        
       -#: src/gtk_client.c:2332
       +#: src/gtk_client.c:2338
        #, c-format
        msgid "%s carried"
        msgstr ""
        
       -#: src/gtk_client.c:2408
       +#: src/gtk_client.c:2414
        msgid "Change Name"
        msgstr ""
        
       -#: src/gtk_client.c:2418
       +#: src/gtk_client.c:2424
        msgid ""
        "Unfortunately, somebody else is already using \"your\" name. Please change "
        "it:-"
        msgstr ""
        
       -#: src/gtk_client.c:2477
       +#: src/gtk_client.c:2483
        msgid "Done"
        msgstr ""
        
       -#: src/gtk_client.c:2510
       +#: src/gtk_client.c:2516
        msgid "Spy reports"
        msgstr ""
        
       -#: src/gtk_client.c:2581
       +#: src/gtk_client.c:2587
        msgid ""
        "No GTK+ client available - rebuild the binary passing the\n"
        "--enable-gtk-client option to configure, or use the curses\n"
       t@@ -2275,213 +2279,213 @@ msgstr ""
        msgid "You meet a friend! You give him %d %s."
        msgstr ""
        
       -#: src/serverside.c:1451
       +#: src/serverside.c:1453
        msgid "Sanitized away a RandomOffer"
        msgstr ""
        
       -#: src/serverside.c:1456
       +#: src/serverside.c:1458
        #, c-format
        msgid ""
        "Police dogs chase you for %d blocks! You dropped some %s! That's a drag, man!"
        msgstr ""
        
       -#: src/serverside.c:1470
       +#: src/serverside.c:1474
        #, c-format
        msgid "You find %d %s on a dead dude in the subway!"
        msgstr ""
        
       -#: src/serverside.c:1482
       +#: src/serverside.c:1486
        #, c-format
        msgid "Your mama made brownies with some of your %s! They were great!"
        msgstr ""
        
       -#: src/serverside.c:1490
       +#: src/serverside.c:1496
        msgid ""
        "YN^There is some weed that smells like paraquat here!^It looks good! Will "
        "you smoke it? "
        msgstr ""
        
       -#: src/serverside.c:1497
       +#: src/serverside.c:1503
        #, c-format
        msgid "You stopped to %s."
        msgstr ""
        
       -#: src/serverside.c:1518
       +#: src/serverside.c:1524
        #, c-format
        msgid "Would you like to buy a bigger trenchcoat for %s?"
        msgstr ""
        
       -#: src/serverside.c:1523
       +#: src/serverside.c:1529
        #, c-format
        msgid "YN^Hey dude! I'll help carry your %s for a mere %s. Yes or no?"
        msgstr ""
        
       -#: src/serverside.c:1535
       +#: src/serverside.c:1541
        #, c-format
        msgid "YN^Would you like to buy a %s for %s?"
        msgstr ""
        
       -#: src/serverside.c:1636 src/serverside.c:1747
       +#: src/serverside.c:1642 src/serverside.c:1753
        #, c-format
        msgid "%s: offer was on behalf of %s"
        msgstr ""
        
       -#: src/serverside.c:1639
       +#: src/serverside.c:1645
        #, c-format
        msgid "%s has accepted your %s!^Use the G key to contact your spy."
        msgstr ""
        
       -#: src/serverside.c:1685
       +#: src/serverside.c:1691
        msgid ""
        "You hallucinated for three days on the wildest trip you ever imagined!^Then "
        "you died because your brain disintegrated!"
        msgstr ""
        
       -#: src/serverside.c:1724
       +#: src/serverside.c:1730
        #, c-format
        msgid "Too late - %s has just left!"
        msgstr ""
        
       -#: src/serverside.c:1750
       +#: src/serverside.c:1756
        #, c-format
        msgid "%s has rejected your %s!"
        msgstr ""
        
       -#: src/serverside.c:1785
       +#: src/serverside.c:1791
        #, c-format
        msgid "%s has got away!"
        msgstr ""
        
       -#: src/serverside.c:1826
       +#: src/serverside.c:1832
        #, c-format
        msgid "%s has run off!"
        msgstr ""
        
       -#: src/serverside.c:1838
       +#: src/serverside.c:1844
        msgid "Coward! You successfully escaped from the fight."
        msgstr ""
        
       -#: src/serverside.c:1894
       +#: src/serverside.c:1900
        msgid "pitifully armed"
        msgstr ""
        
       -#: src/serverside.c:1895
       +#: src/serverside.c:1901
        msgid "lightly armed"
        msgstr ""
        
       -#: src/serverside.c:1896
       +#: src/serverside.c:1902
        msgid "moderately well armed"
        msgstr ""
        
       -#: src/serverside.c:1897
       +#: src/serverside.c:1903
        msgid "heavily armed"
        msgstr ""
        
       -#: src/serverside.c:1898
       +#: src/serverside.c:1904
        msgid "armed to the teeth"
        msgstr ""
        
       -#: src/serverside.c:1899
       +#: src/serverside.c:1905
        msgid " fires and "
        msgstr ""
        
       -#: src/serverside.c:1900
       +#: src/serverside.c:1906
        msgid " stands and takes it."
        msgstr ""
        
       -#: src/serverside.c:1903
       +#: src/serverside.c:1909
        #, c-format
        msgid "%s arrives, with %d %s, %s,^%s"
        msgstr ""
        
       -#: src/serverside.c:1907
       +#: src/serverside.c:1913
        #, c-format
        msgid "%s arrives, %s,^%s"
        msgstr ""
        
       -#: src/serverside.c:1912
       +#: src/serverside.c:1918
        #, c-format
        msgid "%s fires and "
        msgstr ""
        
       -#: src/serverside.c:1914
       +#: src/serverside.c:1920
        #, c-format
        msgid "%s stands and takes it."
        msgstr ""
        
       -#: src/serverside.c:1926
       +#: src/serverside.c:1932
        msgid "misses you!"
        msgstr ""
        
       -#: src/serverside.c:1927
       +#: src/serverside.c:1933
        #, c-format
        msgid "You failed to hit %s."
        msgstr ""
        
       -#: src/serverside.c:1930
       +#: src/serverside.c:1936
        msgid "You stand and take it."
        msgstr ""
        
       -#: src/serverside.c:1934
       +#: src/serverside.c:1940
        msgid "hits you, man!"
        msgstr ""
        
       -#: src/serverside.c:1937
       +#: src/serverside.c:1943
        msgid " You've been wasted! What a drag!"
        msgstr ""
        
       -#: src/serverside.c:1938
       +#: src/serverside.c:1944
        #, c-format
        msgid "You hit and killed %s"
        msgstr ""
        
       -#: src/serverside.c:1953 src/serverside.c:1986
       +#: src/serverside.c:1959 src/serverside.c:1992
        msgid ", and loot the body!"
        msgstr ""
        
       -#: src/serverside.c:1962
       +#: src/serverside.c:1968
        #, c-format
        msgid "^You lost a %s, man!"
        msgstr ""
        
       -#: src/serverside.c:1967
       +#: src/serverside.c:1973
        #, c-format
        msgid "You are paid a bounty of %s in reward for killing^one of %s's %s"
        msgstr ""
        
       -#: src/serverside.c:1975
       +#: src/serverside.c:1981
        #, c-format
        msgid "You killed one of %s's %s (%d left)"
        msgstr ""
        
       -#: src/serverside.c:1993
       +#: src/serverside.c:1999
        #, c-format
        msgid "You fire, and hit %s!"
        msgstr ""
        
       -#: src/serverside.c:2033
       +#: src/serverside.c:2045
        msgid "YN^Officer %%s spots you dropping %s, and chases you!"
        msgstr ""
        
       -#: src/serverside.c:2035
       +#: src/serverside.c:2047
        msgid ""
        "YN^Officer %%s and %%d of his deputies spot you dropping %s, and chase you!"
        msgstr ""
        
       -#: src/serverside.c:2190
       +#: src/serverside.c:2206
        msgid "Player removed due to idle timeout"
        msgstr ""
        
       -#: src/serverside.c:2200
       +#: src/serverside.c:2216
        msgid "Player removed due to connect timeout"
        msgstr ""
        
       -#: src/serverside.c:2206 src/serverside.c:2212
       +#: src/serverside.c:2222 src/serverside.c:2228
        #, c-format
        msgid "%s fails to return fire..."
        msgstr ""
        
       -#: src/message.c:517
       +#: src/message.c:523
        #, c-format
        msgid ""
        "This server is version %s, while your client is version %s.\n"
       t@@ -2490,27 +2494,27 @@ msgid ""
        "for the latest version."
        msgstr ""
        
       -#: src/message.c:656
       +#: src/message.c:666
        msgid "Could not find host"
        msgstr ""
        
       -#: src/message.c:657
       +#: src/message.c:667
        msgid "Could not create network socket"
        msgstr ""
        
       -#: src/message.c:658 src/message.c:691
       +#: src/message.c:668 src/message.c:701
        msgid "Connection refused or no server present"
        msgstr ""
        
       -#: src/message.c:850
       +#: src/message.c:860
        msgid "Cannot locate metaserver"
        msgstr ""
        
       -#: src/message.c:851
       +#: src/message.c:861
        msgid "Cannot create socket"
        msgstr ""
        
       -#: src/message.c:853
       +#: src/message.c:863
        msgid "Metaserver not running HTTP or connection denied"
        msgstr ""
        
 (DIR) diff --git a/src/AIPlayer.c b/src/AIPlayer.c
       t@@ -180,9 +180,9 @@ int HandleAIMessage(char *Message,Player *AIPlay) {
                 WasFighting=FALSE;
                 if (From==&Noone) {
                    if (AIPlay->Flags & FIGHTING) WasFighting=TRUE;
       -            ReceivePlayerData(Data,AIPlay);
       +            ReceivePlayerData(AIPlay,Data,AIPlay);
                 } else {
       -            ReceivePlayerData(Data,From); /* spy reports */
       +            ReceivePlayerData(AIPlay,Data,From); /* spy reports */
                 }
                 if (!(AIPlay->Flags & FIGHTING) && WasFighting) {
                    AIDealDrugs(AIPlay);
 (DIR) diff --git a/src/curses_client.c b/src/curses_client.c
       t@@ -714,7 +714,7 @@ void HandleClientMessage(char *Message,Player *Play) {
                 break;
              case C_UPDATE:
                 if (From==&Noone) {
       -            ReceivePlayerData(Data,Play);
       +            ReceivePlayerData(Play,Data,Play);
                    print_status(Play,1); refresh();
                 } else {
                    DisplaySpyReports(Data,From,Play);
       t@@ -1210,7 +1210,7 @@ void DisplaySpyReports(char *Data,Player *From,Player *To) {
        /* Parses details about player "From" from string "Data" and then */
        /* displays the lot, drugs and guns.                              */
           gchar *caps,*text;
       -   ReceivePlayerData(Data,From);
       +   ReceivePlayerData(To,Data,From);
        
           clear_bottom();
           text=g_strdup_printf(_("Spy reports for %s"),GetPlayerName(From));
 (DIR) diff --git a/src/dopewars.c b/src/dopewars.c
       t@@ -51,7 +51,7 @@ char Network,Client,Server,NotifyMetaServer,AIPlayer;
           dopewars in single-player or antique mode:
                     Network=Server=Client=FALSE
        */
       -int Port=7902,Sanitized=0,ConfigVerbose=0;
       +int Port=7902,Sanitized=0,ConfigVerbose=0,DrugValue;
        char *HiScoreFile=NULL,*ServerName=NULL,*Pager=NULL;
        char WantHelp,WantVersion,WantAntique,WantColour,WantNetwork;
        char WantedClient;
       t@@ -160,6 +160,9 @@ struct GLOBALS Globals[NUMGLOB] = {
             NULL,NULL,0,"",NULL,NULL },
           { &Sanitized,NULL,NULL,NULL,"Sanitized",N_("Random events are sanitized"),
             NULL,NULL,0,"",NULL,NULL },
       +   { &DrugValue,NULL,NULL,NULL,"DrugValue",
       +     N_("Non-zero if the total value of bought drugs should be stored"),
       +     NULL,NULL,0,"",NULL,NULL },
           { &ConfigVerbose,NULL,NULL,NULL,"ConfigVerbose",
             N_("Be verbose in processing config file"),NULL,NULL,0,"",NULL,NULL },
           { &NumLocation,NULL,NULL,NULL,"NumLocation",
       t@@ -747,8 +750,12 @@ void ClearInventory(Inventory *Guns,Inventory *Drugs) {
        /* This function simply clears the given inventories "Guns" */
        /* and "Drugs" if they are non-NULL                         */
           int i;
       -   if (Guns) for (i=0;i<NumGun;i++) Guns[i].Carried=0;
       -   if (Drugs) for (i=0;i<NumDrug;i++) Drugs[i].Carried=0;
       +   if (Guns) for (i=0;i<NumGun;i++) {
       +      Guns[i].Carried=0; Guns[i].TotalValue=0;
       +   }
       +   if (Drugs) for (i=0;i<NumDrug;i++) {
       +      Drugs[i].Carried=0; Drugs[i].TotalValue=0;
       +   }
        }
        
        char IsInventoryClear(Inventory *Guns,Inventory *Drugs) {
       t@@ -762,6 +769,9 @@ char IsInventoryClear(Inventory *Guns,Inventory *Drugs) {
        void AddInventory(Inventory *Cumul,Inventory *Add,int Length) {
        /* Adds inventory "Add" into the contents of inventory "Cumul" */
        /* Each inventory is of length "Length"                        */
       +/* N.B. TotalValue is not modified, as it is assumed that the  */
       +/* new items are free (if this is not the case it must be      */
       +/* handled elsewhere).                                         */
           int i;
           for (i=0;i<Length;i++) Cumul[i].Carried+=Add[i].Carried;
        }
       t@@ -825,9 +835,14 @@ void TruncateInventoryFor(Inventory *Guns,Inventory *Drugs,
                 Total+=Gun[CheapIndex].Space;
              } else {
                 if (Drugs && Drugs[CheapIndex].Carried >= -Total) {
       +            Drugs[CheapIndex].TotalValue =
       +                   Drugs[CheapIndex].TotalValue*
       +                   (Drugs[CheapIndex].Carried+Total)/
       +                   Drugs[CheapIndex].Carried;
                    Drugs[CheapIndex].Carried += Total; Total=0;
                 } else {
                    Total+=Drugs[CheapIndex].Carried; Drugs[CheapIndex].Carried=0;
       +            Drugs[CheapIndex].TotalValue=0;
                 }
              }
           }
       t@@ -1376,6 +1391,7 @@ void SetupParameters() {
           Gun=NULL;
           Drug=NULL;
           SubwaySaying=Playing=StoppedTo=NULL;
       +   DrugValue=1;
           NumLocation=NumGun=NumDrug=0;
           FirstClient=FirstServer=NULL;
           Noone.Name=g_strdup("Noone");
 (DIR) diff --git a/src/dopewars.h b/src/dopewars.h
       t@@ -70,10 +70,9 @@ typedef long price_t;
        typedef long long price_t;
        #endif
        
       -#define NMLEN 20
       -
        #define A_PLAYERID      0
       -#define A_NUM           1
       +#define A_DRUGVALUE     1
       +#define A_NUM           2
        typedef struct ABILITIES {
           gboolean Local[A_NUM];
           gboolean Remote[A_NUM];
       t@@ -111,7 +110,7 @@ struct BITCH {
        
        extern int ClientSock,ListenSock;
        extern char Network,Client,Server,NotifyMetaServer,AIPlayer;
       -extern int Port,Sanitized;
       +extern int Port,Sanitized,DrugValue;
        extern int NumLocation,NumGun,NumDrug,NumSubway,NumPlaying,NumStoppedTo;
        extern gchar *HiScoreFile,*ServerName,*Pager;
        extern char WantHelp,WantVersion,WantAntique,WantColour,WantNetwork;
       t@@ -138,8 +137,6 @@ extern int NumTurns;
        #define DS_CHEAPLAST  4
        #define DS_MAX        5
        
       -#define NAMELEN      37
       -#define BUFLEN       600
        #define NUMSUBWAY    31
        #define NUMHISCORE   18
        #define NUMSTOPPEDTO 5
       t@@ -256,7 +253,7 @@ struct DRUGS {
        extern struct DRUGS Drugs;
        
        struct INVENTORY {
       -   price_t Price;
       +   price_t Price,TotalValue;
           int Carried;
        };
        typedef struct INVENTORY Inventory;
       t@@ -314,7 +311,7 @@ typedef struct tag_serverdata {
           char *Comment,*Version,*Update,*UpSince;
        } ServerData;
        
       -#define NUMGLOB 79
       +#define NUMGLOB 80
        struct GLOBALS {
           int *IntVal;
           price_t *PriceVal;
 (DIR) diff --git a/src/gtk_client.c b/src/gtk_client.c
       t@@ -376,10 +376,10 @@ void HandleClientMessage(char *pt,Player *Play) {
                 break;
              case C_UPDATE:
                 if (From==&Noone) {
       -            ReceivePlayerData(Data,Play);
       +            ReceivePlayerData(Play,Data,Play);
                    UpdateStatus(Play,TRUE);
                 } else {
       -            ReceivePlayerData(Data,From);
       +            ReceivePlayerData(Play,Data,From);
                    DisplaySpyReports(From);
                 }
                 break;
       t@@ -683,7 +683,7 @@ void UpdateInventory(struct InventoryWidgets *Inven,
           gint i,row,selectrow[2];
           gpointer rowdata;
           price_t price;
       -   gchar *titles[2];
       +   gchar *titles[2],*prstr;
           gboolean CanBuy=FALSE,CanSell=FALSE,CanDrop=FALSE;
           GList *glist[2],*selection;
           GtkCList *clist[2];
       t@@ -738,7 +738,13 @@ void UpdateInventory(struct InventoryWidgets *Inven,
        
              if (Objects[i].Carried > 0) {
                 if (price>0) CanSell=TRUE; else CanDrop=TRUE;
       -         titles[1] = g_strdup_printf("%d",Objects[i].Carried);
       +         if (HaveAbility(ClientData.Play,A_DRUGVALUE)) {
       +            prstr=FormatPrice(Objects[i].TotalValue/Objects[i].Carried);
       +            titles[1] = g_strdup_printf("%d @ %s",Objects[i].Carried,prstr);
       +            g_free(prstr);
       +         } else {
       +            titles[1] = g_strdup_printf("%d",Objects[i].Carried);
       +         }
                 row=gtk_clist_append(GTK_CLIST(carrylist),titles); g_free(titles[1]);
                 gtk_clist_set_row_data(GTK_CLIST(carrylist),row,GINT_TO_POINTER(i));
                 if (g_list_find(glist[0],GINT_TO_POINTER(i))) {
 (DIR) diff --git a/src/message.c b/src/message.c
       t@@ -209,6 +209,7 @@ void InitAbilities(Player *Play) {
           }
        /* Set local abilities */
           Play->Abil.Local[A_PLAYERID]=TRUE;
       +   Play->Abil.Local[A_DRUGVALUE]=(DrugValue ? TRUE : FALSE);
           if (!Network) for (i=0;i<A_NUM;i++) {
              Play->Abil.Remote[i]=Play->Abil.Shared[i]=Play->Abil.Local[i];
           }
       t@@ -452,7 +453,7 @@ void ReceiveInventory(char *Data,Inventory *Guns,Inventory *Drugs) {
        
        void SendPlayerData(Player *To) {
        /* Sends all pertinent data about player "To" from the server to player "To" */
       -   SendSpyReport(NULL,To);
       +   SendSpyReport(To,To);
        }
        
        void SendSpyReport(Player *To,Player *SpiedOn) {
       t@@ -474,9 +475,14 @@ void SendSpyReport(Player *To,Player *SpiedOn) {
           for (i=0;i<NumDrug;i++) {
              g_string_sprintfa(text,"%d^",SpiedOn->Drugs[i].Carried);
           }
       +   if (HaveAbility(To,A_DRUGVALUE)) for (i=0;i<NumDrug;i++) {
       +      g_string_sprintfa(text,"%s^",
       +                        (cashstr=pricetostr(SpiedOn->Drugs[i].TotalValue)));
       +      g_free(cashstr);
       +   }
           g_string_sprintfa(text,"%d",SpiedOn->Bitches.Carried);
       -   if (To) SendServerMessage(SpiedOn,C_NONE,C_UPDATE,To,text->str);
       -   else SendServerMessage(NULL,C_NONE,C_UPDATE,SpiedOn,text->str);
       +   if (To!=SpiedOn) SendServerMessage(SpiedOn,C_NONE,C_UPDATE,To,text->str);
       +   else SendServerMessage(NULL,C_NONE,C_UPDATE,To,text->str);
           g_string_free(text,TRUE);
        }
        
       t@@ -590,8 +596,9 @@ void ReceiveMiscData(char *Data) {
           }
        }
        
       -void ReceivePlayerData(char *text,Player *From) {
       -/* Decode player data from the string "text" into player "From" */
       +void ReceivePlayerData(Player *Play,char *text,Player *From) {
       +/* Decode player data from the string "text" into player "From"; "Play" */
       +/* specifies the player that owns the network connection.               */
           char *cp;
           int i;
           cp=text;
       t@@ -609,6 +616,9 @@ void ReceivePlayerData(char *text,Player *From) {
           for (i=0;i<NumDrug;i++) {
              From->Drugs[i].Carried=GetNextInt(&cp,0);
           }
       +   if (HaveAbility(Play,A_DRUGVALUE)) for (i=0;i<NumDrug;i++) {
       +      From->Drugs[i].TotalValue=GetNextPrice(&cp,0);
       +   }
           From->Bitches.Carried=GetNextInt(&cp,0);
        }
        
 (DIR) diff --git a/src/message.h b/src/message.h
       t@@ -124,7 +124,7 @@ void SendInventory(Player *From,char AICode,char Code,Player *To,
        void ReceiveInventory(char *Data,Inventory *Guns,Inventory *Drugs);
        void SendPlayerData(Player *To);
        void SendSpyReport(Player *To,Player *SpiedOn);
       -void ReceivePlayerData(char *text,Player *From);
       +void ReceivePlayerData(Player *Play,char *text,Player *From);
        void SendInitialData(Player *To);
        void ReceiveInitialData(Player *Play,char *data);
        void SendMiscData(Player *To);
 (DIR) diff --git a/src/serverside.c b/src/serverside.c
       t@@ -1442,6 +1442,8 @@ int RandomOffer(Player *To) {
              } else {
                 g_string_sprintf(text,
                     _("You meet a friend! You give him %d %s."),amount,Drug[ind].Name);
       +         To->Drugs[ind].TotalValue = To->Drugs[ind].TotalValue*
       +                    (To->Drugs[ind].Carried-amount)/To->Drugs[ind].Carried;
                 To->Drugs[ind].Carried-=amount;
                 To->CoatSize+=amount;
              }
       t@@ -1456,6 +1458,8 @@ int RandomOffer(Player *To) {
                 g_string_sprintf(text,_("Police dogs chase you for %d blocks! "
                                  "You dropped some %s! That's a drag, man!"),
                                  brandom(3,7),Names.Drugs);
       +         To->Drugs[ind].TotalValue = To->Drugs[ind].TotalValue*
       +                    (To->Drugs[ind].Carried-amount)/To->Drugs[ind].Carried;
                 To->Drugs[ind].Carried-=amount;
                 To->CoatSize+=amount;
                 SendPlayerData(To);
       t@@ -1481,6 +1485,8 @@ int RandomOffer(Player *To) {
              if (amount>To->Drugs[ind].Carried) amount=To->Drugs[ind].Carried;
              g_string_sprintf(text,_("Your mama made brownies with some of your %s! "
                               "They were great!"),Drug[ind].Name);
       +      To->Drugs[ind].TotalValue = To->Drugs[ind].TotalValue*
       +                 (To->Drugs[ind].Carried-amount)/To->Drugs[ind].Carried;
              To->Drugs[ind].Carried-=amount;
              To->CoatSize+=amount;
              SendPlayerData(To);
       t@@ -2023,6 +2029,12 @@ void BuyObject(Player *From,char *data) {
              if (index>=0 && index<NumDrug && From->Drugs[index].Carried+amount >= 0
                  && From->CoatSize-amount >= 0 && (From->Drugs[index].Price!=0 || 
                  amount<0) && From->Cash >= amount*From->Drugs[index].Price) {
       +         if (amount>0) {
       +            From->Drugs[index].TotalValue+=amount*From->Drugs[index].Price;
       +         } else {
       +            From->Drugs[index].TotalValue = From->Drugs[index].TotalValue*
       +                 (From->Drugs[index].Carried+amount)/From->Drugs[index].Carried;
       +         }
                 From->Drugs[index].Carried+=amount;
                 From->CoatSize-=amount;
                 From->Cash-=amount*From->Drugs[index].Price;
       t@@ -2105,6 +2117,8 @@ int LoseBitch(Player *Play,Inventory *Guns,Inventory *Drugs) {
           for (i=0;i<NumDrug;i++) if (Play->Drugs[i].Carried>0) {
              num=(int)((float)Play->Drugs[i].Carried/(Play->Bitches.Carried+2.0)+0.5);
              if (num>0) {
       +         Play->Drugs[i].TotalValue = Play->Drugs[i].TotalValue*
       +                 (Play->Drugs[i].Carried-num)/Play->Drugs[i].Carried;
                 Play->Drugs[i].Carried-=num;
                 if (Drugs) Drugs[i].Carried+=num;
                 Play->CoatSize+=num;
       t@@ -2116,6 +2130,8 @@ int LoseBitch(Player *Play,Inventory *Guns,Inventory *Drugs) {
              for (i=0;i<NumDrug;i++) {
                 if (Play->Drugs[i].Carried>0) {
                    losedrug=1; drugslost=1;
       +            Play->Drugs[i].TotalValue = Play->Drugs[i].TotalValue*
       +                   (Play->Drugs[i].Carried-1)/Play->Drugs[i].Carried;
                    Play->Drugs[i].Carried--;
                    Play->CoatSize++;
                    if (Play->CoatSize>=0) break;
 (DIR) diff --git a/src/win32_client.c b/src/win32_client.c
       t@@ -338,10 +338,10 @@ static void HandleClientMessage(char *pt,Player *Play) {
                 break;
              case C_UPDATE:
                 if (From==&Noone) {
       -            ReceivePlayerData(Data,Play);
       +            ReceivePlayerData(Play,Data,Play);
                    UpdateStatus(Play,TRUE);
                 } else {
       -            ReceivePlayerData(Data,From);
       +            ReceivePlayerData(Play,Data,From);
                    DisplaySpyReports(From);
                 }
                 break;