]> git.pond.sub.org Git - empserver/blob - src/lib/global/news.c
Import of Empire 4.2.12
[empserver] / src / lib / global / news.c
1 /*
2  *  Empire - A multi-player, client/server Internet based war game.
3  *  Copyright (C) 1986-2000, 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 the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
23  *  related information and legal notices. It is expected that any future
24  *  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  * News item characteristics; one entry (and two different
35  * strings) per news item.  Be sure and increase N_MAX_VERB
36  * in news.h if you add a news item.
37  *
38  * Order must correspond to ordering in news.h
39  */
40
41 #include "misc.h"
42 #include "news.h"
43
44 s_char *page_headings[N_MAX_PAGE+1] = {
45 /* not used */  "Comics",
46 /* N_FOR    */  "Foreign Affairs",
47 /* N_FRONT  */  "The Front Line",
48 /* N_SEA    */  "The High Seas",
49 /* N_SKY    */  "Sky Watch",
50 /* N_MISS   */  "Guidance Systems",
51 /* N_ARTY   */  "Firestorms",
52 /* N_ECON   */  "Business & Economics",
53 /* N_COLONY */  "The Frontier",
54 /* N_HOME   */  "The Home Front",
55 /* N_SPY    */  "Espionage",
56 /* N_TELE   */  "Telecommunications"
57 };
58
59 struct  rptstr rpt[N_MAX_VERB+1] = {
60 /*  nice    page     text
61 */{ 0,      0,       { "does nothing in particular to %s",
62 /*  0*/              "does nothing to %s" } },
63   { -4,     N_FRONT, { "infantry capture %s territory",
64 /*  1*/              "shock troops overrun one of %s's sectors" } },
65   { -4,     N_FRONT, { "infantry beaten back by %s troops",
66 /*  2*/              "shock troops annihilated in failed attack on %s" } },
67   { -1,     N_SPY,   { "spy shot by %s firing squad",
68 /*  3*/              "spy captured and shot by %s" } },
69   { 1,      N_TELE,  { "sends a telegram to %s",
70 /*  4*/              "telexes %s" } },
71   { 3,      N_FOR,   { "diplomats sign a treaty with %s",
72 /*  5*/              "ambassador agrees to a treaty with %s" } },
73   { 2,      N_ECON,  { "bankers make a loan to %s",
74 /*  6*/              "Ministry of Finance lends money to %s" } },
75   { 1,      N_ECON,  { "repays a loan from %s",
76 /*  7*/              "makes last payment on loan from %s" } },
77   { 0,      N_ECON,  { "makes a sale to %s",
78 /*  8*/              "sells goods to %s" } },
79   { -1,     N_SKY,   { "violates %s airspace",
80 /*  9*/              "overflies %s territory" } },
81   { -2,     N_ARTY,  { "gunners bombard %s territory",
82 /* 10*/              "artillery fires on %s sectors" } },
83   { -2,     N_SEA,   { "shells a ship owned by %s",
84 /* 11*/              "fires on %s ships" } },
85   { 0,      N_FRONT, { "takes over unoccupied land",
86 /* 12*/              "attacks unowned land for some reason" } },
87   { 0,      N_SEA,   { "ships torpedoed by enemy wolf-packs",
88 /* 13*/              "ships torpedoed by marauding U-boats" } },
89   { 0,      N_ARTY,  { "gunners fire on %s in self-defense",
90 /* 14*/              "gunners decimate %s aggressors" } },
91   { 0,      N_FOR,   { "breaks sanctuary",
92 /* 15*/              "no longer has a sanctuary" } },
93   { -2,     N_SKY,   { "planes divebomb one of %s's sectors",
94 /* 16*/              "bombers wreak havoc on %s" } },
95   { -2,     N_SEA,   { "divebombs a ship flying the flag of %s",
96 /* 17*/              "airforce bombs %s ships" } },
97   { -2,     N_SEA,   { "seadogs board one of %s's ships",
98 /* 18*/              "pirates board %s ship" } },
99   { -3,     N_SEA,   { "is repelled by %s while attempting to board a ship",
100 /* 19*/              "pirates prove inept at boarding %s's ships" } },
101   { -1,     N_SKY,   { "anti-aircraft gunners fire on %s airforce",
102 /* 20*/              "attempts to shoot down %s aircraft" } },
103   { -2,     N_ECON,  { "seizes a sector from %s to collect on a loan",
104 /* 21*/              "collects one of %s's sectors in repayment of a loan" } },
105   { -1,     N_FOR,   { "considers an action which would violate a treaty with %s",
106 /* 22*/              "decides not to violate treaty with %s (yet)" } },
107   { -4,     N_FOR,   { "violates a treaty with %s",
108 /* 23*/              "actions violate treaty with %s" } },
109   { 0,      N_FOR,   { "dissolves its government",
110 /* 24*/              "throws in the towel" } },
111   { 0,      N_SEA,   { "ship hits a mine",
112 /* 25*/              "ship severely damaged in mine field" } },
113   { 5,      N_FOR,   { "announces an alliance with %s",
114 /* 26*/              "/ %s alliance declared" } },
115   { 0,      N_FOR,   { "declares their neutrality toward %s", /* no longer used */
116 /* 27*/              "announces neutral relations with %s" } },
117   { -5,     N_FOR,   { "declares TOTAL WAR on %s",
118 /* 28*/              "gets serious with %s and declares WAR" } },
119   { 0,      N_FOR,   { "diplomats disavow former alliance with %s",
120 /* 29*/              "is no longer allied with %s" } },
121   { 5,      N_FOR,   { "is no longer at war with %s",
122 /* 30*/              "Foreign Ministry declares \"No more war with %s\"" } },
123   { 0,      N_HOME,  { "reports outbreak of the black plague",
124 /* 31*/              "sector infected with bubonic plague" } },
125   { 0,      N_HOME,  { "citizens die from bubonic plague",
126 /* 32*/              "sector reports plague deaths" } },
127   { 0,      N_FOR,   { "goes through a name change",
128 /* 33*/              "adopts a new country name" } },
129   { 0,      N_HOME,  { "citizens starve in disastrous famine",
130 /* 34*/              "loses citizens to mass starvation" } },
131   { 0,      N_HOME,  { "endures lawless rioting",
132 /* 35*/              "suffers from outbreaks of rioting" } },
133   { -3,     N_SKY,   { "pilots down %s planes",
134 /* 36*/              "victorious in air-to-air combat against %s" } },
135   { -10,    N_MISS,  { "nuclear device devastates %s sector",
136 /* 37*/              "explodes a nuclear device damaging %s territory" } },
137   { 0,      N_HOME,  { "terrorists shoot it out with %s special forces",
138 /* 38*/              "underground rises up against %s occupation" } },
139   { -2,     N_HOME,  { "execution squads gun down helpless %s civilians",
140 /* 39*/              "firing squads massacre defenseless %s workers" } },
141   {  0,     N_MISS,  { "launches a satellite into orbit",
142 /* 40*/              "continues its conquest of space with a successful launch" } },
143   { -8,     N_MISS,  { "strikes a %s big bird",
144 /* 41*/              "rockets damage a %s satellite" } },
145   {  4,     N_ECON,  { "makes a contribution to %s",
146 /* 42*/              "helps out %s" } },
147   {  2,     N_HOME,  { "aids %s with divine intervention",
148 /* 43*/              "smiles upon %s" } },
149   { -3,     N_HOME,  { "hurts %s with divine intervention",
150 /* 44*/              "frowns upon %s" } },
151   { -4,     N_ECON,  { "sacrifices to %s",
152 /* 45*/              "makes divine payment to %s" } },
153   { -10,    N_MISS,  { "abms intercept a %s missile",
154 /* 46*/              "strategic defense systems destroy a %s missile" } },
155   { -2,     N_MISS,  { "missile fired at one of %s's sectors",
156 /* 47*/              "missile wreaks havoc on %s" } },
157   { -2,     N_MISS,  { "missile fired at a ship flying the flag of %s",
158 /* 48*/              "missiles hit %s ships" } },
159   {  2,     N_ECON,  { "engages in friendly trade with %s",
160 /* 49*/              "profits from a merchant venture with %s" } },
161   {  0,     N_ECON,  { "pirates dispose of %s booty in trade",
162 /* 50*/              "buccaneers sell their %s goods" } },
163   {  0,     N_ECON,  { "pirates keep their %s booty",
164 /* 51*/              "buccaneers laugh and bury their %s goods" } },
165   {  0,     N_SEA,   { "ships torpedoed by %s torpedo-boats",
166 /* 52*/              "ships sunk by marauding %s torpedo-boats" } },
167   {  0,     N_SEA,   { "planes bomb a skulking %s submarine",
168 /* 53*/              "planes drop depth-charges on a %s sub" } },
169   { -2,    N_SEA,    { "ship is blown up in a failed assault on %s",
170 /* 54*/              "has a ship destroyed while assaulting %s" } },
171   { -2,     N_SKY,   { "divebombs a brave %s unit",
172 /* 55*/              "airforce bombs %s units" } },
173   { 0,      N_FRONT, { "troops run afoul of a landmine",
174 /* 56*/              "troops severely damaged in mine field" } },
175   { -2,     N_ARTY,  { "fortress gunners support troops attacking %s",
176 /* 57*/              "fortress artillery massacres %s defenders" } },
177   { -2,     N_ARTY,  { "gunners support troops attacking %s",
178 /* 58*/              "artillery battery massacres %s defenders" } },
179   { -2,     N_ARTY,  { "naval gunners support troops attacking %s",
180 /* 59*/              "naval gunfire massacres %s defenders" } },
181   {-10,     N_FOR,   { "sacks %s capital",
182 /* 60*/              "captures and pillages %s's capital" } },
183   { 3,      N_FOR,   { "announces friendly trade relations with %s",
184 /* 61*/              "upgrades %s's trade status to triple-A" } },
185   { 0,      N_FOR,   { "downgrades relations with %s to friendly",
186 /* 62*/              "cools relations with %s to friendly" } },
187   { 2,      N_FOR,   { "upgrades relations with %s to neutral",
188 /* 63*/              "Foreign Ministry declares \"%s is A-OK.\"" } },
189   { 0,      N_FOR,   { "downgrades relations with %s to neutral",
190 /* 64*/              "gives the cold shoulder to %s and declares neutral relations" } },
191   { 3,      N_FOR,   { "upgrades relations with %s to hostile",
192 /* 65*/              "forgives %s of past war crimes but remains hostile" } },
193   {-3,      N_FOR,   { "downgrades relations with %s to hostile",
194 /* 66*/              "is suspicious that %s has hostile intentions" } },
195   { 0,      N_MISS,  { "sector is struck by a sub-launched missile",
196 /* 67*/              "sector devastated by missile" } },
197   { 0,      N_MISS,  { "ship is hit by a sub-launched missile",
198 /* 68*/              "ship damaged by marine missile" } },
199   { 0,      N_COLONY,{ "pilgrims settle on a new island",
200 /* 69*/              "discovers new land and starts a colony" } },
201   { 0,      N_MISS,  { "abms intercept an incoming nuclear device",
202 /* 70*/              "strategic defense systems destroy an incoming nuclear warhead" } },
203   {-2,      N_MISS,  { "missile fired at %s ground troops",
204 /* 71*/              "missile hits %s troops" } },
205   { 0,      N_MISS,  { "regiment struck by sub-launched missile",
206 /* 72*/              "ground troops hit by missile" } },
207   { -4,     N_FRONT, { "navy secures a beachhead on %s territory",
208 /* 73*/              "sailors take a coastal sector from %s" } },
209   { -4,     N_FRONT, { "paratroopers comandeer a sector from %s",
210 /* 74*/              "air force parachutists overwhelm a %s sector" } },
211   { 0,      N_COLONY,{ "parachutists grab unoccupied land",
212 /* 75*/              "paratroopers break new ground" } },
213   {-4,      N_FRONT, { "sailors repelled by %s coast-guard",
214 /* 76*/              "naval forces massacred in failed assault of %s" } },
215   {-4,      N_FRONT, { "paratroopers destroyed in failed air-assault on %s",
216 /* 77*/              "loses parachutists in failed air-assault of %s" } },
217   { 0,      N_ECON,  { "is forced into debt to %s by bad management",
218 /* 78*/              "shows bad financial planning" } },
219   { 0,      N_ECON,  { "has its credit rating downgraded to unworthy status",
220 /* 79*/              "is denied credit by %s due to lack of collatoral" } },
221   { 0,      N_ECON,  { "is unable to fulfill its financial obligations to %s",
222 /* 80*/              "welches on a deal with %s" } },
223   { -3,     N_FRONT, { "is repelled by %s while attempting to board a land unit",
224 /* 81*/              "forces prove inept at boarding %s's land unit" } },
225   { -2,     N_FRONT, { "mercenaries board one of %s's land units",
226 /* 82*/              "elite forces board %s land unit" } }
227 };
228
229 int     nws_maxno   = (sizeof(rpt) / sizeof(struct rptstr)) - 1;