tServer now ignores client's "From:" field - 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 d3786b088df3c7418938c90b770263d8d52b6c32
(DIR) parent f4eaf3281460590a2efc99b13f9715c1319d73c4
(HTM) Author: Ben Webb <ben@salilab.org>
Date: Tue, 12 Sep 2000 17:38:29 +0000
Server now ignores client's "From:" field
Diffstat:
M po/cat-id-tbl.c | 315 +++++++++++++++----------------
M po/dopewars.pot | 278 +++++++++++++++----------------
M src/message.c | 6 +++++-
M src/serverside.c | 211 +++++++++++++++----------------
4 files changed, 398 insertions(+), 412 deletions(-)
---
(DIR) diff --git a/po/cat-id-tbl.c b/po/cat-id-tbl.c
t@@ -541,187 +541,184 @@ Valid variables are listed below:-\n\
{"cannot locate metaserver\n", 441},
{"cannot create socket for metaserver communication\n", 442},
{"cannot read high score file\n", 443},
+ {"MaxClients (%d) exceeded - dropping connection", 444},
{"\
-Message is lying about its origin\n\
-%s: %c: %s: %s\n\
-Should be from %s", 444},
- {"MaxClients (%d) exceeded - dropping connection", 445},
+Sorry, but this server has a limit of 1 player, which has been \
+reached.^Please try connecting again later.", 445},
{"\
-Sorry, but this server has a limit of %d %s, which has been reached.^Please \
-try connecting again later.", 446},
- {"player", 447},
- {"players", 448},
- {"%s will now be known as %s", 449},
- {"Your dealing time is up...", 450},
- {"%s: DENIED jet to %s", 451},
- {"%s now spying on %s", 452},
- {"%s spy on %s: DENIED", 453},
- {"%s tipped off the cops to %s", 454},
- {"%s tipoff about %s: DENIED", 455},
- {"--More--", 456},
- {"Pager exited abnormally - using stdout instead...", 457},
- {"Maintaining pid file %s", 458},
- {"Cannot create pid file %s", 459},
+Sorry, but this server has a limit of %d players, which has been \
+reached.^Please try connecting again later.", 446},
+ {"%s will now be known as %s", 447},
+ {"Your dealing time is up...", 448},
+ {"%s: DENIED jet to %s", 449},
+ {"%s now spying on %s", 450},
+ {"%s spy on %s: DENIED", 451},
+ {"%s tipped off the cops to %s", 452},
+ {"%s tipoff about %s: DENIED", 453},
+ {"--More--", 454},
+ {"Pager exited abnormally - using stdout instead...", 455},
+ {"Maintaining pid file %s", 456},
+ {"Cannot create pid file %s", 457},
{"\
Cannot open high score file %s.\n\
Either ensure you have permissions to access this file and directory, or\n\
-specify an alternate high score file with the -f command line option.", 460},
+specify an alternate high score file with the -f command line option.", 458},
{"\
dopewars server version %s ready and waiting for connections\n\
-on port %d. For assistance with server commands, enter the command \"help\"\n", 461},
- {"Cannot install SIGUSR1 interrupt handler!", 462},
- {"Cannot install SIGINT interrupt handler!", 463},
- {"Cannot install SIGTERM interrupt handler!", 464},
- {"Cannot install SIGHUP interrupt handler!", 465},
- {"Cannot install pipe handler!", 466},
- {"Users currently logged on:-\n", 467},
- {"No users currently logged on!", 468},
- {"Pushing %s", 469},
- {"No such user!", 470},
- {"%s killed", 471},
- {"Unknown command - try \"help\" for help...", 472},
- {"got connection from %s", 473},
- {"%s leaves the server!", 474},
- {"Standard input closed.", 475},
- {"Unable to read high score file %s", 476},
- {"Congratulations! You made the high scores!", 477},
- {"You didn't even make the high score table...", 478},
- {"Unable to write high score file %s", 479},
- {"(R.I.P.)", 480},
- {"%s: Tipoff from %s", 481},
- {"One of your %s was spying for %s.^The spy %s!", 482},
- {"Your spy working with %s has been discovered!^The spy %s!", 483},
- {" The lady next to you on the subway said,^ \"%s\"%s", 484},
- {"^ (at least, you -think- that's what she said)", 485},
- {" You hear someone playing %s", 486},
- {"YN^Would you like to visit %s?", 487},
- {"YN^^Would you like to hire %s %s for %s?", 488},
- {"an", 489},
- {"a", 490},
- {"AE^%s is already here!^Do you Attack, or Evade?", 491},
- {"YN^Officer %s is chasing you!", 492},
- {"YN^Officer %s and %d of his deputies are chasing you!", 493},
- {"^Do you run?", 494},
- {"^Do you Run, or Fight?", 495},
- {"%s: tipoff by %s finished OK.", 496},
- {"Following your tipoff, the cops ambushed %s, who was shot dead", 497},
- {"Following your tipoff, the cops ambushed %s, who escaped with %d %s. ", 498},
- {"^You stand there like an idiot.", 499},
- {"^You lose him in the alleys.", 500},
- {"^You lose them in the alleys.", 501},
- {"^You can't shake him, man!", 502},
- {"^You can't shake them, man!", 503},
- {"^You killed Officer %s! You find %s on his corpse!", 504},
- {"YN^^^^Do you pay a doctor %s to sew your %s up?", 505},
- {"YN^^^^Do you pay a doctor %s to sew you up?", 506},
- {"^You got one, man!", 507},
- {"^You missed!", 508},
- {"^He's firing on you, man! ", 509},
- {"^They're firing on you, man! ", 510},
- {"You've been hit! ", 511},
- {"He wasted you, man! What a drag!", 512},
- {"They wasted you, man! What a drag!", 513},
- {"You lost one of your %s!", 514},
- {"He missed!", 515},
- {"They missed!", 516},
- {"You were mugged in the subway!", 517},
- {"You meet a friend! He gives you %d %s.", 518},
- {"You meet a friend! You give him %d %s.", 519},
- {"Sanitized away a RandomOffer", 520},
+on port %d. For assistance with server commands, enter the command \"help\"\n", 459},
+ {"Cannot install SIGUSR1 interrupt handler!", 460},
+ {"Cannot install SIGINT interrupt handler!", 461},
+ {"Cannot install SIGTERM interrupt handler!", 462},
+ {"Cannot install SIGHUP interrupt handler!", 463},
+ {"Cannot install pipe handler!", 464},
+ {"Users currently logged on:-\n", 465},
+ {"No users currently logged on!", 466},
+ {"Pushing %s", 467},
+ {"No such user!", 468},
+ {"%s killed", 469},
+ {"Unknown command - try \"help\" for help...", 470},
+ {"got connection from %s", 471},
+ {"%s leaves the server!", 472},
+ {"Standard input closed.", 473},
+ {"Unable to read high score file %s", 474},
+ {"Congratulations! You made the high scores!", 475},
+ {"You didn't even make the high score table...", 476},
+ {"Unable to write high score file %s", 477},
+ {"(R.I.P.)", 478},
+ {"%s: Tipoff from %s", 479},
+ {"One of your %s was spying for %s.^The spy %s!", 480},
+ {"Your spy working with %s has been discovered!^The spy %s!", 481},
+ {" The lady next to you on the subway said,^ \"%s\"%s", 482},
+ {"^ (at least, you -think- that's what she said)", 483},
+ {" You hear someone playing %s", 484},
+ {"YN^Would you like to visit %s?", 485},
+ {"YN^^Would you like to hire %s %s for %s?", 486},
+ {"an", 487},
+ {"a", 488},
+ {"AE^%s is already here!^Do you Attack, or Evade?", 489},
+ {"YN^Officer %s is chasing you!", 490},
+ {"YN^Officer %s and %d of his deputies are chasing you!", 491},
+ {"^Do you run?", 492},
+ {"^Do you Run, or Fight?", 493},
+ {"%s: tipoff by %s finished OK.", 494},
+ {"Following your tipoff, the cops ambushed %s, who was shot dead", 495},
+ {"Following your tipoff, the cops ambushed %s, who escaped with %d %s. ", 496},
+ {"^You stand there like an idiot.", 497},
+ {"^You lose him in the alleys.", 498},
+ {"^You lose them in the alleys.", 499},
+ {"^You can't shake him, man!", 500},
+ {"^You can't shake them, man!", 501},
+ {"^You killed Officer %s! You find %s on his corpse!", 502},
+ {"YN^^^^Do you pay a doctor %s to sew your %s up?", 503},
+ {"YN^^^^Do you pay a doctor %s to sew you up?", 504},
+ {"^You got one, man!", 505},
+ {"^You missed!", 506},
+ {"^He's firing on you, man! ", 507},
+ {"^They're firing on you, man! ", 508},
+ {"You've been hit! ", 509},
+ {"He wasted you, man! What a drag!", 510},
+ {"They wasted you, man! What a drag!", 511},
+ {"You lost one of your %s!", 512},
+ {"He missed!", 513},
+ {"They missed!", 514},
+ {"You were mugged in the subway!", 515},
+ {"You meet a friend! He gives you %d %s.", 516},
+ {"You meet a friend! You give him %d %s.", 517},
+ {"Sanitized away a RandomOffer", 518},
{"\
-Police dogs chase you for %d blocks! You dropped some %s! That's a drag, man!", 521},
- {"You find %d %s on a dead dude in the subway!", 522},
- {"Your mama made brownies with some of your %s! They were great!", 523},
+Police dogs chase you for %d blocks! You dropped some %s! That's a drag, man!", 519},
+ {"You find %d %s on a dead dude in the subway!", 520},
+ {"Your mama made brownies with some of your %s! They were great!", 521},
{"\
YN^There is some weed that smells like paraquat here!^It looks good! Will \
-you smoke it? ", 524},
- {"You stopped to %s.", 525},
- {"Would you like to buy a bigger trenchcoat for %s?", 526},
- {"YN^Hey dude! I'll help carry your %s for a mere %s. Yes or no?", 527},
- {"YN^Would you like to buy a %s for %s?", 528},
- {"%s: offer was on behalf of %s", 529},
- {"%s has accepted your %s!^Use the G key to contact your spy.", 530},
+you smoke it? ", 522},
+ {"You stopped to %s.", 523},
+ {"Would you like to buy a bigger trenchcoat for %s?", 524},
+ {"YN^Hey dude! I'll help carry your %s for a mere %s. Yes or no?", 525},
+ {"YN^Would you like to buy a %s for %s?", 526},
+ {"%s: offer was on behalf of %s", 527},
+ {"%s has accepted your %s!^Use the G key to contact your spy.", 528},
{"\
You hallucinated for three days on the wildest trip you ever imagined!^Then \
-you died because your brain disintegrated!", 531},
- {"Too late - %s has just left!", 532},
- {"%s has rejected your %s!", 533},
- {"%s has got away!", 534},
- {"%s has run off!", 535},
- {"Coward! You successfully escaped from the fight.", 536},
- {"pitifully armed", 537},
- {"lightly armed", 538},
- {"moderately well armed", 539},
- {"heavily armed", 540},
- {"armed to the teeth", 541},
- {" fires and ", 542},
- {" stands and takes it.", 543},
- {"%s arrives, with %d %s, %s,^%s", 544},
- {"%s arrives, %s,^%s", 545},
- {"%s fires and ", 546},
- {"%s stands and takes it.", 547},
- {"misses you!", 548},
- {"You failed to hit %s.", 549},
- {"You stand and take it.", 550},
- {"hits you, man!", 551},
- {" You've been wasted! What a drag!", 552},
- {"You hit and killed %s", 553},
- {", and loot the body!", 554},
- {"^You lost a %s, man!", 555},
- {"You are paid a bounty of %s in reward for killing^one of %s's %s", 556},
- {"You killed one of %s's %s (%d left)", 557},
- {"You fire, and hit %s!", 558},
- {"YN^Officer %%s spots you dropping %s, and chases you!", 559},
+you died because your brain disintegrated!", 529},
+ {"Too late - %s has just left!", 530},
+ {"%s has rejected your %s!", 531},
+ {"%s has got away!", 532},
+ {"%s has run off!", 533},
+ {"Coward! You successfully escaped from the fight.", 534},
+ {"pitifully armed", 535},
+ {"lightly armed", 536},
+ {"moderately well armed", 537},
+ {"heavily armed", 538},
+ {"armed to the teeth", 539},
+ {" fires and ", 540},
+ {" stands and takes it.", 541},
+ {"%s arrives, with %d %s, %s,^%s", 542},
+ {"%s arrives, %s,^%s", 543},
+ {"%s fires and ", 544},
+ {"%s stands and takes it.", 545},
+ {"misses you!", 546},
+ {"You failed to hit %s.", 547},
+ {"You stand and take it.", 548},
+ {"hits you, man!", 549},
+ {" You've been wasted! What a drag!", 550},
+ {"You hit and killed %s", 551},
+ {", and loot the body!", 552},
+ {"^You lost a %s, man!", 553},
+ {"You are paid a bounty of %s in reward for killing^one of %s's %s", 554},
+ {"You killed one of %s's %s (%d left)", 555},
+ {"You fire, and hit %s!", 556},
+ {"YN^Officer %%s spots you dropping %s, and chases you!", 557},
{"\
-YN^Officer %%s and %%d of his deputies spot you dropping %s, and chase you!", 560},
- {"Player removed due to idle timeout", 561},
- {"Player removed due to connect timeout", 562},
- {"%s fails to return fire...", 563},
+YN^Officer %%s and %%d of his deputies spot you dropping %s, and chase you!", 558},
+ {"Player removed due to idle timeout", 559},
+ {"Player removed due to connect timeout", 560},
+ {"%s fails to return fire...", 561},
{"\
This server is version %s, while your client is version %s.\n\
Be warned that different versions may not be fully compatible!\n\
Refer to the website at http://bellatrix.pcl.ox.ac.uk/~ben/dopewars/\n\
-for the latest version.", 564},
- {"Could not find host", 565},
- {"Could not create network socket", 566},
- {"Connection refused or no server present", 567},
- {"Cannot locate metaserver", 568},
- {"Cannot create socket", 569},
- {"Metaserver not running HTTP or connection denied", 570},
- {"AI Player started; attempting to contact server at %s:%d...", 571},
+for the latest version.", 562},
+ {"Could not find host", 563},
+ {"Could not create network socket", 564},
+ {"Connection refused or no server present", 565},
+ {"Cannot locate metaserver", 566},
+ {"Cannot create socket", 567},
+ {"Metaserver not running HTTP or connection denied", 568},
+ {"AI Player started; attempting to contact server at %s:%d...", 569},
{"\
Could not connect to dopewars server\n\
(%s)\n\
-AI Player terminating abnormally.", 572},
- {"Connection established\n", 573},
- {"Connection to server lost!\n", 574},
- {"AI Player terminated OK.\n", 575},
- {"Using name %s\n", 576},
- {"Players in this game:-\n", 577},
- {"%s joins the game.\n", 578},
- {"%s has left the game.\n", 579},
- {"Jetting to %s with %s cash and %s debt", 580},
- {"AI Player killed. Terminating normally.\n", 581},
- {"Game time is up. Leaving game.\n", 582},
- {"AI Player pushed from the server.\n", 583},
- {"The server has terminated.\n", 584},
- {"Selling %d %s at %s\n", 585},
- {"Buying %d %s at %s\n", 586},
- {"Buying a %s for %s at the gun shop\n", 587},
- {"Debt of %s paid off to loan shark\n", 588},
- {"Loan shark located at %s\n", 589},
- {"Gun shop located at %s\n", 590},
- {"Pub located at %s\n", 591},
- {"Bank located at %s\n", 592},
- {"Call yourselves drug dealers?", 593},
- {"A trained monkey could do better...", 594},
- {"Think you're hard enough to deal with the likes of me?", 595},
- {"Zzzzz... are you dealing in candy or what?", 596},
- {"Reckon I'll just have to shoot you for your own good.", 597},
+AI Player terminating abnormally.", 570},
+ {"Connection established\n", 571},
+ {"Connection to server lost!\n", 572},
+ {"AI Player terminated OK.\n", 573},
+ {"Using name %s\n", 574},
+ {"Players in this game:-\n", 575},
+ {"%s joins the game.\n", 576},
+ {"%s has left the game.\n", 577},
+ {"Jetting to %s with %s cash and %s debt", 578},
+ {"AI Player killed. Terminating normally.\n", 579},
+ {"Game time is up. Leaving game.\n", 580},
+ {"AI Player pushed from the server.\n", 581},
+ {"The server has terminated.\n", 582},
+ {"Selling %d %s at %s\n", 583},
+ {"Buying %d %s at %s\n", 584},
+ {"Buying a %s for %s at the gun shop\n", 585},
+ {"Debt of %s paid off to loan shark\n", 586},
+ {"Loan shark located at %s\n", 587},
+ {"Gun shop located at %s\n", 588},
+ {"Pub located at %s\n", 589},
+ {"Bank located at %s\n", 590},
+ {"Call yourselves drug dealers?", 591},
+ {"A trained monkey could do better...", 592},
+ {"Think you're hard enough to deal with the likes of me?", 593},
+ {"Zzzzz... are you dealing in candy or what?", 594},
+ {"Reckon I'll just have to shoot you for your own good.", 595},
{"\
This binary has been compiled without networking support, and thus cannot \
act as an AI player.\n\
-Recompile passing --enable-networking to the configure script.", 598},
+Recompile passing --enable-networking to the configure script.", 596},
};
-int _msg_tbl_length = 598;
+int _msg_tbl_length = 596;
(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-12 15:45+0100\n"
+"POT-Creation-Date: 2000-09-12 18:35+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@@ -1104,7 +1104,7 @@ msgstr ""
msgid "The server has terminated. Reverting to single player mode."
msgstr ""
-#: src/curses_client.c:646 src/gtk_client.c:337 src/serverside.c:263
+#: src/curses_client.c:646 src/gtk_client.c:337 src/serverside.c:250
#, c-format
msgid "%s joins the game!"
msgstr ""
t@@ -1948,87 +1948,77 @@ msgstr ""
msgid "cannot read high score file\n"
msgstr ""
-#: src/serverside.c:207
-#, c-format
-msgid ""
-"Message is lying about its origin\n"
-"%s: %c: %s: %s\n"
-"Should be from %s"
-msgstr ""
-
-#: src/serverside.c:271
+#: src/serverside.c:257
#, c-format
msgid "MaxClients (%d) exceeded - dropping connection"
msgstr ""
-#: src/serverside.c:273
-#, c-format
+#: src/serverside.c:261
msgid ""
-"Sorry, but this server has a limit of %d %s, which has been reached.^Please "
-"try connecting again later."
+"Sorry, but this server has a limit of 1 player, which has been "
+"reached.^Please try connecting again later."
msgstr ""
-#: src/serverside.c:275
-msgid "player"
-msgstr ""
-
-#: src/serverside.c:275
-msgid "players"
+#: src/serverside.c:266
+#, c-format
+msgid ""
+"Sorry, but this server has a limit of %d players, which has been "
+"reached.^Please try connecting again later."
msgstr ""
-#: src/serverside.c:284
+#: src/serverside.c:279
#, c-format
msgid "%s will now be known as %s"
msgstr ""
-#: src/serverside.c:299
+#: src/serverside.c:294
msgid "Your dealing time is up..."
msgstr ""
-#: src/serverside.c:310
+#: src/serverside.c:305
#, c-format
msgid "%s: DENIED jet to %s"
msgstr ""
-#: src/serverside.c:367
+#: src/serverside.c:362
#, c-format
msgid "%s now spying on %s"
msgstr ""
-#: src/serverside.c:375
+#: src/serverside.c:370
#, c-format
msgid "%s spy on %s: DENIED"
msgstr ""
-#: src/serverside.c:381
+#: src/serverside.c:376
#, c-format
msgid "%s tipped off the cops to %s"
msgstr ""
-#: src/serverside.c:389
+#: src/serverside.c:384
#, c-format
msgid "%s tipoff about %s: DENIED"
msgstr ""
-#: src/serverside.c:497
+#: src/serverside.c:492
msgid "--More--"
msgstr ""
-#: src/serverside.c:508
+#: src/serverside.c:503
msgid "Pager exited abnormally - using stdout instead..."
msgstr ""
-#: src/serverside.c:523
+#: src/serverside.c:518
#, c-format
msgid "Maintaining pid file %s"
msgstr ""
-#: src/serverside.c:527
+#: src/serverside.c:522
#, c-format
msgid "Cannot create pid file %s"
msgstr ""
-#: src/serverside.c:576
+#: src/serverside.c:571
#, c-format
msgid ""
"Cannot open high score file %s.\n"
t@@ -2036,144 +2026,144 @@ msgid ""
"specify an alternate high score file with the -f command line option."
msgstr ""
-#: src/serverside.c:613
+#: src/serverside.c:608
#, c-format
msgid ""
"dopewars server version %s ready and waiting for connections\n"
"on port %d. For assistance with server commands, enter the command \"help\"\n"
msgstr ""
-#: src/serverside.c:630
+#: src/serverside.c:625
msgid "Cannot install SIGUSR1 interrupt handler!"
msgstr ""
-#: src/serverside.c:636
+#: src/serverside.c:631
msgid "Cannot install SIGINT interrupt handler!"
msgstr ""
-#: src/serverside.c:639
+#: src/serverside.c:634
msgid "Cannot install SIGTERM interrupt handler!"
msgstr ""
-#: src/serverside.c:642
+#: src/serverside.c:637
msgid "Cannot install SIGHUP interrupt handler!"
msgstr ""
-#: src/serverside.c:647
+#: src/serverside.c:642
msgid "Cannot install pipe handler!"
msgstr ""
-#: src/serverside.c:670
+#: src/serverside.c:665
msgid "Users currently logged on:-\n"
msgstr ""
-#: src/serverside.c:675
+#: src/serverside.c:670
msgid "No users currently logged on!"
msgstr ""
-#: src/serverside.c:679
+#: src/serverside.c:674
#, c-format
msgid "Pushing %s"
msgstr ""
-#: src/serverside.c:681 src/serverside.c:689
+#: src/serverside.c:676 src/serverside.c:684
msgid "No such user!"
msgstr ""
-#: src/serverside.c:685
+#: src/serverside.c:680
#, c-format
msgid "%s killed"
msgstr ""
-#: src/serverside.c:691
+#: src/serverside.c:686
msgid "Unknown command - try \"help\" for help..."
msgstr ""
-#: src/serverside.c:708
+#: src/serverside.c:703
#, c-format
msgid "got connection from %s"
msgstr ""
-#: src/serverside.c:724
+#: src/serverside.c:719
#, c-format
msgid "%s leaves the server!"
msgstr ""
-#: src/serverside.c:792
+#: src/serverside.c:787
msgid "Standard input closed."
msgstr ""
-#: src/serverside.c:935
+#: src/serverside.c:930
#, c-format
msgid "Unable to read high score file %s"
msgstr ""
-#: src/serverside.c:955
+#: src/serverside.c:950
msgid "Congratulations! You made the high scores!"
msgstr ""
-#: src/serverside.c:968
+#: src/serverside.c:963
msgid "You didn't even make the high score table..."
msgstr ""
-#: src/serverside.c:982
+#: src/serverside.c:977
#, c-format
msgid "Unable to write high score file %s"
msgstr ""
-#: src/serverside.c:1001
+#: src/serverside.c:996
msgid "(R.I.P.)"
msgstr ""
-#: src/serverside.c:1036
+#: src/serverside.c:1031
#, c-format
msgid "%s: Tipoff from %s"
msgstr ""
-#: src/serverside.c:1053
+#: src/serverside.c:1048
#, c-format
msgid "One of your %s was spying for %s.^The spy %s!"
msgstr ""
-#: src/serverside.c:1061
+#: src/serverside.c:1056
#, c-format
msgid "Your spy working with %s has been discovered!^The spy %s!"
msgstr ""
-#: src/serverside.c:1084
+#: src/serverside.c:1079
#, c-format
msgid " The lady next to you on the subway said,^ \"%s\"%s"
msgstr ""
-#: src/serverside.c:1087
+#: src/serverside.c:1082
msgid "^ (at least, you -think- that's what she said)"
msgstr ""
-#: src/serverside.c:1089
+#: src/serverside.c:1084
#, c-format
msgid " You hear someone playing %s"
msgstr ""
-#: src/serverside.c:1098 src/serverside.c:1107 src/serverside.c:1116
-#: src/serverside.c:1125
+#: src/serverside.c:1093 src/serverside.c:1102 src/serverside.c:1111
+#: src/serverside.c:1120
#, c-format
msgid "YN^Would you like to visit %s?"
msgstr ""
-#: src/serverside.c:1136
+#: src/serverside.c:1131
#, c-format
msgid "YN^^Would you like to hire %s %s for %s?"
msgstr ""
-#: src/serverside.c:1137
+#: src/serverside.c:1132
msgid "an"
msgstr ""
-#: src/serverside.c:1137
+#: src/serverside.c:1132
msgid "a"
msgstr ""
-#: src/serverside.c:1149
+#: src/serverside.c:1144
#, c-format
msgid "AE^%s is already here!^Do you Attack, or Evade?"
msgstr ""
t@@ -2182,336 +2172,336 @@ msgstr ""
#. The format string used for this purpose can be altered by
#. passing non-NULL "LoneMessage" (for unaccompanied Officer
#. Hardass) and/or "DeputyMessage" (for him with x deputies)
-#: src/serverside.c:1218
+#: src/serverside.c:1213
#, c-format
msgid "YN^Officer %s is chasing you!"
msgstr ""
-#: src/serverside.c:1220
+#: src/serverside.c:1215
#, c-format
msgid "YN^Officer %s and %d of his deputies are chasing you!"
msgstr ""
-#: src/serverside.c:1241
+#: src/serverside.c:1236
msgid "^Do you run?"
msgstr ""
-#: src/serverside.c:1244
+#: src/serverside.c:1239
msgid "^Do you Run, or Fight?"
msgstr ""
-#: src/serverside.c:1259
+#: src/serverside.c:1254
#, c-format
msgid "%s: tipoff by %s finished OK."
msgstr ""
-#: src/serverside.c:1265
+#: src/serverside.c:1260
#, c-format
msgid "Following your tipoff, the cops ambushed %s, who was shot dead"
msgstr ""
-#: src/serverside.c:1269
+#: src/serverside.c:1264
#, c-format
msgid "Following your tipoff, the cops ambushed %s, who escaped with %d %s. "
msgstr ""
-#: src/serverside.c:1306
+#: src/serverside.c:1301
msgid "^You stand there like an idiot."
msgstr ""
-#: src/serverside.c:1310
+#: src/serverside.c:1305
msgid "^You lose him in the alleys."
msgstr ""
-#: src/serverside.c:1312
+#: src/serverside.c:1307
msgid "^You lose them in the alleys."
msgstr ""
-#: src/serverside.c:1320
+#: src/serverside.c:1315
msgid "^You can't shake him, man!"
msgstr ""
-#: src/serverside.c:1322
+#: src/serverside.c:1317
msgid "^You can't shake them, man!"
msgstr ""
-#: src/serverside.c:1333
+#: src/serverside.c:1328
#, c-format
msgid "^You killed Officer %s! You find %s on his corpse!"
msgstr ""
-#: src/serverside.c:1347
+#: src/serverside.c:1342
#, c-format
msgid "YN^^^^Do you pay a doctor %s to sew your %s up?"
msgstr ""
-#: src/serverside.c:1351
+#: src/serverside.c:1346
#, c-format
msgid "YN^^^^Do you pay a doctor %s to sew you up?"
msgstr ""
-#: src/serverside.c:1362
+#: src/serverside.c:1357
msgid "^You got one, man!"
msgstr ""
-#: src/serverside.c:1365
+#: src/serverside.c:1360
msgid "^You missed!"
msgstr ""
-#: src/serverside.c:1369
+#: src/serverside.c:1364
msgid "^He's firing on you, man! "
msgstr ""
-#: src/serverside.c:1371
+#: src/serverside.c:1366
msgid "^They're firing on you, man! "
msgstr ""
-#: src/serverside.c:1374
+#: src/serverside.c:1369
msgid "You've been hit! "
msgstr ""
-#: src/serverside.c:1381
+#: src/serverside.c:1376
msgid "He wasted you, man! What a drag!"
msgstr ""
-#: src/serverside.c:1383
+#: src/serverside.c:1378
msgid "They wasted you, man! What a drag!"
msgstr ""
-#: src/serverside.c:1391
+#: src/serverside.c:1386
#, c-format
msgid "You lost one of your %s!"
msgstr ""
-#: src/serverside.c:1400
+#: src/serverside.c:1395
msgid "He missed!"
msgstr ""
-#: src/serverside.c:1402
+#: src/serverside.c:1397
msgid "They missed!"
msgstr ""
-#: src/serverside.c:1422
+#: src/serverside.c:1417
msgid "You were mugged in the subway!"
msgstr ""
-#: src/serverside.c:1433
+#: src/serverside.c:1428
#, c-format
msgid "You meet a friend! He gives you %d %s."
msgstr ""
-#: src/serverside.c:1438
+#: src/serverside.c:1433
#, c-format
msgid "You meet a friend! You give him %d %s."
msgstr ""
-#: src/serverside.c:1445
+#: src/serverside.c:1440
msgid "Sanitized away a RandomOffer"
msgstr ""
-#: src/serverside.c:1450
+#: src/serverside.c:1445
#, c-format
msgid ""
"Police dogs chase you for %d blocks! You dropped some %s! That's a drag, man!"
msgstr ""
-#: src/serverside.c:1464
+#: src/serverside.c:1459
#, c-format
msgid "You find %d %s on a dead dude in the subway!"
msgstr ""
-#: src/serverside.c:1476
+#: src/serverside.c:1471
#, c-format
msgid "Your mama made brownies with some of your %s! They were great!"
msgstr ""
-#: src/serverside.c:1484
+#: src/serverside.c:1479
msgid ""
"YN^There is some weed that smells like paraquat here!^It looks good! Will "
"you smoke it? "
msgstr ""
-#: src/serverside.c:1491
+#: src/serverside.c:1486
#, c-format
msgid "You stopped to %s."
msgstr ""
-#: src/serverside.c:1512
+#: src/serverside.c:1507
#, c-format
msgid "Would you like to buy a bigger trenchcoat for %s?"
msgstr ""
-#: src/serverside.c:1517
+#: src/serverside.c:1512
#, c-format
msgid "YN^Hey dude! I'll help carry your %s for a mere %s. Yes or no?"
msgstr ""
-#: src/serverside.c:1529
+#: src/serverside.c:1524
#, c-format
msgid "YN^Would you like to buy a %s for %s?"
msgstr ""
-#: src/serverside.c:1630 src/serverside.c:1741
+#: src/serverside.c:1625 src/serverside.c:1736
#, c-format
msgid "%s: offer was on behalf of %s"
msgstr ""
-#: src/serverside.c:1633
+#: src/serverside.c:1628
#, c-format
msgid "%s has accepted your %s!^Use the G key to contact your spy."
msgstr ""
-#: src/serverside.c:1679
+#: src/serverside.c:1674
msgid ""
"You hallucinated for three days on the wildest trip you ever imagined!^Then "
"you died because your brain disintegrated!"
msgstr ""
-#: src/serverside.c:1718
+#: src/serverside.c:1713
#, c-format
msgid "Too late - %s has just left!"
msgstr ""
-#: src/serverside.c:1744
+#: src/serverside.c:1739
#, c-format
msgid "%s has rejected your %s!"
msgstr ""
-#: src/serverside.c:1779
+#: src/serverside.c:1774
#, c-format
msgid "%s has got away!"
msgstr ""
-#: src/serverside.c:1820
+#: src/serverside.c:1815
#, c-format
msgid "%s has run off!"
msgstr ""
-#: src/serverside.c:1832
+#: src/serverside.c:1827
msgid "Coward! You successfully escaped from the fight."
msgstr ""
-#: src/serverside.c:1888
+#: src/serverside.c:1883
msgid "pitifully armed"
msgstr ""
-#: src/serverside.c:1889
+#: src/serverside.c:1884
msgid "lightly armed"
msgstr ""
-#: src/serverside.c:1890
+#: src/serverside.c:1885
msgid "moderately well armed"
msgstr ""
-#: src/serverside.c:1891
+#: src/serverside.c:1886
msgid "heavily armed"
msgstr ""
-#: src/serverside.c:1892
+#: src/serverside.c:1887
msgid "armed to the teeth"
msgstr ""
-#: src/serverside.c:1893
+#: src/serverside.c:1888
msgid " fires and "
msgstr ""
-#: src/serverside.c:1894
+#: src/serverside.c:1889
msgid " stands and takes it."
msgstr ""
-#: src/serverside.c:1897
+#: src/serverside.c:1892
#, c-format
msgid "%s arrives, with %d %s, %s,^%s"
msgstr ""
-#: src/serverside.c:1901
+#: src/serverside.c:1896
#, c-format
msgid "%s arrives, %s,^%s"
msgstr ""
-#: src/serverside.c:1906
+#: src/serverside.c:1901
#, c-format
msgid "%s fires and "
msgstr ""
-#: src/serverside.c:1908
+#: src/serverside.c:1903
#, c-format
msgid "%s stands and takes it."
msgstr ""
-#: src/serverside.c:1920
+#: src/serverside.c:1915
msgid "misses you!"
msgstr ""
-#: src/serverside.c:1921
+#: src/serverside.c:1916
#, c-format
msgid "You failed to hit %s."
msgstr ""
-#: src/serverside.c:1924
+#: src/serverside.c:1919
msgid "You stand and take it."
msgstr ""
-#: src/serverside.c:1928
+#: src/serverside.c:1923
msgid "hits you, man!"
msgstr ""
-#: src/serverside.c:1931
+#: src/serverside.c:1926
msgid " You've been wasted! What a drag!"
msgstr ""
-#: src/serverside.c:1932
+#: src/serverside.c:1927
#, c-format
msgid "You hit and killed %s"
msgstr ""
-#: src/serverside.c:1947 src/serverside.c:1980
+#: src/serverside.c:1942 src/serverside.c:1975
msgid ", and loot the body!"
msgstr ""
-#: src/serverside.c:1956
+#: src/serverside.c:1951
#, c-format
msgid "^You lost a %s, man!"
msgstr ""
-#: src/serverside.c:1961
+#: src/serverside.c:1956
#, c-format
msgid "You are paid a bounty of %s in reward for killing^one of %s's %s"
msgstr ""
-#: src/serverside.c:1969
+#: src/serverside.c:1964
#, c-format
msgid "You killed one of %s's %s (%d left)"
msgstr ""
-#: src/serverside.c:1987
+#: src/serverside.c:1982
#, c-format
msgid "You fire, and hit %s!"
msgstr ""
-#: src/serverside.c:2026
+#: src/serverside.c:2021
msgid "YN^Officer %%s spots you dropping %s, and chases you!"
msgstr ""
-#: src/serverside.c:2028
+#: src/serverside.c:2023
msgid ""
"YN^Officer %%s and %%d of his deputies spot you dropping %s, and chase you!"
msgstr ""
-#: src/serverside.c:2183
+#: src/serverside.c:2178
msgid "Player removed due to idle timeout"
msgstr ""
-#: src/serverside.c:2193
+#: src/serverside.c:2188
msgid "Player removed due to connect timeout"
msgstr ""
-#: src/serverside.c:2199 src/serverside.c:2205
+#: src/serverside.c:2194 src/serverside.c:2200
#, c-format
msgid "%s fails to return fire..."
msgstr ""
-#: src/message.c:433
+#: src/message.c:437
#, c-format
msgid ""
"This server is version %s, while your client is version %s.\n"
t@@ -2520,27 +2510,27 @@ msgid ""
"for the latest version."
msgstr ""
-#: src/message.c:572
+#: src/message.c:576
msgid "Could not find host"
msgstr ""
-#: src/message.c:573
+#: src/message.c:577
msgid "Could not create network socket"
msgstr ""
-#: src/message.c:574 src/message.c:607
+#: src/message.c:578 src/message.c:611
msgid "Connection refused or no server present"
msgstr ""
-#: src/message.c:753
+#: src/message.c:757
msgid "Cannot locate metaserver"
msgstr ""
-#: src/message.c:754
+#: src/message.c:758
msgid "Cannot create socket"
msgstr ""
-#: src/message.c:756
+#: src/message.c:760
msgid "Metaserver not running HTTP or connection denied"
msgstr ""
(DIR) diff --git a/src/message.c b/src/message.c
t@@ -100,7 +100,11 @@ void SendClientMessage(Player *From,char AICode,char Code,
if (!Network) {
#endif
if (From) ServerFrom=GetPlayerByName(GetPlayerName(From),FirstServer);
- else ServerFrom=NULL;
+ else if (FirstServer) ServerFrom=(Player *)(FirstServer->data);
+ else {
+ ServerFrom=g_new(Player,1);
+ FirstServer=AddPlayer(0,ServerFrom,FirstServer);
+ }
HandleServerMessage(text->str,ServerFrom);
#if NETWORKING
} else {
(DIR) diff --git a/src/serverside.c b/src/serverside.c
t@@ -187,219 +187,214 @@ void HandleServerPlayer(Player *Play) {
}
}
-void HandleServerMessage(gchar *buf,Player *ReallyFrom) {
-/* Given a message "buf" which identifies itself as being from player */
-/* "ReallyFrom" by the incoming socket, performs processing and sends */
-/* suitable replies. */
- Player *From,*To,*tmp,*pt;
+void HandleServerMessage(gchar *buf,Player *Play) {
+/* Given a message "buf", from player "Play", performs processing and */
+/* sends suitable replies. */
+ Player *To,*tmp,*pt;
GSList *list;
char Code,*Data,AICode;
+ gchar *text;
DopeEntry NewEntry;
int i;
price_t money;
- if (ProcessMessage(buf,&From,&AICode,&Code,&To,&Data,FirstServer)==-1) {
+/* Ignore client's From: field (bin it in tmp) - should always be "Play" */
+ if (ProcessMessage(buf,&tmp,&AICode,&Code,&To,&Data,FirstServer)==-1) {
g_warning("Bad message");
return;
}
- if (From!=ReallyFrom && (From!=&Noone ||
- (Code!=C_NAME && Code!=C_ABILITIES && Code!=C_NETMESSAGE))) {
- g_warning(_("Message is lying about its origin\n%s: %c: %s: %s\n"
- "Should be from %s"),From ? GetPlayerName(From) : "",Code,
- To ? GetPlayerName(To) : "",Data,
- ReallyFrom ? GetPlayerName(ReallyFrom) : "NULL");
- g_free(Data);
- return;
- }
switch(Code) {
case C_MSGTO:
if (Network) {
- g_message("%s->%s: %s",GetPlayerName(From),GetPlayerName(To),Data);
+ g_message("%s->%s: %s",GetPlayerName(Play),GetPlayerName(To),Data);
}
- SendServerMessage(From,AICode,Code,To,Data);
+ SendServerMessage(Play,AICode,Code,To,Data);
break;
case C_NETMESSAGE:
g_message("Net:%s\n",Data);
-/* shutdown(ReallyFrom->fd,SD_RECV);*/
+/* shutdown(Play->fd,SD_RECV);*/
/* Make sure they do actually disconnect, eventually! */
if (ConnectTimeout) {
- ReallyFrom->ConnectTimeout=time(NULL)+(time_t)ConnectTimeout;
+ Play->ConnectTimeout=time(NULL)+(time_t)ConnectTimeout;
}
break;
case C_ABILITIES:
- ReceiveAbilities(ReallyFrom,Data);
+ ReceiveAbilities(Play,Data);
break;
case C_NAME:
pt=GetPlayerByName(Data,FirstServer);
- if (pt && pt!=From) {
+ if (pt && pt!=Play) {
if (ConnectTimeout) {
- ReallyFrom->ConnectTimeout=time(NULL)+(time_t)ConnectTimeout;
+ Play->ConnectTimeout=time(NULL)+(time_t)ConnectTimeout;
}
- SendServerMessage(NULL,C_NONE,C_NEWNAME,ReallyFrom,NULL);
- } else if (((ReallyFrom && strlen(GetPlayerName(ReallyFrom))==0 &&
- Network) || (!Network && From==&Noone)) && Data[0]) {
+ SendServerMessage(NULL,C_NONE,C_NEWNAME,Play,NULL);
+ } else if (strlen(GetPlayerName(Play))==0 && Data[0]) {
if (CountPlayers(FirstServer)<MaxClients || !Network) {
- SendAbilities(ReallyFrom);
- CombineAbilities(ReallyFrom);
- SendInitialData(ReallyFrom);
- SendMiscData(ReallyFrom);
- if (!Network) {
- From=g_new(Player,1);
- FirstServer=AddPlayer(0,From,FirstServer);
- } else From=ReallyFrom;
- SetPlayerName(From,Data);
+ SendAbilities(Play);
+ CombineAbilities(Play);
+ SendInitialData(Play);
+ SendMiscData(Play);
+ SetPlayerName(Play,Data);
for (list=FirstServer;list;list=g_slist_next(list)) {
pt=(Player *)list->data;
- if (pt!=From) {
- SendServerMessage(NULL,C_NONE,C_LIST,From,
+ if (pt!=Play) {
+ SendServerMessage(NULL,C_NONE,C_LIST,Play,
GetPlayerName(pt));
}
}
- SendServerMessage(NULL,C_NONE,C_ENDLIST,From,NULL);
+ SendServerMessage(NULL,C_NONE,C_ENDLIST,Play,NULL);
RegisterWithMetaServer(TRUE,FALSE);
- From->ConnectTimeout=0;
+ Play->ConnectTimeout=0;
if (Network) {
- g_message(_("%s joins the game!"),GetPlayerName(From));
+ g_message(_("%s joins the game!"),GetPlayerName(Play));
}
- BroadcastToClients(C_NONE,C_JOIN,GetPlayerName(From),NULL,From);
- From->EventNum=E_ARRIVE;
- SendPlayerData(From);
- SendEvent(From);
+ BroadcastToClients(C_NONE,C_JOIN,GetPlayerName(Play),NULL,Play);
+ Play->EventNum=E_ARRIVE;
+ SendPlayerData(Play);
+ SendEvent(Play);
} else {
- From=ReallyFrom;
g_message(_("MaxClients (%d) exceeded - dropping connection"),
MaxClients);
- sprintf(buf,_("Sorry, but this server has a limit of %d "
-"%s, which has been reached.^Please try connecting again later."),
- MaxClients,MaxClients==1 ? _("player") : _("players"));
- SendServerMessage(NULL,C_NONE,C_PRINTMESSAGE,From,buf);
-/* shutdown(From->fd,SD_RECV);*/
+ if (MaxClients==1) {
+ text=g_strdup_printf(
+ _("Sorry, but this server has a limit of 1 "
+ "player, which has been reached.^"
+ "Please try connecting again later."));
+ } else {
+ text=g_strdup_printf(
+ _("Sorry, but this server has a limit of %d "
+ "players, which has been reached.^"
+ "Please try connecting again later."),MaxClients);
+ }
+ SendServerMessage(NULL,C_NONE,C_PRINTMESSAGE,Play,text);
+ g_free(text);
+/* shutdown(Play->fd,SD_RECV);*/
/* Make sure they do actually disconnect, eventually! */
if (ConnectTimeout) {
- From->ConnectTimeout=time(NULL)+(time_t)ConnectTimeout;
+ Play->ConnectTimeout=time(NULL)+(time_t)ConnectTimeout;
}
}
} else {
- g_message(_("%s will now be known as %s"),GetPlayerName(From),Data);
- BroadcastToClients(C_NONE,C_RENAME,Data,From,From);
- SetPlayerName(From,Data);
+ g_message(_("%s will now be known as %s"),GetPlayerName(Play),Data);
+ BroadcastToClients(C_NONE,C_RENAME,Data,Play,Play);
+ SetPlayerName(Play,Data);
}
break;
case C_WANTQUIT:
- if (From->EventNum!=E_FINISH) FinishGame(From,NULL);
+ if (Play->EventNum!=E_FINISH) FinishGame(Play,NULL);
break;
case C_REQUESTJET:
i=atoi(Data);
- if (From->EventNum==E_ATTACK || From->EventNum==E_DEFEND ||
- From->EventNum==E_WAITATTACK || From->EventNum==E_FREEFORALL) {
- BreakoffCombat(From,FALSE);
+ if (Play->EventNum==E_ATTACK || Play->EventNum==E_DEFEND ||
+ Play->EventNum==E_WAITATTACK || Play->EventNum==E_FREEFORALL) {
+ BreakoffCombat(Play,FALSE);
}
- if (NumTurns>0 && From->Turn>=NumTurns && From->EventNum!=E_FINISH) {
- FinishGame(From,_("Your dealing time is up..."));
- } else if (i!=From->IsAt && (NumTurns==0 || From->Turn<NumTurns) &&
- From->EventNum==E_NONE && From->Health>0) {
- From->IsAt=(char)i;
- From->Turn++;
- From->Debt=(price_t)((float)From->Debt*1.1);
- From->Bank=(price_t)((float)From->Bank*1.05);
- SendPlayerData(From);
- From->EventNum=E_SUBWAY;
- SendEvent(From);
+ if (NumTurns>0 && Play->Turn>=NumTurns && Play->EventNum!=E_FINISH) {
+ FinishGame(Play,_("Your dealing time is up..."));
+ } else if (i!=Play->IsAt && (NumTurns==0 || Play->Turn<NumTurns) &&
+ Play->EventNum==E_NONE && Play->Health>0) {
+ Play->IsAt=(char)i;
+ Play->Turn++;
+ Play->Debt=(price_t)((float)Play->Debt*1.1);
+ Play->Bank=(price_t)((float)Play->Bank*1.05);
+ SendPlayerData(Play);
+ Play->EventNum=E_SUBWAY;
+ SendEvent(Play);
} else {
- g_warning(_("%s: DENIED jet to %s"),GetPlayerName(From),
+ g_warning(_("%s: DENIED jet to %s"),GetPlayerName(Play),
Location[i].Name);
}
break;
case C_REQUESTSCORE:
- SendHighScores(From,FALSE,NULL);
+ SendHighScores(Play,FALSE,NULL);
break;
case C_CONTACTSPY:
for (list=FirstServer;list;list=g_slist_next(list)) {
tmp=(Player *)list->data;
- if (tmp!=From && GetListEntry(&(tmp->SpyList),From)>=0) {
- SendSpyReport(From,tmp);
+ if (tmp!=Play && GetListEntry(&(tmp->SpyList),Play)>=0) {
+ SendSpyReport(Play,tmp);
}
}
break;
case C_DEPOSIT:
money=strtoprice(Data);
- if (From->Bank+money >=0 && From->Cash-money >=0) {
- From->Bank+=money; From->Cash-=money;
- SendPlayerData(From);
+ if (Play->Bank+money >=0 && Play->Cash-money >=0) {
+ Play->Bank+=money; Play->Cash-=money;
+ SendPlayerData(Play);
}
break;
case C_PAYLOAN:
money=strtoprice(Data);
- if (From->Debt-money >=0 && From->Cash-money >=0) {
- From->Debt-=money; From->Cash-=money;
- SendPlayerData(From);
+ if (Play->Debt-money >=0 && Play->Cash-money >=0) {
+ Play->Debt-=money; Play->Cash-=money;
+ SendPlayerData(Play);
}
break;
case C_BUYOBJECT:
- BuyObject(From,Data);
+ BuyObject(Play,Data);
break;
case C_FIGHTACT:
- if (From->EventNum==E_ATTACK || From->EventNum==E_FREEFORALL) {
- AttackPlayer(From,From->Attacked,
- TotalGunsCarried(From)>0 ? AT_SHOOT : 0);
- } else if (From->EventNum==E_DEFEND) {
+ if (Play->EventNum==E_ATTACK || Play->EventNum==E_FREEFORALL) {
+ AttackPlayer(Play,Play->Attacked,
+ TotalGunsCarried(Play)>0 ? AT_SHOOT : 0);
+ } else if (Play->EventNum==E_DEFEND) {
for (list=FirstServer;list;list=g_slist_next(list)) {
tmp=(Player *)list->data;
if ((tmp->EventNum==E_FREEFORALL || tmp->EventNum==E_WAITATTACK)
- && tmp->Attacked==From) {
- AttackPlayer(From,tmp,
- TotalGunsCarried(From)>0 ? AT_SHOOT : 0);
+ && tmp->Attacked==Play) {
+ AttackPlayer(Play,tmp,
+ TotalGunsCarried(Play)>0 ? AT_SHOOT : 0);
}
}
}
break;
case C_ANSWER:
- HandleAnswer(From,To,Data);
+ HandleAnswer(Play,To,Data);
break;
case C_DONE:
- if (From->EventNum!=E_NONE && From->EventNum<E_OUTOFSYNC) {
- From->EventNum++; SendEvent(From);
+ if (Play->EventNum!=E_NONE && Play->EventNum<E_OUTOFSYNC) {
+ Play->EventNum++; SendEvent(Play);
}
break;
case C_SPYON:
- if (From->Cash >= Prices.Spy) {
- g_message(_("%s now spying on %s"),GetPlayerName(From),
+ if (Play->Cash >= Prices.Spy) {
+ g_message(_("%s now spying on %s"),GetPlayerName(Play),
GetPlayerName(To));
- From->Cash -= Prices.Spy;
- LoseBitch(From,NULL,NULL);
- NewEntry.Play=From; NewEntry.Turns=-1;
+ Play->Cash -= Prices.Spy;
+ LoseBitch(Play,NULL,NULL);
+ NewEntry.Play=Play; NewEntry.Turns=-1;
AddListEntry(&(To->SpyList),&NewEntry);
- SendPlayerData(From);
+ SendPlayerData(Play);
} else {
- g_warning(_("%s spy on %s: DENIED"),GetPlayerName(From),
+ g_warning(_("%s spy on %s: DENIED"),GetPlayerName(Play),
GetPlayerName(To));
}
break;
case C_TIPOFF:
- if (From->Cash >= Prices.Tipoff) {
- g_message(_("%s tipped off the cops to %s"),GetPlayerName(From),
+ if (Play->Cash >= Prices.Tipoff) {
+ g_message(_("%s tipped off the cops to %s"),GetPlayerName(Play),
GetPlayerName(To));
- From->Cash -= Prices.Tipoff;
- LoseBitch(From,NULL,NULL);
- NewEntry.Play=From; NewEntry.Turns=0;
+ Play->Cash -= Prices.Tipoff;
+ LoseBitch(Play,NULL,NULL);
+ NewEntry.Play=Play; NewEntry.Turns=0;
AddListEntry(&(To->TipList),&NewEntry);
- SendPlayerData(From);
+ SendPlayerData(Play);
} else {
- g_warning(_("%s tipoff about %s: DENIED"),GetPlayerName(From),
+ g_warning(_("%s tipoff about %s: DENIED"),GetPlayerName(Play),
GetPlayerName(To));
}
break;
case C_SACKBITCH:
- LoseBitch(From,NULL,NULL);
- SendPlayerData(From);
+ LoseBitch(Play,NULL,NULL);
+ SendPlayerData(Play);
break;
case C_MSG:
- if (Network) g_message("%s: %s",GetPlayerName(From),Data);
- BroadcastToClients(C_NONE,C_MSG,Data,From,From);
+ if (Network) g_message("%s: %s",GetPlayerName(Play),Data);
+ BroadcastToClients(C_NONE,C_MSG,Data,Play,Play);
break;
default:
- g_warning("%s:%c:%s:%s",GetPlayerName(From),Code,
+ g_warning("%s:%c:%s:%s",GetPlayerName(Play),Code,
GetPlayerName(To),Data);
break;
}