]> git.pond.sub.org Git - empserver/commitdiff
(dchrstr, pchrstr, rptstr): New member d_uid, p_uid, r_uid.
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 19 Nov 2005 17:37:43 +0000 (17:37 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 19 Nov 2005 17:37:43 +0000 (17:37 +0000)
(dchr, bigcity_dchr, pchr, rpt): Initialize it.
(dchr_ca, pchr_ca, rpt_ca): New selector uid for it.

include/news.h
include/product.h
include/sect.h
src/lib/global/news.c
src/lib/global/nsc.c
src/lib/global/product.c
src/lib/global/sect.c

index 24eb3bedc35a912435190c1365c0b3056ebe8529..7a66e30c682919e1524d252f27e82a8f7043034a 100644 (file)
@@ -54,6 +54,7 @@ struct nwsstr {
 #define        NUM_RPTS        2       /* number of story alternates */
 
 struct rptstr {
+    signed char r_uid;
     int r_good_will;           /* how "nice" the action is */
     int r_newspage;            /* which page this item belongs on */
     char *r_newstory[NUM_RPTS];        /* texts for fmt( */
index c6326ac5457d38025966eb1067d99a47e5933fd7..888ccc6e7e52cec802cc3b1a4f41e97842843ab1 100644 (file)
@@ -43,6 +43,7 @@
 enum { MAXPRCON = 3 };
 
 struct pchrstr {
+    int p_uid;
     i_type p_ctype[MAXPRCON];  /* constituent types */
     u_short p_camt[MAXPRCON];  /* constituent amounts */
     i_type p_type;             /* product item type, or I_NONE if level */
index f0b576ea795dddcd69d0a996cfd443e0bab28ebd..ebfb06e630a48ab7bb3810507918846db0318692 100644 (file)
@@ -90,6 +90,7 @@ struct sctstr {
 };
 
 struct dchrstr {
+    unsigned char d_uid;
     int d_mnem;                        /* map symbol */
     int d_prd;                 /* product type */
     int d_mcst;                        /* movement cost */
index 64e0c3ada157745f49de65aa5f46d3d3ba450786..6787eeadc904344d01fbb0f728b9107f0fde49d7 100644 (file)
@@ -59,164 +59,164 @@ char *page_headings[] = {
 static char no_news[] = "does nothing in particular to %s";
 
 struct rptstr rpt[] = {
-/*  nice  page     text */
-/*  0*/ { 0,  0, { no_news, no_news } },
-    { -4, N_FRONT, { "infantry capture %s territory",
-/*  1*/                     "shock troops overrun one of %s's sectors" } },
-    { -4, N_FRONT, { "infantry beaten back by %s troops",
-/*  2*/                     "shock troops annihilated in failed attack on %s" } },
-    { -1, N_SPY,   { "spy shot by %s firing squad",
-/*  3*/                     "spy captured and shot by %s" } },
-    { 1,  N_TELE,  { "sends a telegram to %s",
-/*  4*/                     "telexes %s" } },
-    { 3,  N_FOR,   { "diplomats sign a treaty with %s",
-/*  5*/                     "ambassador agrees to a treaty with %s" } },
-    { 2,  N_ECON,  { "bankers make a loan to %s",
-/*  6*/                     "Ministry of Finance lends money to %s" } },
-    { 1,  N_ECON,  { "repays a loan from %s",
-/*  7*/                     "makes last payment on loan from %s" } },
-    { 0,  N_ECON,  { "makes a sale to %s",
-/*  8*/                     "sells goods to %s" } },
-    { -1, N_SKY,   { "violates %s airspace",
-/*  9*/                     "overflies %s territory" } },
-    { -2, N_ARTY,  { "gunners bombard %s territory",
-/* 10*/                     "artillery fires on %s sectors" } },
-    { -2, N_SEA,   { "shells a ship owned by %s",
-/* 11*/                     "fires on %s ships" } },
-    { 0,  N_FRONT, { "takes over unoccupied land",
-/* 12*/                     "attacks unowned land for some reason" } },
-    { 0,  N_SEA,   { "ships torpedoed by enemy wolf-packs",
-/* 13*/                     "ships torpedoed by marauding U-boats" } },
-    { 0,  N_ARTY,  { "gunners fire on %s in self-defense",
-/* 14*/                     "gunners decimate %s aggressors" } },
-    { 0,  N_FOR,   { "breaks sanctuary",
-/* 15*/                     "no longer has a sanctuary" } },
-    { -2, N_SKY,   { "planes divebomb one of %s's sectors",
-/* 16*/                     "bombers wreak havoc on %s" } },
-    { -2, N_SEA,   { "divebombs a ship flying the flag of %s",
-/* 17*/                     "airforce bombs %s ships" } },
-    { -2, N_SEA,   { "seadogs board one of %s's ships",
-/* 18*/                     "pirates board %s ship" } },
-    { -3, N_SEA,   { "is repelled by %s while attempting to board a ship",
-/* 19*/                     "pirates prove inept at boarding %s's ships" } },
-/* 20*/ { 0, 0, { no_news, no_news } },
-    { -2, N_ECON,  { "seizes a sector from %s to collect on a loan",
-/* 21*/                     "collects one of %s's sectors in repayment of a loan" } },
-    { -1, N_FOR,   { "considers an action which would violate a treaty with %s",
-/* 22*/                     "decides not to violate treaty with %s (yet)" } },
-    { -4, N_FOR,   { "violates a treaty with %s",
-/* 23*/                     "actions violate treaty with %s" } },
-/* 24*/ { 0, 0, { no_news, no_news } },
-    { 0,  N_SEA,   { "ship hits a mine",
-/* 25*/                     "ship severely damaged in mine field" } },
-    { 5,  N_FOR,   { "announces an alliance with %s",
-/* 26*/                     "/ %s alliance declared" } },
-/* 27*/ { 0, 0, { no_news, no_news } },
-    { -5, N_FOR,   { "declares TOTAL WAR on %s",
-/* 28*/                     "gets serious with %s and declares WAR" } },
-    { 0,  N_FOR,   { "diplomats disavow former alliance with %s",
-/* 29*/                     "is no longer allied with %s" } },
-    { 5,  N_FOR,   { "is no longer at war with %s",
-/* 30*/                     "Foreign Ministry declares \"No more war with %s\"" } },
-    { 0,  N_HOME,  { "reports outbreak of the black plague",
-/* 31*/                     "sector infected with bubonic plague" } },
-    { 0,  N_HOME,  { "citizens die from bubonic plague",
-/* 32*/                     "sector reports plague deaths" } },
-    { 0,  N_FOR,   { "goes through a name change",
-/* 33*/                     "adopts a new country name" } },
-    { 0,  N_HOME,  { "citizens starve in disastrous famine",
-/* 34*/                     "loses citizens to mass starvation" } },
-/* 35*/ { 0, 0, { no_news, no_news } },
-    { -3, N_SKY,   { "pilots down %s planes",
-/* 36*/                     "victorious in air-to-air combat against %s" } },
-    { -10,N_MISS,  { "nuclear device devastates %s sector",
-/* 37*/                     "explodes a nuclear device damaging %s territory" } },
-    { 0,  N_HOME,  { "terrorists shoot it out with %s special forces",
-/* 38*/                     "underground rises up against %s occupation" } },
-    { -2, N_HOME,  { "execution squads gun down helpless %s civilians",
-/* 39*/                     "firing squads massacre defenseless %s workers" } },
-    {  0, N_MISS,  { "launches a satellite into orbit",
-/* 40*/                     "continues its conquest of space with a successful launch" } },
-    { -8, N_MISS,  { "strikes a %s big bird",
-/* 41*/                     "rockets damage a %s satellite" } },
-    {  4, N_ECON,  { "makes a contribution to %s",
-/* 42*/                     "helps out %s" } },
-    {  2, N_HOME,  { "aids %s with divine intervention",
-/* 43*/                     "smiles upon %s" } },
-    { -3, N_HOME,  { "hurts %s with divine intervention",
-/* 44*/                     "frowns upon %s" } },
-    { -4, N_ECON,  { "sacrifices to %s",
-/* 45*/                     "makes divine payment to %s" } },
-    { -10,N_MISS,  { "abms intercept a %s missile",
-/* 46*/                     "strategic defense systems destroy a %s missile" } },
-    { -2, N_MISS,  { "missile fired at one of %s's sectors",
-/* 47*/                     "missile wreaks havoc on %s" } },
-    { -2, N_MISS,  { "missile fired at a ship flying the flag of %s",
-/* 48*/                     "missiles hit %s ships" } },
-    {  2, N_ECON,  { "engages in friendly trade with %s",
-/* 49*/                     "profits from a merchant venture with %s" } },
-    {  0, N_ECON,  { "pirates dispose of %s booty in trade",
-/* 50*/                     "buccaneers sell their %s goods" } },
-    {  0, N_ECON,  { "pirates keep their %s booty",
-/* 51*/                     "buccaneers laugh and bury their %s goods" } },
-    {  0, N_SEA,   { "ships torpedoed by %s torpedo-boats",
-/* 52*/                     "ships sunk by marauding %s torpedo-boats" } },
-    {  0, N_SEA,   { "planes bomb a skulking %s submarine",
-/* 53*/                     "planes drop depth-charges on a %s sub" } },
-/* 54*/ { 0, 0, { no_news, no_news } },
-    { -2, N_SKY,   { "divebombs a brave %s unit",
-/* 55*/                     "airforce bombs %s units" } },
-    { 0,  N_FRONT, { "troops run afoul of a landmine",
-/* 56*/                     "troops severely damaged in mine field" } },
-    { -2, N_ARTY,  { "fortress gunners support troops attacking %s",
-/* 57*/                     "fortress artillery massacres %s defenders" } },
-    { -2, N_ARTY,  { "gunners support troops attacking %s",
-/* 58*/                     "artillery battery massacres %s defenders" } },
-    { -2, N_ARTY,  { "naval gunners support troops attacking %s",
-/* 59*/                     "naval gunfire massacres %s defenders" } },
-    {-10, N_FOR,   { "sacks %s capital",
-/* 60*/                     "captures and pillages %s's capital" } },
-    { 3,  N_FOR,   { "announces friendly trade relations with %s",
-/* 61*/                     "upgrades %s's trade status to triple-A" } },
-    { 0,  N_FOR,   { "downgrades relations with %s to friendly",
-/* 62*/                     "cools relations with %s to friendly" } },
-    { 2,  N_FOR,   { "upgrades relations with %s to neutral",
-/* 63*/                     "Foreign Ministry declares \"%s is A-OK.\"" } },
-    { 0,  N_FOR,   { "downgrades relations with %s to neutral",
-/* 64*/                     "gives the cold shoulder to %s and declares neutral relations" } },
-    { 3,  N_FOR,   { "upgrades relations with %s to hostile",
-/* 65*/                     "forgives %s of past war crimes but remains hostile" } },
-    {-3,  N_FOR,   { "downgrades relations with %s to hostile",
-/* 66*/                     "is suspicious that %s has hostile intentions" } },
-    { 0,  N_MISS,  { "sector is struck by a sub-launched missile",
-/* 67*/                     "sector devastated by missile" } },
-    { 0,  N_MISS,  { "ship is hit by a sub-launched missile",
-/* 68*/                     "ship damaged by marine missile" } },
-    { 0,  N_COLONY,{ "pilgrims settle on a new island",
-/* 69*/                     "discovers new land and starts a colony" } },
-    { 0,  N_MISS,  { "abms intercept an incoming sub-launched missile",
-/* 70*/                     "strategic defense systems destroy an incoming sub-launched warhead"}},
-    {-2,  N_MISS,  { "missile fired at %s ground troops",
-/* 71*/                     "missile hits %s troops" } },
-    { 0,  N_MISS,  { "regiment struck by sub-launched missile",
-/* 72*/                     "ground troops hit by missile" } },
-    { -4, N_FRONT, { "navy secures a beachhead on %s territory",
-/* 73*/                     "sailors take a coastal sector from %s" } },
-    { -4, N_FRONT, { "paratroopers comandeer a sector from %s",
-/* 74*/                     "air force parachutists overwhelm a %s sector" } },
-    { 0,  N_COLONY,{ "parachutists grab unoccupied land",
-/* 75*/                     "paratroopers break new ground" } },
-    {-4,  N_FRONT, { "sailors repelled by %s coast-guard",
-/* 76*/                     "naval forces massacred in failed assault of %s" } },
-    {-4,  N_FRONT, { "paratroopers destroyed in failed air-assault on %s",
-/* 77*/                     "loses parachutists in failed air-assault of %s" } },
-/* 78*/ { 0, 0, { no_news, no_news } },
-/* 79*/ { 0, 0, { no_news, no_news } },
-    { 0,  N_ECON,  { "is unable to fulfill its financial obligations to %s",
-/* 80*/                     "welches on a deal with %s" } },
-    { -3, N_FRONT, { "is repelled by %s while attempting to board a land unit",
-/* 81*/                     "forces prove inept at boarding %s's land unit" } },
-    { -2, N_FRONT, { "mercenaries board one of %s's land units",
-/* 82*/                     "elite forces board %s land unit" } },
-    { 0, 0, { NULL, NULL } }
+    /*  nice  page     text */
+    { 0, 0, 0, { no_news, no_news } },
+    { N_WON_SECT, -4, N_FRONT, { "infantry capture %s territory",
+                                "shock troops overrun one of %s's sectors" } },
+    { N_SCT_LOSE, -4, N_FRONT, { "infantry beaten back by %s troops",
+                                "shock troops annihilated in failed attack on %s" } },
+    { N_SPY_SHOT, -1, N_SPY,   { "spy shot by %s firing squad",
+                                "spy captured and shot by %s" } },
+    { N_SENT_TEL, 1,  N_TELE,  { "sends a telegram to %s",
+                                "telexes %s" } },
+    { N_SIGN_TRE, 3,  N_FOR,   { "diplomats sign a treaty with %s",
+                                "ambassador agrees to a treaty with %s" } },
+    { N_MAKE_LOAN, 2,  N_ECON,  { "bankers make a loan to %s",
+                                 "Ministry of Finance lends money to %s" } },
+    { N_REPAY_LOAN, 1,  N_ECON,  { "repays a loan from %s",
+                                  "makes last payment on loan from %s" } },
+    { N_MAKE_SALE, 0,  N_ECON,  { "makes a sale to %s",
+                                 "sells goods to %s" } },
+    { N_OVFLY_SECT, -1, N_SKY,   { "violates %s airspace",
+                                  "overflies %s territory" } },
+    { N_SCT_SHELL, -2, N_ARTY,  { "gunners bombard %s territory",
+                                 "artillery fires on %s sectors" } },
+    { N_SHP_SHELL, -2, N_SEA,   { "shells a ship owned by %s",
+                                 "fires on %s ships" } },
+    { N_TOOK_UNOCC, 0,  N_FRONT, { "takes over unoccupied land",
+                                  "attacks unowned land for some reason" } },
+    { N_TORP_SHIP, 0,  N_SEA,   { "ships torpedoed by enemy wolf-packs",
+                                 "ships torpedoed by marauding U-boats" } },
+    { N_FIRE_BACK, 0,  N_ARTY,  { "gunners fire on %s in self-defense",
+                                 "gunners decimate %s aggressors" } },
+    { N_BROKE_SANCT, 0,  N_FOR,   { "breaks sanctuary",
+                                   "no longer has a sanctuary" } },
+    { N_SCT_BOMB, -2, N_SKY,   { "planes divebomb one of %s's sectors",
+                                "bombers wreak havoc on %s" } },
+    { N_SHP_BOMB, -2, N_SEA,   { "divebombs a ship flying the flag of %s",
+                                "airforce bombs %s ships" } },
+    { N_BOARD_SHIP, -2, N_SEA,   { "seadogs board one of %s's ships",
+                                  "pirates board %s ship" } },
+    { N_SHP_LOSE, -3, N_SEA,   { "is repelled by %s while attempting to board a ship",
+                                "pirates prove inept at boarding %s's ships" } },
+    { 20, 0, 0, { no_news, no_news } },
+    { N_SEIZE_SECT, -2, N_ECON,  { "seizes a sector from %s to collect on a loan",
+                                  "collects one of %s's sectors in repayment of a loan" } },
+    { N_HONOR_TRE, -1, N_FOR,   { "considers an action which would violate a treaty with %s",
+                                 "decides not to violate treaty with %s (yet)" } },
+    { N_VIOL_TRE, -4, N_FOR,   { "violates a treaty with %s",
+                                "actions violate treaty with %s" } },
+    { 24, 0, 0, { no_news, no_news } },
+    { N_HIT_MINE, 0,  N_SEA,   { "ship hits a mine",
+                                "ship severely damaged in mine field" } },
+    { N_DECL_ALLY, 5,  N_FOR,   { "announces an alliance with %s",
+                                 "/ %s alliance declared" } },
+    { 27, 0, 0, { no_news, no_news } },
+    { N_DECL_WAR, -5, N_FOR,   { "declares TOTAL WAR on %s",
+                                "gets serious with %s and declares WAR" } },
+    { N_DIS_ALLY, 0,  N_FOR,   { "diplomats disavow former alliance with %s",
+                                "is no longer allied with %s" } },
+    { N_DIS_WAR, 5,  N_FOR,   { "is no longer at war with %s",
+                               "Foreign Ministry declares \"No more war with %s\"" } },
+    { N_OUT_PLAGUE, 0,  N_HOME,  { "reports outbreak of the black plague",
+                                  "sector infected with bubonic plague" } },
+    { N_DIE_PLAGUE, 0,  N_HOME,  { "citizens die from bubonic plague",
+                                  "sector reports plague deaths" } },
+    { N_NAME_CHNG, 0,  N_FOR,   { "goes through a name change",
+                                 "adopts a new country name" } },
+    { N_DIE_FAMINE, 0,  N_HOME,  { "citizens starve in disastrous famine",
+                                  "loses citizens to mass starvation" } },
+    { 35, 0, 0, { no_news, no_news } },
+    { N_DOWN_PLANE, -3, N_SKY,   { "pilots down %s planes",
+                                  "victorious in air-to-air combat against %s" } },
+    { N_NUKE, -10,N_MISS,  { "nuclear device devastates %s sector",
+                            "explodes a nuclear device damaging %s territory" } },
+    { N_FREEDOM_FIGHT, 0,  N_HOME,  { "terrorists shoot it out with %s special forces",
+                                     "underground rises up against %s occupation" } },
+    { N_SHOOT_CIV, -2, N_HOME,  { "execution squads gun down helpless %s civilians",
+                                 "firing squads massacre defenseless %s workers" } },
+    { N_LAUNCH,  0, N_MISS,  { "launches a satellite into orbit",
+                              "continues its conquest of space with a successful launch" } },
+    { N_SAT_KILL, -8, N_MISS,  { "strikes a %s big bird",
+                                "rockets damage a %s satellite" } },
+    { N_GIFT,  4, N_ECON,  { "makes a contribution to %s",
+                            "helps out %s" } },
+    { N_AIDS,  2, N_HOME,  { "aids %s with divine intervention",
+                            "smiles upon %s" } },
+    { N_HURTS, -3, N_HOME,  { "hurts %s with divine intervention",
+                             "frowns upon %s" } },
+    { N_TAKE, -4, N_ECON,  { "sacrifices to %s",
+                            "makes divine payment to %s" } },
+    { N_NUKE_STOP, -10,N_MISS,  { "abms intercept a %s missile",
+                                 "strategic defense systems destroy a %s missile" } },
+    { N_SCT_MISS, -2, N_MISS,  { "missile fired at one of %s's sectors",
+                                "missile wreaks havoc on %s" } },
+    { N_SHP_MISS, -2, N_MISS,  { "missile fired at a ship flying the flag of %s",
+                                "missiles hit %s ships" } },
+    { N_TRADE,  2, N_ECON,  { "engages in friendly trade with %s",
+                             "profits from a merchant venture with %s" } },
+    { N_PIRATE_TRADE,  0, N_ECON,  { "pirates dispose of %s booty in trade",
+                                    "buccaneers sell their %s goods" } },
+    { N_PIRATE_KEEP,  0, N_ECON,  { "pirates keep their %s booty",
+                                   "buccaneers laugh and bury their %s goods" } },
+    { N_SHIP_TORP,  0, N_SEA,   { "ships torpedoed by %s torpedo-boats",
+                                 "ships sunk by marauding %s torpedo-boats" } },
+    { N_SUB_BOMB,  0, N_SEA,   { "planes bomb a skulking %s submarine",
+                                "planes drop depth-charges on a %s sub" } },
+    { 54, 0, 0, { no_news, no_news } },
+    { N_UNIT_BOMB, -2, N_SKY,   { "divebombs a brave %s unit",
+                                 "airforce bombs %s units" } },
+    { N_LHIT_MINE, 0,  N_FRONT, { "troops run afoul of a landmine",
+                                 "troops severely damaged in mine field" } },
+    { N_FIRE_F_ATTACK, -2, N_ARTY,  { "fortress gunners support troops attacking %s",
+                                     "fortress artillery massacres %s defenders" } },
+    { N_FIRE_L_ATTACK, -2, N_ARTY,  { "gunners support troops attacking %s",
+                                     "artillery battery massacres %s defenders" } },
+    { N_FIRE_S_ATTACK, -2, N_ARTY,  { "naval gunners support troops attacking %s",
+                                     "naval gunfire massacres %s defenders" } },
+    { N_SACK_CAP, 10, N_FOR,   { "sacks %s capital",
+                                "captures and pillages %s's capital" } },
+    { N_UP_FRIENDLY, 3,  N_FOR,   { "announces friendly trade relations with %s",
+                                   "upgrades %s's trade status to triple-A" } },
+    { N_DOWN_FRIENDLY, 0,  N_FOR,   { "downgrades relations with %s to friendly",
+                                     "cools relations with %s to friendly" } },
+    { N_UP_NEUTRAL, 2,  N_FOR,   { "upgrades relations with %s to neutral",
+                                  "Foreign Ministry declares \"%s is A-OK.\"" } },
+    { N_DOWN_NEUTRAL, 0,  N_FOR,   { "downgrades relations with %s to neutral",
+                                    "gives the cold shoulder to %s and declares neutral relations" } },
+    { N_UP_HOSTILE, 3,  N_FOR,   { "upgrades relations with %s to hostile",
+                                  "forgives %s of past war crimes but remains hostile" } },
+    { N_DOWN_HOSTILE, 3,  N_FOR,   { "downgrades relations with %s to hostile",
+                                    "is suspicious that %s has hostile intentions" } },
+    { N_SCT_SMISS, 0,  N_MISS,  { "sector is struck by a sub-launched missile",
+                                 "sector devastated by missile" } },
+    { N_SHP_SMISS, 0,  N_MISS,  { "ship is hit by a sub-launched missile",
+                                 "ship damaged by marine missile" } },
+    { N_START_COL, 0,  N_COLONY,{ "pilgrims settle on a new island",
+                                 "discovers new land and starts a colony" } },
+    { N_NUKE_SSTOP, 0,  N_MISS,  { "abms intercept an incoming sub-launched missile",
+                                  "strategic defense systems destroy an incoming sub-launched warhead"}},
+    { N_LND_MISS, 2,  N_MISS,  { "missile fired at %s ground troops",
+                                "missile hits %s troops" } },
+    { N_LND_SMISS, 0,  N_MISS,  { "regiment struck by sub-launched missile",
+                                 "ground troops hit by missile" } },
+    { N_AWON_SECT, -4, N_FRONT, { "navy secures a beachhead on %s territory",
+                                 "sailors take a coastal sector from %s" } },
+    { N_PWON_SECT, -4, N_FRONT, { "paratroopers comandeer a sector from %s",
+                                 "air force parachutists overwhelm a %s sector" } },
+    { N_PARA_UNOCC, 0,  N_COLONY,{ "parachutists grab unoccupied land",
+                                  "paratroopers break new ground" } },
+    { N_ALOSE_SCT, 4,  N_FRONT, { "sailors repelled by %s coast-guard",
+                                 "naval forces massacred in failed assault of %s" } },
+    { N_PLOSE_SCT, 4,  N_FRONT, { "paratroopers destroyed in failed air-assault on %s",
+                                 "loses parachutists in failed air-assault of %s" } },
+    { 78, 0, 0, { no_news, no_news } },
+    { 79, 0, 0, { no_news, no_news } },
+    { N_WELCH_DEAL, 0,  N_ECON,  { "is unable to fulfill its financial obligations to %s",
+                                  "welches on a deal with %s" } },
+    { N_LND_LOSE, -3, N_FRONT, { "is repelled by %s while attempting to board a land unit",
+                                "forces prove inept at boarding %s's land unit" } },
+    { N_BOARD_LAND, -2, N_FRONT, { "mercenaries board one of %s's land units",
+                                  "elite forces board %s land unit" } },
+    { 0, 0, 0, { NULL, NULL } }
 };
index f804b4c61d1cc6908b96a7da47d3ee0f0c7cf674..1e1a3f0c994c8b0aff69b8168010f758ae473389 100644 (file)
@@ -90,6 +90,7 @@ struct castr ichr_ca[] = {
 };
 
 struct castr pchr_ca[] = {
+    {NSC_INT, 0, 0, offsetof(struct pchrstr, p_uid), "uid", EF_PRODUCT},
     {NSC_STRING, 0, 0, offsetof(struct pchrstr, p_name), "name", EF_BAD},
     {NSC_STRING, NSC_CONST, 0, offsetof(struct pchrstr, p_sname), "sname",
      EF_BAD},
@@ -157,6 +158,7 @@ struct castr sect_ca[] = {
 };
 
 struct castr dchr_ca[] = {
+    {NSC_UCHAR, 0, 0, offsetof(struct dchrstr, d_uid), "uid", EF_SECTOR_CHR},
     {NSC_STRING, 0, 0, offsetof(struct dchrstr, d_name), "name", EF_BAD},
     {NSC_INT, NSC_CONST, 0, offsetof(struct dchrstr, d_mnem), "mnem", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct dchrstr, d_prd), "prd", EF_PRODUCT},
@@ -527,6 +529,7 @@ struct castr intrchr_ca[] = {
 };
 
 struct castr rpt_ca[] = {
+    {NSC_CHAR, 0, 0, offsetof(struct rptstr, r_uid), "uid", EF_NEWS_CHR},
     {NSC_STRING, 0, NUM_RPTS, offsetof(struct rptstr, r_newstory), "newstory",
      EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct rptstr, r_good_will), "good_will", EF_BAD},
index f4b98560842a5d3feee8c6b009315347d74868d4..af2f80455ebae2b2d98bf81ff1986d7be481b378 100644 (file)
 
 struct pchrstr pchr[] = {
 /*       level      cost    nrndx nrdep nlndx   nlmin nllag effic  sname name */
-    {{I_NONE, I_NONE, I_NONE}, {0, 0, 0},
+    {0, {I_NONE, I_NONE, I_NONE}, {0, 0, 0},
      I_NONE, 0, 0, 0, 0, 0, 0, 0, 0,
      "unused", "",},
-    {{I_LCM, I_HCM, I_NONE}, {2, 1, 0},
+    {P_SHELL, {I_LCM, I_HCM, I_NONE}, {2, 1, 0},
      I_SHELL, -1, 3, 0, 0, NAT_TLEV, 20, 10, 100,
      "shells", "shells",},
-    {{I_OIL, I_LCM, I_HCM}, {1, 5, 10},
+    {P_GUN, {I_OIL, I_LCM, I_HCM}, {1, 5, 10},
      I_GUN, -1, 30, 0, 0, NAT_TLEV, 20, 10, 100,
      "guns", "guns",},
-    {{I_OIL, I_NONE, I_NONE}, {1, 0, 0},
+    {P_PETROL, {I_OIL, I_NONE, I_NONE}, {1, 0, 0},
      I_PETROL, -1, 1, 0, 0, NAT_TLEV, 20, 10, 1000,
      "petrol", "petrol",},
-    {{I_NONE, I_NONE, I_NONE}, {0, 0, 0},
+    {P_IRON, {I_NONE, I_NONE, I_NONE}, {0, 0, 0},
      I_IRON, -1, 0, offsetof(struct sctstr, sct_min), 0, -1, 0, 0, 100,
      "iron ore", "iron",},
-    {{I_NONE, I_NONE, I_NONE}, {0, 0, 0},
+    {P_DUST, {I_NONE, I_NONE, I_NONE}, {0, 0, 0},
      I_DUST, -1, 0, offsetof(struct sctstr, sct_gmin), 20, -1, 0, 0, 100,
      "gold dust", "dust",},
-    {{I_DUST, I_NONE, I_NONE}, {5, 0, 0},
+    {P_BAR, {I_DUST, I_NONE, I_NONE}, {5, 0, 0},
      I_BAR, -1, 10, 0, 0, -1, 0, 0, 100,
      "gold bars", "bars",},
-    {{I_NONE, I_NONE, I_NONE}, {0, 0, 0},
+    {P_FOOD, {I_NONE, I_NONE, I_NONE}, {0, 0, 0},
      I_FOOD, -1, 0, offsetof(struct sctstr, sct_fertil), 0, NAT_TLEV, -10, 10, 900,
      "food", "food",},
-    {{I_NONE, I_NONE, I_NONE}, {0, 0, 0},
+    {P_OIL, {I_NONE, I_NONE, I_NONE}, {0, 0, 0},
      I_OIL, -1, 0, offsetof(struct sctstr, sct_oil), 10, NAT_TLEV, -10, 10, 100,
      "oil", "oil",},
-    {{I_IRON, I_NONE, I_NONE}, {1, 0, 0},
+    {P_LCM, {I_IRON, I_NONE, I_NONE}, {1, 0, 0},
      I_LCM, -1, 0, 0, 0, NAT_TLEV, -10, 10, 100,
      "light construction materials", "lcm",},
-    {{I_IRON, I_NONE, I_NONE}, {2, 0, 0},
+    {P_HCM, {I_IRON, I_NONE, I_NONE}, {2, 0, 0},
      I_HCM, -1, 0, 0, 0, NAT_TLEV, -10, 10, 100,
      "heavy construction materials", "hcm",},
-    {{I_DUST, I_OIL, I_LCM}, {1, 5, 10},
+    {P_TLEV, {I_DUST, I_OIL, I_LCM}, {1, 5, 10},
      I_NONE, NAT_TLEV, 300, 0, 0, NAT_ELEV, 5, 10, 100,
      "technological breakthroughs", "tech",},
-    {{I_DUST, I_OIL, I_LCM}, {1, 5, 10},
+    {P_RLEV, {I_DUST, I_OIL, I_LCM}, {1, 5, 10},
      I_NONE, NAT_RLEV, 90, 0, 0, NAT_ELEV, 5, 10, 100,
      "medical discoveries", "medical",},
-    {{I_LCM, I_NONE, I_NONE}, {1, 0, 0},
+    {P_ELEV, {I_LCM, I_NONE, I_NONE}, {1, 0, 0},
      I_NONE, NAT_ELEV, 9, 0, 0, -1, 0, 0, 100,
      "a class of graduates", "edu",},
-    {{I_LCM, I_NONE, I_NONE}, {1, 0, 0},
+    {P_HLEV, {I_LCM, I_NONE, I_NONE}, {1, 0, 0},
      I_NONE, NAT_HLEV, 9, 0, 0, -1, 0, 0, 100,
      "happy strollers", "happy",},
-    {{I_NONE, I_NONE, I_NONE}, {0, 0, 0},
+    {P_URAN, {I_NONE, I_NONE, I_NONE}, {0, 0, 0},
      I_RAD, -1, 2, offsetof(struct sctstr, sct_uran), 35, NAT_TLEV, 40, 10, 100,
      "radioactive materials", "rad",},
-    {{I_NONE, I_NONE, I_NONE}, {0, 0, 0},
+    {P_MDUST, {I_NONE, I_NONE, I_NONE}, {0, 0, 0},
      I_DUST, -1, 0, offsetof(struct sctstr, sct_gmin), 20, -1, 0, 0, 75,
      "gold dust", "dust",},
-    {{I_NONE, I_NONE, I_NONE}, {0, 0, 0},
+    {0, {I_NONE, I_NONE, I_NONE}, {0, 0, 0},
      I_NONE, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL,}
 };
index 9e4bc94a086855beb3f8e88421402f4f06e435b7..e5865eeade697ff109dd1d28970d328b384c3b25 100644 (file)
 #include "product.h"
 
 struct dchrstr bigcity_dchr = {
-    'c', 0, 2, NAV_02, UPKG, 1.0, 2.0, 30, 0, 10, 1, 2, 999, "city"
+    SCT_CAPIT,   'c',       0, 2, NAV_02, UPKG, 1.0, 2.0,   30, 0, 10, 1, 2, 999, "city"
 };
 
 struct dchrstr dchr[] = {
-/*
-  mnem prd     mcst  flg    pkg ostr dstr value $ bld lcm hcm maxpop  name    */
-    {'.', 0, 0, NAVOK, NPKG, 0.0, 0.0, 0, -1, 0, 0, 0, 0, "sea"},
-    {'^', P_MDUST, 25, 0, NPKG, 1.0, 4.0, 5, -1, 1, 0, 0, 99, "mountain"},
-    {'s', 0, 0, 0, NPKG, 0.0, 99.0, 127, -1, 0, 0, 0, 999, "sanctuary"},
-    {'\\', 0, 0, 0, NPKG, 0.0, 99.0, 0, -1, 0, 0, 0, 0, "wasteland"},
-    {'-', 0, 3, 0, NPKG, 1.0, 2.0, 1, 0, 0, 0, 0, 999, "wilderness"},
-    {'c', 0, 2, 0, NPKG, 1.0, 2.0, 30, 0, 1, 0, 0, 999, "capital"},
-    {'u', P_URAN, 2, 0, NPKG, 1.0, 2.0, 15, 0, 1, 0, 0, 999, "uranium mine"},
-    {'p', P_HLEV, 2, 0, NPKG, 1.0, 1.5, 5, 0, 1, 0, 0, 999, "park"},
-    {'d', P_GUN, 2, 0, NPKG, 1.0, 1.5, 7, 0, 1, 0, 0, 999, "defense plant"},
-    {'i', P_SHELL, 2, 0, NPKG, 1.0, 1.5, 6, 0, 1, 0, 0, 999, "shell industry"},
-    {'m', P_IRON, 2, 0, NPKG, 1.0, 2.0, 5, 0, 1, 0, 0, 999, "mine"},
-    {'g', P_DUST, 2, 0, NPKG, 1.0, 2.0, 8, 0, 1, 0, 0, 999, "gold mine"},
-    {'h', 0, 2, NAV_02, WPKG, 1.0, 1.5, 12, 0, 1, 0, 0, 999, "harbor"},
-    {'w', 0, 2, 0, WPKG, 1.0, 1.5, 7, 0, 1, 0, 0, 999, "warehouse"},
-    {'*', 0, 2, 0, NPKG, 1.0, 1.25, 12, 0, 1, 0, 0, 999, "airfield"},
-    {'a', P_FOOD, 2, 0, NPKG, 1.0, 1.5, 2, 0, 1, 0, 0, 999, "agribusiness"},
-    {'o', P_OIL, 2, 0, NPKG, 1.0, 1.5, 5, 0, 1, 0, 0, 999, "oil field"},
-    {'j', P_LCM, 2, 0, NPKG, 1.0, 1.5, 3, 0, 1, 0, 0, 999, "light manufacturing"},
-    {'k', P_HCM, 2, 0, NPKG, 1.0, 1.5, 4, 0, 1, 0, 0, 999, "heavy manufacturing"},
-    {'f', 0, 2, 0, NPKG, 2.0, 4.0, 10, 0, 5, 0, 1, 999, "fortress"},
-    {'t', P_TLEV, 2, 0, NPKG, 1.0, 1.5, 10, 0, 1, 0, 0, 999, "technical center"},
-    {'r', P_RLEV, 2, 0, NPKG, 1.0, 1.5, 9, 0, 1, 0, 0, 999, "research lab"},
-    {'n', 0, 2, 0, NPKG, 1.0, 2.0, 10, 0, 1, 0, 0, 999, "nuclear plant"},
-    {'l', P_ELEV, 2, 0, NPKG, 1.0, 1.5, 4, 0, 1, 0, 0, 999, "library/school"},
-    {'+', 0, 1, 0, NPKG, 1.0, 1.0, 3, 0, 1, 0, 0, 999, "highway"},
-    {')', 0, 2, 0, NPKG, 1.0, 1.5, 4, 0, 1, 0, 0, 999, "radar installation"},
-    {'!', 0, 2, 0, NPKG, 1.0, 1.5, 12, 0, 1, 0, 0, 999, "headquarters"},
-    {'#', 0, 1, 0, NPKG, 1.0, 1.5, 4, 0, 1, 0, 0, 999, "bridge head"},
-    {'=', 0, 1, NAV_60, NPKG, 1.0, 1.0, 5, -1, 1, 0, 0, 999, "bridge span"},
-    {'b', P_BAR, 2, 0, BPKG, 1.0, 2.25, 10, 0, 1, 0, 0, 999, "bank"},
-    {'%', P_PETROL, 2, 0, NPKG, 1.0, 1.5, 2, 0, 1, 0, 0, 999, "refinery"},
-    {'e', 0, 2, 0, NPKG, 1.0, 2.0, 7, 0, 1, 0, 0, 999, "enlistment center"},
-    {'~', 0, 2, 0, NPKG, 1.0, 1.5, 1, -1, 1, 0, 0, 49, "plains"},
-    {'@', 0, 1, 0, NPKG, 1.0, 1.5, 4, -1, 1, 0, 0, 999, "bridge tower"},
-    {0, 0, 0, 0, IPKG, 0, 0, 0, 0, 0, 0, 0, 0, NULL},
+    /*          mnem prd     mcst  flg    pkg  ostr dstr value  $ bld lcm hcm maxpop name */
+    {SCT_WATER,  '.',       0, 0,  NAVOK, NPKG, 0.0,  0.0,   0, -1, 0, 0, 0,   0, "sea"},
+    {SCT_MOUNT,  '^', P_MDUST, 25,     0, NPKG, 1.0,  4.0,   5, -1, 1, 0, 0,  99, "mountain"},
+    {SCT_SANCT,  's',       0, 0,      0, NPKG, 0.0, 99.0, 127, -1, 0, 0, 0, 999, "sanctuary"},
+    {SCT_WASTE,  '\\',      0, 0,      0, NPKG, 0.0, 99.0,   0, -1, 0, 0, 0,   0, "wasteland"},
+    {SCT_RURAL,  '-',       0, 3,      0, NPKG, 1.0,  2.0,   1,  0, 0, 0, 0, 999, "wilderness"},
+    {SCT_CAPIT,  'c',       0, 2,      0, NPKG, 1.0,  2.0,  30,  0, 1, 0, 0, 999, "capital"},
+    {SCT_URAN,   'u', P_URAN,  2,      0, NPKG, 1.0,  2.0,  15,  0, 1, 0, 0, 999, "uranium mine"},
+    {SCT_PARK,   'p', P_HLEV,  2,      0, NPKG, 1.0,  1.5,   5,  0, 1, 0, 0, 999, "park"},
+    {SCT_ARMSF,  'd', P_GUN,   2,      0, NPKG, 1.0,  1.5,   7,  0, 1, 0, 0, 999, "defense plant"},
+    {SCT_AMMOF,  'i', P_SHELL, 2,      0, NPKG, 1.0,  1.5,   6,  0, 1, 0, 0, 999, "shell industry"},
+    {SCT_MINE,   'm', P_IRON,  2,      0, NPKG, 1.0,  2.0,   5,  0, 1, 0, 0, 999, "mine"},
+    {SCT_GMINE,  'g', P_DUST,  2,      0, NPKG, 1.0,  2.0,   8,  0, 1, 0, 0, 999, "gold mine"},
+    {SCT_HARBR,  'h',       0, 2, NAV_02, WPKG, 1.0,  1.5,  12,  0, 1, 0, 0, 999, "harbor"},
+    {SCT_WAREH,  'w',      0, 2,      0, WPKG, 1.0,  1.5,   7,  0, 1, 0, 0, 999, "warehouse"},
+    {SCT_AIRPT,  '*',      0, 2,      0, NPKG, 1.0,  1.25, 12,  0, 1, 0, 0, 999, "airfield"},
+    {SCT_AGRI,   'a', P_FOOD,  2,      0, NPKG, 1.0,  1.5,   2,  0, 1, 0, 0, 999, "agribusiness"},
+    {SCT_OIL,    'o', P_OIL,   2,      0, NPKG, 1.0,  1.5,   5,  0, 1, 0, 0, 999, "oil field"},
+    {SCT_LIGHT,  'j', P_LCM,   2,      0, NPKG, 1.0,  1.5,   3,  0, 1, 0, 0, 999, "light manufacturing"},
+    {SCT_HEAVY,  'k', P_HCM,   2,      0, NPKG, 1.0,  1.5,   4,  0, 1, 0, 0, 999, "heavy manufacturing"},
+    {SCT_FORTR,  'f',       0, 2,      0, NPKG, 2.0,  4.0,  10,  0, 5, 0, 1, 999, "fortress"},
+    {SCT_TECH,   't', P_TLEV,  2,      0, NPKG, 1.0,  1.5,  10,  0, 1, 0, 0, 999, "technical center"},
+    {SCT_RSRCH,  'r', P_RLEV,  2,      0, NPKG, 1.0,  1.5,   9,  0, 1, 0, 0, 999, "research lab"},
+    {SCT_NUKE,   'n',       0, 2,      0, NPKG, 1.0,  2.0,  10,  0, 1, 0, 0, 999, "nuclear plant"},
+    {SCT_LIBR,   'l', P_ELEV,  2,      0, NPKG, 1.0,  1.5,   4,  0, 1, 0, 0, 999, "library/school"},
+    {SCT_HIWAY,  '+',      0, 1,      0, NPKG, 1.0,  1.0,   3,  0, 1, 0, 0, 999, "highway"},
+    {SCT_RADAR,  ')',      0, 2,      0, NPKG, 1.0,  1.5,   4,  0, 1, 0, 0, 999, "radar installation"},
+    {SCT_HEADQ,  '!',      0, 2,      0, NPKG, 1.0,  1.5,  12,  0, 1, 0, 0, 999, "headquarters"},
+    {SCT_BHEAD,  '#',      0, 1,      0, NPKG, 1.0,  1.5,   4,  0, 1, 0, 0, 999, "bridge head"},
+    {SCT_BSPAN,  '=',      0, 1, NAV_60, NPKG, 1.0,  1.0,   5, -1, 1, 0, 0, 999, "bridge span"},
+    {SCT_BANK,   'b', P_BAR,   2,      0, BPKG, 1.0,  2.25, 10,  0, 1, 0, 0, 999, "bank"},
+    {SCT_REFINE, '%', P_PETROL, 2,     0, NPKG, 1.0,  1.5,   2,  0, 1, 0, 0, 999, "refinery"},
+    {SCT_ENLIST, 'e',      0, 2,      0, NPKG, 1.0,  2.0,   7,  0, 1, 0, 0, 999, "enlistment center"},
+    {SCT_PLAINS, '~',      0, 2,      0, NPKG, 1.0,  1.5,   1, -1, 1, 0, 0,  49, "plains"},
+    {SCT_BTOWER, '@',      0, 1,      0, NPKG, 1.0,  1.5,   4, -1, 1, 0, 0, 999, "bridge tower"},
+    {0, 0, 0, 0, 0, IPKG, 0, 0, 0, 0, 0, 0, 0, 0, NULL},
 };
 
 struct sctintrins intrchr[] = {