diff options
author | B. Watson <yalhcru@gmail.com> | 2015-05-07 16:32:32 -0400 |
---|---|---|
committer | B. Watson <yalhcru@gmail.com> | 2015-05-07 16:32:32 -0400 |
commit | 013ac7742311556022304e8b30ca170d48b3a016 (patch) | |
tree | 53faa33e75991363f1a6dcc7edc83a66b70e6995 /larn/bill.c | |
download | bsd-games-extra-013ac7742311556022304e8b30ca170d48b3a016.tar.gz |
initial commit
Diffstat (limited to 'larn/bill.c')
-rw-r--r-- | larn/bill.c | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/larn/bill.c b/larn/bill.c new file mode 100644 index 0000000..961c424 --- /dev/null +++ b/larn/bill.c @@ -0,0 +1,163 @@ +/* $NetBSD: bill.c,v 1.11 2011/08/29 20:30:37 joerg Exp $ */ + +/*- + * Copyright (c) 1991 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +#ifndef lint +#if 0 +static char sccsid[] = "@(#)bill.c 5.2 (Berkeley) 5/28/91"; +#else +__RCSID("$NetBSD: bill.c,v 1.11 2011/08/29 20:30:37 joerg Exp $"); +#endif +#endif /* not lint */ + +#include <sys/file.h> +#include <sys/wait.h> +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <unistd.h> +#include <paths.h> +#include "header.h" +#include "extern.h" + +/* bill.c Larn is copyrighted 1986 by Noah Morgan. */ + +static const char *mail[] = { + "From: the LRS (Larn Revenue Service)\n", + "~s undeclared income\n", + "\n We have heard you survived the caverns of Larn. Let me be the", + "\nfirst to congratulate you on your success. It was quite a feat.", + "\nIt was also very profitable for you...", + "\n\n The Dungeon Master has informed us that you brought", + "1", + "\ncounty of Larn is in dire need of funds, we have spared no time", + "2", + "\nof this notice, and is due within 5 days. Failure to pay will", + "\nmean penalties. Once again, congratulations, We look forward", + "\nto your future successful expeditions.\n", + NULL, + "From: His Majesty King Wilfred of Larndom\n", + "~s a noble deed\n", + "\n I have heard of your magnificent feat, and I, King Wilfred,", + "\nforthwith declare today to be a national holiday. Furthermore,", + "\nhence three days, ye be invited to the castle to receive the", + "\nhonour of Knight of the realm. Upon thy name shall it be written...", + "\n\nBravery and courage be yours.", + "\n\nMay you live in happiness forevermore...\n", + NULL, + "From: Count Endelford\n", + "~s You Bastard!\n", + "\n I have heard (from sources) of your journey. Congratulations!", + "\nYou Bastard! With several attempts I have yet to endure the", + " caves,\nand you, a nobody, makes the journey! From this time", + " onward, bewarned\nupon our meeting you shall pay the price!\n", + NULL, + "From: Mainair, Duke of Larnty\n", + "~s High Praise\n", + "\n With certainty, a hero I declare to be amongst us! A nod of", + "\nfavour I send to thee. Me thinks Count Endelford this day of", + "\nright breath'eth fire as of dragon of whom ye are slayer. I", + "\nyearn to behold his anger and jealously. Should ye choose to", + "\nunleash some of thy wealth upon those who be unfortunate, I,", + "\nDuke Mainair, shall equal thy gift also.\n", + NULL, + "From: St. Mary's Children's Home\n", + "~s these poor children\n", + "\n News of your great conquests has spread to all of Larndom.", + "\nMight I have a moment of a great adventurers's time? We here at", + "\nSt. Mary's Children's Home are very poor, and many children are", + "\nstarving. Disease is widespread and very often fatal without", + "\ngood food. Could you possibly find it in your heart to help us", + "\nin our plight? Whatever you could give will help much.", + "\n(your gift is tax deductible)\n", + NULL, + "From: The National Cancer Society of Larn\n", + "~s hope\n", + "\nCongratulations on your successful expedition. We are sure much", + "\ncourage and determination were needed on your quest. There are", + "\nmany though, that could never hope to undertake such a journey", + "\ndue to an enfeebling disease -- cancer. We at the National", + "\nCancer Society of Larn wish to appeal to your philanthropy in", + "\norder to save many good people -- possibly even yourself a few", + "\nyears from now. Much work needs to be done in researching this", + "\ndreaded disease, and you can help today. Could you please see it", + "\nin your heart to give generously? Your continued good health", + "\ncan be your everlasting reward.\n", + NULL +}; + +/* + * function to mail the letters to the player if a winner + */ + +void +mailbill(void) +{ + int i; + char fname[32]; + char buf[128]; + const char **cp; + int fd; + + wait(0); + if (fork() == 0) { + resetscroll(); + cp = mail; + snprintf(fname, sizeof(fname), "%slarnmail.XXXXXX", _PATH_TMP); + for (i = 0; i < 6; i++) { + if ((fd = mkstemp(fname)) == -1) + exit(0); + while (*cp != NULL) { + if (*cp[0] == '1') { + snprintf(buf, sizeof(buf), + "\n%ld gold pieces back with you from your journey. As the", + (long) c[GOLD]); + write(fd, buf, strlen(buf)); + } else if (*cp[0] == '2') { + snprintf(buf, sizeof(buf), + "\nin preparing your tax bill. You owe %ld gold pieces as", + (long) c[GOLD] * TAXRATE); + write(fd, buf, strlen(buf)); + } else + write(fd, *cp, strlen(*cp)); + cp++; + } + cp++; + + close(fd); + snprintf(buf, sizeof(buf), + "mail -I %s < %s > /dev/null", loginname, fname); + system(buf); + unlink(fname); + } + } + exit(0); +} |