]> git.pond.sub.org Git - empserver/blob - src/lib/global/news.c
COPYING duplicates information from README. Remove. Move GPL from
[empserver] / src / lib / global / news.c
1 /*
2  *  Empire - A multi-player, client/server Internet based war game.
3  *  Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak,
4  *                           Ken Stevens, Steve McClure
5  *
6  *  This program is free software; you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License as published by
8  *  the Free Software Foundation; either version 2 of the License, or
9  *  (at your option) any later version.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this program; if not, write to the Free Software
18  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  *
20  *  ---
21  *
22  *  See files README, COPYING and CREDITS in the root of the source
23  *  tree for related information and legal notices.  It is expected
24  *  that future projects/authors will amend these files as needed.
25  *
26  *  ---
27  *
28  *  news.c: News item characteristics
29  * 
30  *  Known contributors to this file:
31  *     
32  */
33
34 /*
35  * News item characteristics; one entry (and two different
36  * strings) per news item.  Be sure and increase N_MAX_VERB
37  * in news.h if you add a news item.
38  *
39  * Order must correspond to ordering in news.h
40  */
41
42 #include <config.h>
43
44 #include "misc.h"
45 #include "news.h"
46
47 char *page_headings[] = {
48 /* not used */ "Comics",
49 /* N_FOR    */ "Foreign Affairs",
50 /* N_FRONT  */ "The Front Line",
51 /* N_SEA    */ "The High Seas",
52 /* N_SKY    */ "Sky Watch",
53 /* N_MISS   */ "Guidance Systems",
54 /* N_ARTY   */ "Firestorms",
55 /* N_ECON   */ "Business & Economics",
56 /* N_COLONY */ "The Frontier",
57 /* N_HOME   */ "The Home Front",
58 /* N_SPY    */ "Espionage",
59 /* N_TELE   */ "Telecommunications"
60 };
61
62 static char no_news[] = "does nothing in particular to %s";
63
64 struct rptstr rpt[] = {
65     /*  nice  page     text */
66     { 0, 0, 0, { no_news, no_news } },
67     { N_WON_SECT, -4, N_FRONT, { "infantry capture %s territory",
68                                  "shock troops overrun one of %s's sectors" } },
69     { N_SCT_LOSE, -4, N_FRONT, { "infantry beaten back by %s troops",
70                                  "shock troops annihilated in failed attack on %s" } },
71     { N_SPY_SHOT, -1, N_SPY,   { "spy shot by %s firing squad",
72                                  "spy captured and shot by %s" } },
73     { N_SENT_TEL, 1,  N_TELE,  { "sends a telegram to %s",
74                                  "telexes %s" } },
75     { N_SIGN_TRE, 3,  N_FOR,   { "diplomats sign a treaty with %s",
76                                  "ambassador agrees to a treaty with %s" } },
77     { N_MAKE_LOAN, 2,  N_ECON,  { "bankers make a loan to %s",
78                                   "Ministry of Finance lends money to %s" } },
79     { N_REPAY_LOAN, 1,  N_ECON,  { "repays a loan from %s",
80                                    "makes last payment on loan from %s" } },
81     { N_MAKE_SALE, 0,  N_ECON,  { "makes a sale to %s",
82                                   "sells goods to %s" } },
83     { N_OVFLY_SECT, -1, N_SKY,   { "violates %s airspace",
84                                    "overflies %s territory" } },
85     { N_SCT_SHELL, -2, N_ARTY,  { "gunners bombard %s territory",
86                                   "artillery fires on %s sectors" } },
87     { N_SHP_SHELL, -2, N_SEA,   { "shells a ship owned by %s",
88                                   "fires on %s ships" } },
89     { N_TOOK_UNOCC, 0,  N_FRONT, { "takes over unoccupied land",
90                                    "attacks unowned land for some reason" } },
91     { N_TORP_SHIP, 0,  N_SEA,   { "ships torpedoed by enemy wolf-packs",
92                                   "ships torpedoed by marauding U-boats" } },
93     { N_FIRE_BACK, 0,  N_ARTY,  { "gunners fire on %s in self-defense",
94                                   "gunners decimate %s aggressors" } },
95     { N_BROKE_SANCT, 0,  N_FOR,   { "breaks sanctuary",
96                                     "no longer has a sanctuary" } },
97     { N_SCT_BOMB, -2, N_SKY,   { "planes divebomb one of %s's sectors",
98                                  "bombers wreak havoc on %s" } },
99     { N_SHP_BOMB, -2, N_SEA,   { "divebombs a ship flying the flag of %s",
100                                  "airforce bombs %s ships" } },
101     { N_BOARD_SHIP, -2, N_SEA,   { "seadogs board one of %s's ships",
102                                    "pirates board %s ship" } },
103     { N_SHP_LOSE, -3, N_SEA,   { "is repelled by %s while attempting to board a ship",
104                                  "pirates prove inept at boarding %s's ships" } },
105     { 20, 0, 0, { no_news, no_news } },
106     { N_SEIZE_SECT, -2, N_ECON,  { "seizes a sector from %s to collect on a loan",
107                                    "collects one of %s's sectors in repayment of a loan" } },
108     { N_HONOR_TRE, -1, N_FOR,   { "considers an action which would violate a treaty with %s",
109                                   "decides not to violate treaty with %s (yet)" } },
110     { N_VIOL_TRE, -4, N_FOR,   { "violates a treaty with %s",
111                                  "actions violate treaty with %s" } },
112     { 24, 0, 0, { no_news, no_news } },
113     { N_HIT_MINE, 0,  N_SEA,   { "ship hits a mine",
114                                  "ship severely damaged in mine field" } },
115     { N_DECL_ALLY, 5,  N_FOR,   { "announces an alliance with %s",
116                                   "/ %s alliance declared" } },
117     { 27, 0, 0, { no_news, no_news } },
118     { N_DECL_WAR, -5, N_FOR,   { "declares TOTAL WAR on %s",
119                                  "gets serious with %s and declares WAR" } },
120     { N_DIS_ALLY, 0,  N_FOR,   { "diplomats disavow former alliance with %s",
121                                  "is no longer allied with %s" } },
122     { N_DIS_WAR, 5,  N_FOR,   { "is no longer at war with %s",
123                                 "Foreign Ministry declares \"No more war with %s\"" } },
124     { N_OUT_PLAGUE, 0,  N_HOME,  { "reports outbreak of the black plague",
125                                    "sector infected with bubonic plague" } },
126     { N_DIE_PLAGUE, 0,  N_HOME,  { "citizens die from bubonic plague",
127                                    "sector reports plague deaths" } },
128     { N_NAME_CHNG, 0,  N_FOR,   { "goes through a name change",
129                                   "adopts a new country name" } },
130     { N_DIE_FAMINE, 0,  N_HOME,  { "citizens starve in disastrous famine",
131                                    "loses citizens to mass starvation" } },
132     { 35, 0, 0, { no_news, no_news } },
133     { N_DOWN_PLANE, -3, N_SKY,   { "pilots down %s planes",
134                                    "victorious in air-to-air combat against %s" } },
135     { N_NUKE, -10,N_MISS,  { "nuclear device devastates %s sector",
136                              "explodes a nuclear device damaging %s territory" } },
137     { N_FREEDOM_FIGHT, 0,  N_HOME,  { "terrorists shoot it out with %s special forces",
138                                       "underground rises up against %s occupation" } },
139     { N_SHOOT_CIV, -2, N_HOME,  { "execution squads gun down helpless %s civilians",
140                                   "firing squads massacre defenseless %s workers" } },
141     { N_LAUNCH,  0, N_MISS,  { "launches a satellite into orbit",
142                                "continues its conquest of space with a successful launch" } },
143     { N_SAT_KILL, -8, N_MISS,  { "strikes a %s big bird",
144                                  "rockets damage a %s satellite" } },
145     { N_GIFT,  4, N_ECON,  { "makes a contribution to %s",
146                              "helps out %s" } },
147     { N_AIDS,  2, N_HOME,  { "aids %s with divine intervention",
148                              "smiles upon %s" } },
149     { N_HURTS, -3, N_HOME,  { "hurts %s with divine intervention",
150                               "frowns upon %s" } },
151     { N_TAKE, -4, N_ECON,  { "sacrifices to %s",
152                              "makes divine payment to %s" } },
153     { N_NUKE_STOP, -10,N_MISS,  { "abms intercept a %s missile",
154                                   "strategic defense systems destroy a %s missile" } },
155     { N_SCT_MISS, -2, N_MISS,  { "missile fired at one of %s's sectors",
156                                  "missile wreaks havoc on %s" } },
157     { N_SHP_MISS, -2, N_MISS,  { "missile fired at a ship flying the flag of %s",
158                                  "missiles hit %s ships" } },
159     { N_TRADE,  2, N_ECON,  { "engages in friendly trade with %s",
160                               "profits from a merchant venture with %s" } },
161     { N_PIRATE_TRADE,  0, N_ECON,  { "pirates dispose of %s booty in trade",
162                                      "buccaneers sell their %s goods" } },
163     { N_PIRATE_KEEP,  0, N_ECON,  { "pirates keep their %s booty",
164                                     "buccaneers laugh and bury their %s goods" } },
165     { N_SHIP_TORP,  0, N_SEA,   { "ships torpedoed by %s torpedo-boats",
166                                   "ships sunk by marauding %s torpedo-boats" } },
167     { N_SUB_BOMB,  0, N_SEA,   { "planes bomb a skulking %s submarine",
168                                  "planes drop depth-charges on a %s sub" } },
169     { 54, 0, 0, { no_news, no_news } },
170     { N_UNIT_BOMB, -2, N_SKY,   { "divebombs a brave %s unit",
171                                   "airforce bombs %s units" } },
172     { N_LHIT_MINE, 0,  N_FRONT, { "troops run afoul of a landmine",
173                                   "troops severely damaged in mine field" } },
174     { N_FIRE_F_ATTACK, -2, N_ARTY,  { "fortress gunners support troops attacking %s",
175                                       "fortress artillery massacres %s defenders" } },
176     { N_FIRE_L_ATTACK, -2, N_ARTY,  { "gunners support troops attacking %s",
177                                       "artillery battery massacres %s defenders" } },
178     { N_FIRE_S_ATTACK, -2, N_ARTY,  { "naval gunners support troops attacking %s",
179                                       "naval gunfire massacres %s defenders" } },
180     { N_SACK_CAP, 10, N_FOR,   { "sacks %s capital",
181                                  "captures and pillages %s's capital" } },
182     { N_UP_FRIENDLY, 3,  N_FOR,   { "announces friendly trade relations with %s",
183                                     "upgrades %s's trade status to triple-A" } },
184     { N_DOWN_FRIENDLY, 0,  N_FOR,   { "downgrades relations with %s to friendly",
185                                       "cools relations with %s to friendly" } },
186     { N_UP_NEUTRAL, 2,  N_FOR,   { "upgrades relations with %s to neutral",
187                                    "Foreign Ministry declares \"%s is A-OK.\"" } },
188     { N_DOWN_NEUTRAL, 0,  N_FOR,   { "downgrades relations with %s to neutral",
189                                      "gives the cold shoulder to %s and declares neutral relations" } },
190     { N_UP_HOSTILE, 3,  N_FOR,   { "upgrades relations with %s to hostile",
191                                    "forgives %s of past war crimes but remains hostile" } },
192     { N_DOWN_HOSTILE, 3,  N_FOR,   { "downgrades relations with %s to hostile",
193                                      "is suspicious that %s has hostile intentions" } },
194     { N_SCT_SMISS, 0,  N_MISS,  { "sector is struck by a sub-launched missile",
195                                   "sector devastated by missile" } },
196     { N_SHP_SMISS, 0,  N_MISS,  { "ship is hit by a sub-launched missile",
197                                   "ship damaged by marine missile" } },
198     { N_START_COL, 0,  N_COLONY,{ "pilgrims settle on a new island",
199                                   "discovers new land and starts a colony" } },
200     { N_NUKE_SSTOP, 0,  N_MISS,  { "abms intercept an incoming sub-launched missile",
201                                    "strategic defense systems destroy an incoming sub-launched warhead"}},
202     { N_LND_MISS, 2,  N_MISS,  { "missile fired at %s ground troops",
203                                  "missile hits %s troops" } },
204     { N_LND_SMISS, 0,  N_MISS,  { "regiment struck by sub-launched missile",
205                                   "ground troops hit by missile" } },
206     { N_AWON_SECT, -4, N_FRONT, { "navy secures a beachhead on %s territory",
207                                   "sailors take a coastal sector from %s" } },
208     { N_PWON_SECT, -4, N_FRONT, { "paratroopers comandeer a sector from %s",
209                                   "air force parachutists overwhelm a %s sector" } },
210     { N_PARA_UNOCC, 0,  N_COLONY,{ "parachutists grab unoccupied land",
211                                    "paratroopers break new ground" } },
212     { N_ALOSE_SCT, 4,  N_FRONT, { "sailors repelled by %s coast-guard",
213                                   "naval forces massacred in failed assault of %s" } },
214     { N_PLOSE_SCT, 4,  N_FRONT, { "paratroopers destroyed in failed air-assault on %s",
215                                   "loses parachutists in failed air-assault of %s" } },
216     { 78, 0, 0, { no_news, no_news } },
217     { 79, 0, 0, { no_news, no_news } },
218     { N_WELCH_DEAL, 0,  N_ECON,  { "is unable to fulfill its financial obligations to %s",
219                                    "welches on a deal with %s" } },
220     { N_LND_LOSE, -3, N_FRONT, { "is repelled by %s while attempting to board a land unit",
221                                  "forces prove inept at boarding %s's land unit" } },
222     { N_BOARD_LAND, -2, N_FRONT, { "mercenaries board one of %s's land units",
223                                    "elite forces board %s land unit" } },
224     { 0, 0, 0, { NULL, NULL } }
225 };