Empire Lives! (Version 3.82) ----------------------------- That's right... Empire Lives! in Pascal and on this HP3000. It is hosted due to the efforts of gamemaster Tracy Johnson, the keeper of all things Empire... and, of course, the largesse of his employer. Apparently, the history of this particular version of Empire has been censored from Wikipedia. This version was abandonned by Ben Norton in 2003, when he and his merry band of Flooglites went off in pursuit of a mythical C++/Linux port. Ironically, the evolution of Empire fell to much_guest when he was not only denied entry to the Linux port team, but also banned from the Floogle development forums. Ouch! The continued development of this version, with unending emphasis on developing the richness of the gaming experience, has been so substantial that not only is this version only tangentally related, but in fact dwarfs the Ben Norton version of Empire referenced in Wikipedia. And in one of those satirical circle of life thingies, Ben Norton now plays Empire here. :) VERSION 3.82 ------------ GATHER - April 25, 2009, much_guest Removed the display of invalid error message about ships not belonging to you when using the FLEET # option. PRAY - March 20, 2009, much_guest Added version and build date info to prayers header. LOCATE - March 18, 2009, much_guest Added a SHIPS option to LOCATE command. It displays a complete list of ships for a selected nation, based on all available land and sea based radars. (Poached from the Flooglites XSHIP command ;) ). UPDATE - March 12, 2009, much_guest Removed automated recovery of any excess ore production to newly launched tankers using spare dock production capacity as it proved too disruptive to the flow of the game. SAIL - Corrected problem with marooned ships. =========================================================== Locked out revisions. :( VERSION 3.82 (failed test! Again!!!) ------------ SHIP - December 20, 2008, much_guest Corrected SHIP to report both it's current destination as well as a possible ultimate destination. COURSE - IntelliSail is back! Ships will now sail to any destination automatically. Tucked into 16k. ;) ============================================================ VERSION 3.81 ------------ ASSEMBLE - March 10, 2009, much_guest Sped up ship processing loop. GATHER - February 11, 2009, much_guest Corrected error message displayed if last ship in a set didn't require the material in question. ASSEMBLE - Corrected minor parsing error. Activated use of island coordinates as a destination. ASSIGN - Fixed minor looping problem if fleet number entered was out of range. Also now display the correct message if only ship criteria is used and no ships qualify. GATHER - January 20, 2009, much_guest Corrected ship locking logic error... Again. PROMPT - December 20, 2008, much_guest Added DEBUG facility. GATHER - Corrected ship locking logic error. COURSE - December 18, 2008, much_guest Fixed trigger for attempting to set course with a fleet that doesn't exist. SHIPSCAN - November 21, 2008, much_guest Corrected error in SHIP_CRITERIA that set the upper limit for explosives to 999 instead of 9999. SERVICES - November 13, 2008, much_guest Added code to tighten up upper and lower limit checking for nonsense values for SECTOR_CRITERIA. COURSE - Added ability to automatically undock ships while setting course to destination. Will not sail around obstacles and the destination must be in sight. ASSIGN - Corrected problem if the only parameter used was ship criteria, scan ships mode was not being used. SHIPSCAN - Added code to tighten up upper and lower limit checking for nonsense values for SHIP_CRITERIA. SAIL - July 30, 2008, much_guest New ships can now use the SAIL command to undock. This now allows the original USMC tool to be used on new ships. VERSION 3.80 ------------ COURSE - June 12, 2008, much_guest Corrected island check logic when attempting to use Island and NW/SW,SE,NE corner options. GATHER - May 06, 2008, much_guest Solved locking problem and added/fine tuned error msgs. Added FLEET keyword as destination. NEWS - April 21, 2008, much_guest Cleaned up formatting on error messages. Also fixed fatal error that occurred if combining SCAN keyword with any NEWS starting date. HELP - Added missing keyword details when seeking NEWS HELP. Also added DECLARE, USMC commands. Detailed MAP command options. CHANGE - Fixed minor formatting problem if attempting to use a new nation name exceeding 24 characters. UPDATE - October 25, 2007, much_guest Corrected fatal error that occurred in low ore/production conditions. VERSION 3.79 ------------ GATHER - June 25, 2007, much_guest Added SHIP_CRITERIA support to GATHER command. UPDATE - Corrected ORE_SUPPLY calculation to match demand/supply ratio. IPL - May 27, 2007, much_guest Added the version number info to display when a data files/program version conflict is detected. HELP - March 13, 2007, much_guest Updated help facility to correct ommissions and include recent revisions. SHIP - Added an edit check to prevent error from occurring when using the new RANGE keyword without actually being on a ship. VERSION 3.78 ------------ SHIP - December 11, 2006, much_guest Added ETA to Single_Ship report if course set. GATHER - November 25, 2005, much_guest Corrected error that occurred when attempting to GATHER to a ship not yet in use. COURSE - November 25, 2005, much_guest Added ISLAND keyword to COURSE command. Navigators can optionally designate a corner via the NW, NE, SW and SE abbreviations or use the default closest corner. VIEW - November 23, 2006, much_guest Corrected error in function used to determine if an island was within range of a ship for viewing purposes. ASSEMBLE - November 22, 2006, much_guest Cleaned up trace messages and orphan code left over from IntelliSail changes. FLY - November 19, 2006, much_guest Added fighter count for carriers. VERSION 3.77 ------------ VIEW - September 23, 2006, much_guest Corrected error introduced on last enhancment that occurred when issuing a VIEW command without first actually being on a ship. COURSE - August 7, 2006, much_guest Reverted to non-IntelliSail version due to inability to complete the upgrade in a timely fashion and to permit a new release and install pending changes stuck behind IntelliSail enhancements. VERSION 3.76 ------------ GATHER - June 7, 2006, much_guest Removed the display of spurious error message that occurred when gathering to a single ship and there was a problem. SERVICES - June 4, 2006, much_guest Added > and < as valid operators for NATION keyword in sector criteria. COURSE - February 25, 2006, much_guest Added sufficient edit checks to support new IntelliSail feature. SPREAD - February 24, 2006, much_guest Corrected more invalid looping in response to entering '//' and '0's. GATHER - February 7, 2006, much_guest Corrected error that occurred when reporting an attempt to gather materiel to an already at capacity ship. SHIP - February 1, 2006, much_guest Added the ultimate destination information to ship info display. SERVICE0 - January 19, 2006, much_guest Added new module Service0. It contains the ship navigation logic that is the basis for the new IntelliSail feature. VIEW - December 31, 2005, much_guest Streamlined VIEW so that a sundial was no longer needed to time it when using the maximum view width. Also expanded view width to match maximum radar range based on ship type. COURSE - December 30, 2005, much_guest Changed destination formatting error messages to more closely approximate the defect being reported. ASSEMBLE - December 23, 2005, much_guest Added some code to handle over the edge of the world sailing. VERSION 3.75 ------------ FLY - December 05, 2005, much_guest Added code to handle not finding an automated flight path without aborting. ASSIGN - December 04, 2005, much_guest Added missing edit checks for not finding any ships when using ISLAND keyword. SHIP - Rewrote no ships found message logic to match flexibility of all the keywords/criteria combinations. TEND - December 02, 2005, much_guest Added the display of ships able to be tended by entering a '?' in response to the tending ship number(s)? prompt. SCUTTLE - November 30, 2005, much_guest Added FLEET, ISLAND, REGION, QUANTITY keywords and ship criteria to SCUTTLE command. SPY - Added ORE_SAMPLE rate to info in SPY output line. TEND - November 26, 2005, much_guest Added missing edit checks for WITH parameter. SERVICES - November 25, 2005, much_guest Implemented BORDER keyword for Sector_Criteria. SHIP November 24, 2005, much_guest Modified display of ship time to eliminate sometimes rounding error of .1 of a time unit vs PROMPT command. FLY November 19, 2005, much_guest Added a new AutoRouting feature using airports and carrier decks to help with those long distance flight paths. Also adding some missing code that kept Show_Airports from always working correctly. SHIP November 13, 2005, much_guest Wrote a new function In_Region to help with ships navigating islands that extend over the edge of the world. SHIPSCAN Added ISLAND as a valid ship selection criteria. SPREAD Corrected branching problems that occurred when trying to back up via '//', as well as some error message formatting. DISTANCE Expanded DISTANCE command to support input parameters so that all input can be made on a single line both from land and sea. ASSIGN Moved ownership check of individual ships and ship lists in front of prompt for the new fleet number. ASSEMBLE Added missing code to ASSEMBLE an islands ships by ship type. SHIPSCAN November 12, 2005, much_guest Added some rounding magic so that TIME shipcriteria now works correctly. SERVICES November 4, 2005, much_guest Modified Window_Read routine to allow an '=' when specifing a x1,y1,x2,y2 region. BOMB Added numeric checks when specifying bomber and fighter counts. VERSION 3.74 ------------ DES August 19, 2005, much_guest Modified DESIGNATE to check a sector addresses validity both when included in the command or needing to be prompted. VERSION 3.73 ------------ ASSIGN June 23, 2005, much_guest Corrected error introduced in last fix that prevented the assignment of single/ship lists. UTILITY Modified the logic that allowed the reuse of a ship number as long as it was by the same nation to that of waiting for the passing of a full ship day or the ship file nearing capacity. ASSEMBLE May 26, 2005, much_guest Corrected error that occurred when the last of command input was numeric. FIRE May 21, 2005, much_guest Corrected formatting on 'only have x' explosives message. GATHER May 18, 2005, much_guest Expanded GATHER 'SHIP' option to support ship lists. ASSIGN May 11, 2005, much_guest Corrected bug that not specifying any parameters tried to serve up all ships as eligible; also entering a '0' to prompt now exits. UPDATE May 5, 2005, much_guest Automated the recovery of any excess ore production to local tankers available thru spare dock production capacity instead of allowing it to go to waste. NEWSMAN May 3, 2005, much_guest Adjusted formatting of NEWS in reporting military casualties. BOARD May 2, 2005, much_guest Corrected error in BOARD that caused any excess quantity of military exceeding the successfully boarded ships maximum to be returned to the sector immediately to the west of where the ship was being boarded, instead of the current sector. SERVICES April 30, 2005, much_guest Made Scan_Read smart enough to be able to correctly parse both TO and FROM selection criteria that is not properly terminated with a ')' character. Previously not closing a selection criteria was only valid if it was the last piece of the command. VERSION 3.72 ------------ TEND - April 15, 2005, much_guest Corrected problem with ALL option. Ships with a fleet number of 0 were not being included as eligible ships. UTILITY - April 14, 2005, much_guest Fixed problem with islands reaching over the edge of the world in revised Launch_Ship. TORPEDO April 4, 2005, much_guest Extended TORPEDO to perform a RADAR of potential enemy target ships from a submarine (in response to torpedo ship number prompt) when entering a '?'. ASSEMBLE April 1, 2005, much_guest Fixed bug that left ships landlocked when the ship was new and its first move was a 135 degree heading. SHELL Corrected the results message being displayed when attempting to SHELL an enemy ship under the protective umbrella of a Carrier to read '(Ship ####) is undamaged and still operational'. The previous message '(Ship ####) damaged but still operational' seemed to imply that some damage had been inflicted when in fact none had occurred. TEND Modified prompts to exit when using the ALL option and entering a '//', instead of coming back and reprompting for ship numbers. MINE Added an edit check to make sure the ship actually has explosives instead of prompting for quantity with a maximum count of 0. RADAR March 22, 2005, much_guest Modified RADAR to use the radar range limits to match the advertised limits, listed by ship type, in the DATA command. ASSIGN Corrected error in eligible ships logic. ASSEMBLE March 21, 2005, much_guest Expanded ASSEMBLE to allow the specifing of target ships by a ship list instead of the prior artificial restriction which limited the command to one single specific ship at a time. SHIP SHIP now supports a new keyword RANGE. RANGE ## will give a list of your own ships falling within a circle of that radius from your current ship, an effective aid for locating help for ships in need of resupply. SPREAD March 10, 2005, much_guest Corrected endless loop that occurred if the sector being selected to accept any remaining excess civilians/military to spread was NOT in the spread area. Also corrected problem introduced with ability to SPREAD military that prevented the excess civ/mil to spread exceeding the 999 max of a normal sector as well as the automatic redesignation of that sector as an urban/fort. CANNON Ships are not able to affect mines in inland waterways via cannoning so code was added to prevent sending battle mail or creating a memo record when naval gunners splash a few rounds into the drink. USMC February 13, 2005, much_guest Added a new command USMC, integrating Steve Sagi's naval assault tool. Enhancements to the original ground breaking tool including using the ships in order of their distance to a coastal target sector, adding the full ship selection capability available in the other naval commands, spying on the next target to avoid coastal defense batteries & avoiding minefields. BOMB Corrected fatal error introduced in recent ALLYs enhancement that didn't verify a ship record was in actually in use before it was a potential allys ship. VERSION 3.71 ------------ VERSION February 8, 2005, much_guest Expanded the current island/ship display to show the mode hidden from the current prompt mode (land/sea). AUTHOR February 7, 2005, much_guest Cleaned up some error messages and performed some edits before asking for the authorizing to nation number. GATHER Added an asterisk ('*') as a generic destination ship number representing the default ship. VERSION 3.70 ------------ SPREAD February 5, 2005, much_guest HELP Expanded SPREAD command to support the spread of military as well as civilians. Included code to be able to process all input on a single line. Prompt to locate any remaining excess people now defaults back to the originating sector. SAIL Added ASSAULT to list of valid commands available while in sail mode. BOMB February 3, 2005, much_guest Extended BOMB to perform a RADAR of potential enemy target ships from carriers (in response to bomb ship number prompt) when entering a '?', matching the same capability with land based aircraft. EXPLAIN Updated EXPLAIN to cover some of the recent enhancements. ASSAULT January 31, 2005, much_guest Corrected calculation of materiel captured. VERSION 3.69 ------------ COURSE January 28, 2005, much_guest Modified COURSE to no longer falsely report the current island as having lost its capitol, if the fleet to be updated was closer to a different island than the current one. BOMB January 27, 2005, much_guest SHELL Ships belonging to a nations ally, now help autodefend any TORPEDO ship under attack. SUBMERGE January 25, 2005, much_guest Fixed required .SHIP_TIME check to permit submarines to submerge with only 1 time unit. TEND Expanded TEND to support ship criteria. ASSAULT Modified ASSAULT and ATTACK to alter the status of a previously ATTACK unencountered nation to encountered. UTILITY Mines no longer pose a threat to an ally. Minefields are now automatically authorized and can be tranversed by your allies. VIEW Mines are now shown as authorized ('Y') to by your allies. SWEEP Mines can now be sweep by your allies as if they were their own. ASSIGN January 23, 2005, much_guest ASSEMBLE Removed region/island related eligible ship error introduced in last revision. SERVICES Added AUthorized as a valid sector selection criteria. VERSION 3.68 ------------ GATHER November 25, 2004, much_guest Corrected bug in which no path existing to TO sectors was being reported as an error caused by no sectors existing which contained any of the item to be moved. ASSEMBLE November 23, 2004, much_guest ASSIGN Reworked eligible ships logic and corrected assembling to NW setting ships destination to an invalid 0,0. VERSION 3.67 ------------ COURSE November 16, 2004, much_guest Corrected parsing error when combining Fleet xxx and Region keywords. SHIPSCAN Modified Ship_Scan_Read to return the ship criteria for use in error messages as needed. SHIP Enhanced error messages to include ship selection criteria ASSIGN that was used if no ships are found that match that specific selection criteria. VERSION 3.66 ------------ UNLOAD November 2, 2004, much_guest Added Capitol as valid unloading type of sector. CANNON Corrected submarines from being able to fire guns while submerged. HELP November 1, 2004, much_guest Updated credits, questions, and contact information. SAIL October 31, 2004, much_guest Added SONAR to list the list of valid commands available while in sail mode. SUBMERGE October 29, 2004, much_guest Reduced time penalty to submerge a Submarine from 5 times units to 1. ASSIGN Removed restrictions which prevented combining of FLEET, ISLAND, Region keywords and parameters. VERSION 3.65 ------------ SIGNON October 28, 2004, much_guest Modified creation of new nations. The Security Council now announces the birth of new nations in the NEWS. ASSAULT Corrected spelling on 'failed while assaulting' message. ASSIGN Now honors '//' as a cancelation in response to 'Assign to fleet number?' prompt. FLY October 27, 2004, much_guest Fly now displays which airports are in range from a selected airport when entering a '?' is response to 'island number?' prompt. Added fleet number to ship information in response to 'ship number? prompt. BOMB Airports having bombers, but no fighters and less than 10 explosives are now being correctly reported as not capable of bombing. Also entering a '?' in response to ship number or island prompts, now shows a radar report for in range foreign ships and adjacent islands respectively. NATIONS Added birthdate and titles to NATIONS report. CENSUS Census report is once again included in the NEWS. NEWS Renamed subroutine Make_Visable to Make_Visible. Flipped edit check of NATION parameter to no longer find nation numbers as invalid. FLY October 26, 2004, much_guest Corrected endless loop when attempting to fly fighters to a Carrier that has been sunk. NEWSMAN Expanded 'ventured into minefield' msg to include the island name. SHIP Corrected formatting on single ship report for a sunken ship. Added a 'matching that criteria' phrase to when no ships are found and ship criteria was specified. LAUNCH On ALL option, corrected formatting on 'a XXX costs' msg, looping to no longer bypass the current dock when an invalid/unrecognized ship type is requested, and added standard '0' value to exit. VERSION 3.64 ------------ UTILITY September 29, 2004, much_guest Added code to prevent and repair Frozen Syndromes ships. UTILITY September 21, 2004, much_guest Correct formatting on "can't dock while submerged" msg. ASSEMBLE No longer undocks ships without ore. Added 'TO' option to invalid parameter message. LAUNCH Exhausting an island's ore supply now ends multiple ship launches. NEWSMAN Cleaned up casualty reporting. SERVICES August 6, 2004, much_guest Wrote a new function Format_Noun to help formatting text messages. Enhanced criteria to support '*' as mined waters enabling TROOP, SPY and AUTHORIZE to treat mined waters as a valid sector type. ASSEMBLE Filled in missing code to move a single ship. TEND July 31, 2004, much_guest Added new keyword ALL to TEND command permitting the tending of all of a nations ships at a single location. VERSION 3.63 ------------ ASSEMBLE July 22, 2004, much_guest Added new naval command ASSEMBLE. This first cut integrates Steve Sagi's Assemble tool. The ASSEMBLE command automatically moves a named fleet of ships (F[leet] option), ships in a given lowx,lowy,highx,highy region (R[egion] option), ships found in the inland waters of a single island (I[sland] option), or ships conforming to a specified Ship_Criteria to a named staging location, for now limited to inland waters of that island. ASSEMBLE has also been enhanced to automagically undock and set course, as needed, as well as allowing the use of shorthand address mneomics NE, SE, SW and NW for the island corners. SSSDI July 20, 2004, much_guest Added supporting routines Undock_Ship to undock both old/new ships, Sail_Ship to move a ship one sector with just one line of code and In_Island to determine if a ship falls within an island frame. VERSION 3.62 ------------ BLAST July 13, 2004, much_guest Added an invalid shell count message and corrected a problem of the command just exiting if a large number of shells was requested that exceeded the maximum shell count from an invalidly initialized Sector_Type structure. LAUNCH July 7, 2004, much_guest Added new keyword ALL to LAUNCH command. It in effect integrates Steve Sagi's Mobilize tool. Mobilize attempts to dump the entire production content of an island by serving up each dock one at a time. SSSDI Added Steve Sagi's supporting naval routines as the first step in folding into Empire the remaining SS Tools Collection, normalized to the internal Empire types/MO. LAUNCH June 26, 2004, much_guest LAUNCH now supports Sector_Criteria and FLEET keyword. This permits the launch of any number of ships, one ship style at a time, with one command and optionally adding them to a specific fleet. VERSION 3.61 ------------ ASSIGN June 25, 2004, much_guest ASSIGN now supports a new keyword ISLAND. Island ## will allow a list of ships located within that islands frame to be reassigned. GATHER June 23, 2004, much_guest Added a NOMSG command option. LAUNCH Extended the automatic load option to call GATHER if the ship being launched ore requirements exceed that of the shipyard. VERSION 3.60 ------------ ASSIGN June 22, 2004, much_guest Added further specificity to no ships found message based on fleet number, ship style, or region. NEWSMAN June 16, 2004, much_guest Updated the news to deal with new events being reported for ships hitting mines, ships being boarded, both successfully and unsuccessfully, a distinction now visible due to an added SHIPS_BOARDED field in memo records. SERVICES Any new ships launched are now automatically loaded with whatever is available in that dock, as well as recruiting any additional military that may be required to fill the new ships crew, down to the minimum 100 civilians for maintaining that docks productivity. This was accomplished by adding two new subroutines, AUTO_LOAD and AVAIL_ITEM. LAUNCH Now attempts to automatically load the ship with goods and personnel available in the launching dock. Added a NOLOAD option to still permit the loading of new ships by hand. HELP Added a more meaningful description of LAUNCH, as well as updating it to include the new features, autoloading and NOLOAD. VERSION 3.59 ------------ SHIPSCAN - June 14, 2004, much_guest Added TIME as a valid ship selection criteria. UTILITY Added trap and temporary code and return status (= 8) to detect Frozen Ship Syndrome (FSS), hold the incoming Ship record prior to any movement/processing, go ahead and do the normal processing, but check for FSS just prior to exiting VALIDATE_MOVE and if detected, reset the SHIP record back to the incoming record, in effect freezing the ship to permit it to be used to finally detect this long standing bug. Naturally, UPDATE_SHIP was modified to generate a mail message so that the user will know there is a problem and send an email Tracy so we can maybe finally extinguish this problem. spelling ajust > adjust. :) NEWSMAN Wrote a supporting function MINES_ONLY to detect that special category of news event in which a ship enters a minefield and either gets damaged or sunk. When such a MINES_ONLY event occurs. The attacker/defender roles are reversed and are now reported correctly. UTILITY Corrected a bug in which ships sunken in a minefield were being reported as achieving landfall via a 'docked at sector' message. VERSION Added line displaying the program version and build/date info. BOARD Now generates a memo record, meaning boardings are now news worthy. VERSION 3.58 ------------ SERVICES - May 29, 2004, much_guest Implemented COASTAL keyword for Sector_Criteria. CANNON Corrected 'maximum range is 0' error message. BOMB Corrected error message reporting target ships as out of range when trying to bomb ships that have already been sunk. FLY Changed starting X,Y location used to calculate distance to Carriers to the correct XXX,YYY of the airport. VERSION 3.57 ------------ SHIPSCAN - May 24, 2004, much_guest Implemented Ship_Criteria. SHIP SHIP now supports a new keyword ISLAND. Island ## will give a list of ships located within that islands frame. As well as adding Ship_Criteria support. ASSIGN Ship_Criteria support added to ASSIGN. RADAR Added FLAGS to island line info. First cut at shedding some light on the status of an island. VERSION 3.56 ------------ SERVICES Sector_Criteria - May 20, 2004, much_guest Completed addition of fighters and bombers as valid sector selection criteria. QUANTITY Spelling corrected HELP, ASSIGN, GATHER, FLY, MOVE, TEND, UNLOAD, LOAD, RADAR SHIP Single_Ship now supports submerged descriptor, previously only available by looking for an asterisk on SHIP command. VERSION 3.55 ------------ SONAR - February 20, 2003, Ben Norton Sonar now indicates that submerged subs belonging to your allies, as "(Ally)". MINE - February 19, 2003, Ben Norton Fixed test where a water sector was owned by another nation, but contained no mines, still prevented mine laying. TYPES - December 23, 2002, Ben Norton Added a couple of new fields to the GLOBALS record to control the "Auto Restart" feature. Also added a new field to the PLAYER record for the same reason. IPL - Added new procedures and functions to support "Auto Restart". RESTART procedure drives everything. PROPHET - Added RESTART command. IO - Added READ_LORD and WRITE_LORD to manipulate the Lord Files which store the top 12 finishers for the past 100 games in the series. VERSION 3.54 ------------ PROPHET - December 21, 2002, Ben Norton Added ON and OFF commands to turn game on and off. ISLANDS - Fixed bug where releasing all islands to another player could cause some islands to vanish from their Empire Report. LOCATE - Created new LOCATE command which identifies which islands a particular nation is on. VERSION 3.53 ------------ DATE - September 9, 2002, Ben Norton Fixed bug where day of week was incorrect when converting game date to real date. DROP - September 7, 2002, Ben Norton Fixed bug where explosives are not subtracted from the attacking ship when depth charges are dropped. SHIP - Fixed bug which showed the island number (and name for single ships) for the destination while course is set, even if you have no knowledge of the island. TYPES - August 26, 2002, Ben Norton DES Changed the constant which assigns characters to sector STIPULAT designations so radar installations changed from "(" to "!". This will help in situations where the left paren could be confused between a sector type, and the start of a criteria. Example, TROOP ( would generate an error, you had to use TROOP (D=(). Now TROOP ! works. WORLD - Changed default WIDTH to 72. ISLANDS - Fixed bug in ISLAND LOCATION to ALL, where the location information would not be given to nation numbers higher than the first dead nation. VISUAL - August 22, 2002, Ben Norton Added a new TERRAIN option which displays only the islands terrain (not your sectors). NEWS - August 13, 2002, Ben Norton Added check for info fog. Without this check, nations would only be able to see news involving nations they had already encountered. ASSIGN - August 12, 2002, Ben Norton Fixed bug where a null ship number would cause an abort. (ASSIGN 1,2,3,,5) VERSION 3.52 ------------ MINE - August 1, 2002, Ben Norton Fixed bug where you can mine land sectors if you own them. SIGNON - Fixed bug where sanctuary island was not released if it had been discovered prior to first sanctuary dropping on the island. NATIONS - Fixed bug where dead nations appear on allies and declared enemies lists. LAUNCH - Prevented recycling of ship numbers by nations other than the previous owner for 1 full ship day. This will allow the previous owner to check on the sunken ship. VERSION - Fixed a minor formatting error ISLAND - July 4, 2002, Ben Norton Fixed RELEASE ALL and LOCATION ALL logic. Removed default (no arguments) as INDEX. Added TRANSFER option, to permit a nation with naming privileges to transfer naming rights to another nation. VERSION 3.51 ------------ POST - June 10, 2002, Ben Norton Fixed INFO_FOG test. GENESIS - Cleaned up default settings VERSION - Added a bit of detail to unknow fog display TYPES - Deleted TARGET_TYPE IO - Deleted references to TARGET_TYPE CONVERT - Changed COMMANDER to LEADER VERSION 3.5 ------------ VERSION - July 24, 2001, Ben Norton Added PROGRAM argument to display changes made to this version of the program. Also made lots of changes to reveal or hide information based on the new INFO_FOG parameter setting. Pretty much a rewrite. NATIONS - Added test for INFO_FOG. POST - Added test for INFO_FOG. USERS - Added test for INFO_FOG. RADIO - Added test for INFO_FOG. ISLANDS - Added test for INFO_FOG. HELP - Cleaned up and added detail to the help text for several commands. DISTANCE - If on land, it prompts for island sector instead of world coordinate. GENESIS - July 23, 2001, Ben Norton Modified section where preconfigured games are presented to the prophet during game creation. added INFO_FOG defaults, and modified settings (world size, ship speed, classic start, etc.). Also require confirmation of the Prophet's password. FIXGLOB - Added ability to change INFO_FOG using the prophet's GLOBALS command. EXPLAIN - Modified text which explains the pre-configured settings to reflect modifications in note above. Also added EXPLAIN_VERSION to document changes to the current version of the program. The text can be viewed with the VERSION PROGRAM command. POWER - Added test for INFO_FOG, to see if power info is available to all. TYPES - July 4, 2001, Ben Norton Added new element to GLOBALS array, INFO_FOG. INFO_FOG allows the prophet to control the amount of infomation which is available to everyone. Previously all information (nation names, power, etc.) had to be discovered. PROMPT - June 29, 2001, Ben Norton Added COURSE as a valid command from land. This enables COURSE FLEET to be used without first going to SEA. COURSE - Added check to assure user is at sea when setting course on a single ship. SHIP - May 14, 2001, Ben Norton Added FLAGSHIP keyword option, which will show only the single flagship from each fleet. When used in conjunction with the FLEET keyword, it will display only the fleet's flagship. VERSION 3.43 ------------ UTILITY - March 18, 2001, Ben Norton Fixed the string overflow for when certain ships strike mines. IO - Fixed PUT_MAIL again, to try and recover from bad directory data placed into the directory by previous program versions. VERSION 3.42 ------------ BOMB - March 16, 2001, Ben Norton Fixed bug I introduced when I fixed the bomb location in the mail notification. VERSION 3.41 ------------ UTILITY - Increased size of string to avoid aborts. VERSION 3.4 ----------- MOVE - March 11, 2001, Ben Norton When moving more than 999 civilians or military to an unoccupied rural sector, the sector is automatically designated either an urban or fort. Also fixed the abort when a quanity > 32767 is entered. I suspect there are many of these, and it will still abort if a value > 2000000000 is entered. SPREAD - If the sector which you are placing the excess civilians in is not occupied, and is not a mountain then if the excess civilians exceed 999, the sector will automatically become an urban. VIEW - Re-read island file to ensure view is current IO - March 5, 2001, Ben Norton Added test in PUT_MAIL when recycling messages to look for a date which is greater than todays date. Why these future dates appear is unknown but at least we need to work around the problem. SERVICES - Added FORMAT_SHIP_FLEET function. BATCH - Used FORMAT_SHIP_FLEET for "rusted and sank". BOMB - Used FORMAT_SHIP_FLEET for mail message. Also fixed memo handing when bombing ships to hopefully capture attacking aircraft lost. Also fixed bug where the mail notification was not correctly reporting the location of the ship being bombed. BLAST - Used FORMAT_SHIP_FLEET for mail message. SHELL - Used FORMAT_SHIP_FLEET for mail message. UTILITY - Used FORMAT_SHIP_FLEET for mail messages including ship arrivals, striking mines and docked. DROP - Used FORMAT_SHIP_FLEET for mail BOARD - used FORMAT_SHIP_FLEET for mail TORPEDO - Used FORMAT_SHIP_FLEET for mail FIRE - Fixed bad date in mail messages. DATE - Fixed the century - again! VERSION 3.3 ----------- CHANGE - January 29, 2001, Ben Norton Added password confirmation for CHANGE PASSWORD. MOVE - Fixed bug where when moving across less than 99% land, the time required was calculated incorrectly. Also, entering zero for quality prompt ends move. VIEW - January 28, 2001, Ben Norton Now ships doing a VIEW MINES, or VIEW BOARDERS on islands which they cannot LAND on, will be able to distinguish land sectors from water sectors. DATE - January 27, 2001, Ben Norton Corrected Y2K bug which caused DATE to terminate the program when an argument was supplied. PROMPT - The EXIT command now requires at least 2 characters to prevent accidental exiting when typing E for explosives. The OUTFILE command now requires 3 characters for similar reasons (only with ORE). Also made MATERIEL command available from SEA. VERSION 3.2 ----------- PRODUCTI - Added some more totals to the end of the report. CENSUS - Added mines to total power (not total materiel). EMPIRE - Added mines to total power. Note, mines laid on islands which the player has never occupied will not be counted in the total estimated power, although they will be counted on the true power report (CENSUS). GATHER - Fixed bug where you could not gather to a ship on the coast of an island which crossed the "date line". Also enhanced logic such that if you GATHER A FROM (D=A) to (D=E) LEAVE 9 it will only gather from artillery plants which have excess production. Previously, no sectors would qualify on the from side since no sectors had more than 9 artillery. Now production is considered too. SHIP - Fixed bug where SHIP report (multiple ships) would not indicate the island number when the ship was in the inland waters on the side of the island which was wrapped around the "date line". VERSION 3.1 ----------- TYPES - Added additional data to GLOBALS variable to prepare for implementing time lock. GENESIS - CON file now built with larger record. IPL - SET_COMMON moved to INIT segment INIT - SET_COMMON moved in IO - OPEN_PROGRAM moved in from IPL, plus READ and WRITE PROGRAM procedures got a status parameter added. MAINLINE - Changed initial startup logic to check for INSTALL keyword from INFO string prior to opening data files. INSTALL - Added logic to load program user labels with data file and lockword information. VERSION 3.03 ------------ SPREAD - November 19, 1989, Ben Norton Corrected spelling error. SHIP - Fixed bug where doing a SHIP report on a single ship from land, where the ship is located in another island's waters, caused you to end up on that other island. Also added an additional line to the single SHIP report if ASSAULT keyword was used in COURSE. SIGNON - November 18, 1989, Ben Norton Fixed default island name for dropping sanctuaries to match default island name assigned by ASSAULT. Also directed nations which have no home island to start at sea instead of island #0. VIEW - November 16, 1989, Ben Norton Altered to set player knowledge to ENCOUNTERED if the ship is docked (or in a waterway) owned by a nation which the player had not previously encountered. RADIO - November 10, 1989, Ben Norton Fixed my previous fix. VERSION 3.02 ------------ SIGNON - September 3, 1989, Ben Norton Initialized additional COMMON variables like RADIO CHANNEL, CURRENT SHIP and MAIL_OFF flag. Every SIGNON now checks all other nations looking for any nation you have encountered for additional information on other nations. If they have discovered a new nation, then you get HEARD_OF information on that nation. USERS - Nations which you have only HEARD_OF now still appear as UNKNOWN NATION on the USERS report. RADIO - Fixed bug where sometimes a known nation would appear as unknown when receiving radio messages. NATIONS - Changed the report format slightly. VERSION 3.01 ------------ UTILITY - August 29, 1989, Ben Norton Changed NEAR_ISLAND to be capable of returning island number 0 as the closest island. This occurs during a batch run when a ship is not in any inland water. CENSUS - Disabled any news announcement temporarily. SERVICES - August 13,1989, Ben Norton Fixed NUMBER_READ function which was setting the error flag incorrectly which caused RADAR to not parse the NATION keyword correctly. TEND - Fixed problem where TEND felt you were trying to tend more than one item at a time incorrectly. SERVICES - August 8, 1989, Ben Norton Removed trace message from USER_UPDATE when an inactive record was identified. SPY - Fixed the bug which caused an abort when attempting to SPY on an unowned sector. VERSION 3.0 ----------- ISLANDS - July 27, 1989, Ben Norton Restricted ISLAND LOCATION and ISLAND RELEASE commands so you cannot release island information to a nation unless you have seen or encountered them. SPY - Added logic to flag nations as ENCOUNTERED when you SPY on their land. RADAR - July 2, 1989, Ben Norton Nation's which you spot with RADAR will be flagged as "seen" in your PLAYER_INDEX. RADAR now supports a new keyword SUMMARY, which summarizes multiple ships owned by the same nation, at the same location on a single line during output. You can also select multiple nations on a single request: RADAR NATION 45 NATION 23 Another new keyword FOREIGN, will eliminate your own ships from the RADAR report. TYPES - July 1, 1989, Ben Norton Changed many data structures including PLAYER_TYPE to include PLAYER_INDEX and WAR_INDEX structures. There were additions to COMMON_TYPE, USER_TYPE, MAIL_ENTRY_TYPE, MAIL_DIR_TYPE, NEWS_TYPE, SHIP_TYPE and various other records. No backward compatability will be offered to upgrade existing 2.xx data bases. NATIONS - New structure to restrict display to only nation's the player has knowledge of. Also, additional information on your relationship (status) with the nation. Status can be ALLY, NEUTRAL, HOSTAL or AT_WAR. USERS - Output restricted to nations the player has seen, heard of or encountered. If the player is unaware of a nation, it will appear as [Unknown Nation]. RADIO - Transmissions from Unknown Nations will be labeled as such. POST - You cannot POST to a nation you are unaware of. VERSION 2.63 ------------ FLEET - May 28, 1989, Ben Norton. You can not select multiple ship styles and there is are new options: FLAG which reports on fleet's flag ship, and CAPACITY which reports on a fleet's capacity. NATIONS - May 21, 1989, Ben Norton. Also changed normal NATION display to not show home island of a nation if you only know the location of the island. REPORT - Changes REPORT to award naming rights to the remaining nation with the most sectors (not power). USERS - If your RADIO is turned OFF, you no longer appear on the USERS report. TRANSFER - May 20, 1989, Ben Norton. Fixed ship transfer dirty block bug. HELP - Fixed command string overflow which caused invoke to DEBUG. TEND - Fixed bug where another nation's ship would be displayed as a candidate for TEND when it was not qualified. VERSION 2.62 ------------ DISTRIB - May 13, 1989, Ben Norton. Fixed spelling error "Destribute to?". NATIONS - You used to be able to determine a nation's home island if you knew the location of that island. Now it requires you to have visited the island or the island must be released. PRODUCTI - May 12, 1989, Ben Norton. New command, PRODUCTION, to display excess production statistics for all islands. HELP - Added help text for PRAY and PRODUCTION commands. PROMPT - May 9, 1989, Ben Norton. Added automatic update feature to prevent loss of overflow update time. DISTRIB - Fixed bug which permitted using DISTRIBUTE to cross mined water or distribute to mined water. BATCH - Now correctly supplies FILE, GROUP, ACCOUNT and LOCKWORD arguments to INFO string for automatic batch file launches. VERSION 2.61 ------------ FIRE - March 26, 1989, Ben Norton. Fixed STACK OVERFLOW bug in FIRE. ASSIGN - Fixed bug in ASSIGN where it would not prompt for ship number(s). LAUNCH - March 12, 1989, Ben Norton. Increased the tendency to LAUNCH lower numbered ships. IO - PUT_MAIL now better about recycling mail records. VERSION 2.6 ----------- UTILITY - March 11, 1989, Ben Norton. Fixed UPDATE_SHIP to use the ship owner's world coordinate system so the mail would reflect the correct ship location. INIT - Initialized THIS_SHIP and THIS_PLAYER records. BOMB - Added target ship's location to mail message. SHELL - Corrected target ship's location in mail message. DROP - Beefed up error messages and added date, location and casualties to the mail message. PROPHET - The INFO, NAVY, RATH, REBIRTH, SECTOR, PLAYER, SHIP and TABLE commands have been removed. The PASSWORD command was added to allow the PROPHET to remove any player's password (in case they forget it). INIT - March 5, 1989, Ben Norton. Commented out call to TRAP_ERRORS since the XLIBTRAP Intrinsic does not seem to be working any more. UTILITY - Added CONVERT_XY procedure which will translate one nation's world X,Y into another's X,Y. This will be used to insure that mail contains information which is properly converted to the receiver's natural coordinate system. TORPEDO - Added call to BATTLE_MAIL so the attack messages would be properly time stamped. Also added call to CONVERT_XY so mail messages now have proper location. SWEEP - March 4, 1989, Ben Norton. Expanded edge of the world logic. VIEW - Changed SHIP_MODE to SHIP_STATE. RADAR - Fixed problem in reporting distance to island which is on the edge of the world. UNLOAD - Fixed edge of the world logic. TRANSFER - March 3, 1989, Ben Norton. Expanded logic to handle the edge of the world. Also added FLEET and ALL keywords to naval transfers. MINE - Expanded edge of the world logic. COURSE - March 2, 1989, Ben Norton Changed calls to SHIP_MODE. Old course cancelled if setting new course which arrives. Corrected errors in message block pertaining to fuel and speed. SCRAP - Expanded logic to handle the edge of the world problem. SHIP - Changed calls from SHIP_MODE to SHIP_STATE. SUBMERGE - Expanded logic to handle the edge of the world problem. EMERGE - Changed some of the error messages. TYPES - February 26, 1989, Ben Norton Added new constants to indicate the current state of a ship (At sea, coastal, inland or docked). UTILITY - Replaced SHIP_MODE with SHIP_STATE. Re-wrote sections of VALIDATE_MOVE to accomodate island wrap on SAIL and COURSE UPDATE operations. SAIL - Expanded logic to handle the edge of the world problem. LOAD - Expanded logic to handle the edge of the world problem. BOMB - February 25, 1989, Ben Norton Fixed bug where targets which were 39.6 away were considered out of range. UTILITY - February 5, 1989, Ben Norton Added NEAR_ISLAND function which is designed to address problems associated with various commands connecting ships to an island which overlaps the edge of the world. ASSAULT - Added calls to NEAR_ISLAND to correct bug where a ship is unable to assault the portion of an island which wraps around the edge of the world. VIEW - Fixed problem with islands reaching over the edge of the world. VERSION 2.53 ------------ LAND - January 8, 1989, Ben Norton Fixed problem where EMPIRE terminated with error FILE LISTED AS CLOSED IN OPEN ISLAND TABLE when starting program from sea and trying to switch to an island which you are not on. INIT - January 6, 1989, Ben Norton Checked for non-terminal INPUT source. If input is from a source other than terminal (type 16) then the process is regarded as not INTERACTIVE (like batch). This means control Y traps will not be enabled and conditional locks will be skiped (no lock messages). This was added to accomodate IPC file interfaces. ATTACK - Made // back up to "Attacking from?" prompt when entered from the "Attacking sector?" prompt. TEND - When TENDing fleets, the total amount tended will no longer exceed the quanity requested. ISLANDS - January 2, 1989, Ben Norton Added REGION option to ISLAND INDEX. Will only display islands which are within the specified REGION. ANNOUNCE - Removed the restriction of 20 lines for announcements coming from EDITOR files. ANALYSIS - January 2, 1989, Mike Robinson Added Keyword 'ORE' VERSION 2.52 ------------ VIEW - January 1, 1989, Mike Robinson From SAIL VIEW BORDER; shows 99% waterways that are owned or authorized as 'blanks' LAUNCH - Allows entry of launch-from sector and/or ship type IO - December 12, 1988, Ben Norton The global constant MAX_OPEN_FILES was decreased to 3 to prevent excessive global RIN consumption. VERSION 2.51 ------------ ANALYSIS - August 5, 1988, Ben Norton Added "usable" info to MINES. REPORT - Fixed bug where REPORT blows up on island #1 when attempting to assign naming rights. -EOF-