As a general note, Atlantis generally prints output on a line by line format. If the line stretches for more than 72 (I think) characters, it is cut off and continued onto further lines, with a 2 space indentation.
Subject: Atlantis 3.0 Report (Turn 144) Atlantis Report For: Test Faction (7) (War 1, Trade 1, Magic 3) December, Year 12 Account balance: $1.00 Note: The Atlantis Times is not being sent to you. Warning: Your balance is paid for less than four more turns. Please make arrangements with the Gamemaster to extend your balance if you wish to keep playing. Faction Status: Tax Regions: 0 (10) Trade Regions: 0 (10) Mages: 3 (3)
Errors during turn: Unit (383): CAST: Target region is an ocean. Battles during turn: Unit (380) attacks Unit (396) in plain (40,24) in Zaalsehuur! Attackers: Unit (380), leader [LEAD], 2 horses [HORS]. Unit (383), leader [LEAD]. Unit (95), 200 nomads [NOMA], 200 horses [HORS], combat 2. Unit (378), leader [LEAD], horse [HORS]. Defenders: Unit (376), 100 nomads [NOMA]. Unit (396), leader [LEAD]. Unit (397), leader [LEAD]. Unit (380) gets a free round of attacks. Unit (396) loses 102. Unit (396) is routed! Total Casualties: Unit (396) loses 102. Unit (380) loses 0. Spoils: 30263 silver [SILV]. Events during turn: Unit (383): Earns 1 silver working. Skill reports: farming [FARM] 2: No skill report. fishing [FISH] 1: A unit with this skill may use the PRODUCE order to produce fish in designated regions. Fish are only available in ocean regions. Item reports: sword [SWOR], weight 1.
Declared Attitudes (default Neutral): Hostile : none. Unfriendly : none. Neutral : none. Friendly : Another Faction (70), A long faction name that wraps over to the next line (72). Ally : none. Unclaimed silver: 609.
plain (40,24) in Zaalsehuur, 555 peasants (nomads), $2775. ------------------------------------------------------------ The weather was clear last month; it will be monsoon season next month. Wages: $15. Wanted: none. For Sale: 111 nomads [NOMA] at $60, 22 leaders [LEAD] at $120. Entertainment available: $138. Products: 102 grain [GRAI], 34 horses [HORS]. Exits: North : plain (40,22) in Zaalsehuur. Northeast : plain (41,23) in Zaalsehuur. Southeast : ocean (41,25) in Atlantis Ocean. South : ocean (40,26) in Atlantis Ocean. Southwest : ocean (39,25) in Atlantis Ocean. Northwest : plain (39,23) in Aberdovey.
* Unit (397), Faction (9), behind, leader [LEAD]. Skills: force [FORC] 1 (60). Can Study: Not a real skill [XXXX]. - Unit (95), Faction (7), behind, 500 nomads [NOMA], wool [WOOL], 7 stone [STON]. - Unit (378), Faction (7), behind, leader [LEAD], horse [HORS], ivory [IVOR], plate armor [PARM]. + Building [4] : Farm. - Unit (406), Faction (7), 459 nomads [NOMA].
Orders Template (Long Format): #atlantis 9 ;*** plain (40,24) in Zaalsehuur *** unit 376 ;Unit (376), 216 nomads [NOMA], 20530 silver [SILV]. Skills: mining ; [MINI] 1 (30). @work #end
The structure for towns, villages, cities.
class TownInfo { public: AString * name; int pop; int basepop; int activity; };The structure for regions.
class ARegion : public AListElem { public: AString * name; int num; int type; int buildingseq; int weather; int gate; TownInfo * town; int race; int population; int basepopulation; int wages; int maxwages; int money; ARegion * neighbors[NDIRS]; AList objects; AList hell; /* Where dead units go */ AList farsees; ProductionList products; MarketList markets; int xloc,yloc,zloc;The structure for attitudes.
class Attitude : public AListElem { public: int factionnum; int attitude; };The structure for factions.
class Faction : public AListElem { public: int num; int type[NFACTYPES]; int lastchange; int lastorders; int unclaimed; AString * name; AString * address; AString * password; int times; int temformat; int balance; char exists; int quit; AList war_regions; AList trade_regions; int defaultattitude; AList attitudes; SkillList skills; };The structure for objects (structures).
class Object : public AListElem { public: AString * name; AString * describe; int inner; int num; int type; int incomplete; int capacity; AList units; };The structure for units.
class Unit : public AListElem { public: Faction * faction; AString * name; AString * describe; int num; int type; int alias; int guard; /* Also, avoid- see enum above */ int reveal; int flags; int taxing; int movepoints; int canattack; int nomove; SkillList skills; ItemList items; int combat; AList oldorders; int needed; /* For assessing maintenance */ int losses; ARegion * advancefrom; };