-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathChangeLog
More file actions
553 lines (545 loc) · 34.6 KB
/
Copy pathChangeLog
File metadata and controls
553 lines (545 loc) · 34.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
(in-progress:)
* A packet stating no protocol number is held rather than applied; only
builds from before the v0.0.7 release omit it
2026-08-23 (v0.0.7)
* A Clingy Annihilator launches itself three days after its funding completes
* A landed Clingy Annihilator besieges the planet for five days
* Jets attack a landed Clingy Annihilator, capped at 75% of it per wave
* Only the elected Coordinator can dismantle a Clingy Annihilator
* A won attack scores 82 per region captured, and 192 for a total conquest
* Repelling an attack no longer moves either realm's score
* A nuclear, chemical or biological strike scores a flat award
* A won pirate raid scores 100 to 399; a lost one costs nothing
* Each realm keeps its own Preferences, where a board once shared one set
* A realm name needs three letters or digits; decoration does not count
* A realm name may be at most 30 characters, the original's own limit
* A refused realm name says which rule it missed
* Abdicating asks one yes/no question, then ends the session
* A player out of turns still gets their recap and mail on entering
* Coordinator orders verify against older signed-payload shapes as well
* Packets speaking a protocol this build cannot read are held, not refused
* A refused Coordinator packet says which check it failed
* Transport faults are reported to the sysop and logged, not put in the news
* A planet the league roster cannot place is no longer offered as a target,
and no packet is addressed to one
* Inbound packets are matched whatever the case of their .brp extension
* A board no longer overrides league routing with an "ibroute.cfg" file
* FTN broadcast copies are named by a short index, not the recipient node
* A roster node number must be 1 to 999
* A roster board name is capped at 512 bytes, and -league-check reports a cut
* A long board name is shown cut to fit wherever a screen has room for it
* -league-check names a roster entry it had to skip
* -league-check reports a league key that is present but unreadable
* The League Coordinator's bulletins are distributed to every board
* Game Bulletins reads .txt and .ans files from a bull folder in the data dir
* A bulletin that is added or changed is named in the day's news
* Game Setup leads with the league, adding its number and its Coordinator
* The League Name setting is removed; a league is identified by its number
* Game Setup pairs settings two to a line, so a league board's fits two pages
* Missile Ops and Bombing Ops govern Special Operations alone, not local menus
* A loan's ceiling falls as its repayment term lengthens
* Net worth counts toward a loan ceiling only up to ten million
* A trade deal's request side no longer quotes a ceiling for what it asks
* A treaty proposal no longer mails a notice the offer screen already gives
* Planetary Bulletin lines are wrapped to the screen
* The InterBBS Scores screen is headed Immortal Barons, not the original's name
* The 32-bit Windows build runs on Windows 7, 8, and Server 2008 R2 through
2012 R2
2026-08-21 (v0.0.6)
* Local covert effect operations resolve at daily maintenance
* Covert success runs 55% to 32.5% by operation and ignores agent counts
* Each covert operation may be run once per turn, rather than one in total
* Bomb Enemy Targets is a single covert operation, not a submenu of seven
* Expose Enemy Ops shields against one bribed realm for a day
* A bribed agent doubles the briber's covert odds against that realm
* Stir Revolts and Demoralize Forces subtract points, floored at 5
* Support Dissensions routs 1-19% of the target's troopers
* Set Up is rolled against, and voids, every treaty between the two realms
* Bribery is refused before charging when a bribed agent is already inside
* New Realm Protection refuses covert effect operations and Send SpyGuy
* A foiled covert operation names the realm that sent the agent
* Send SpyGuy posts a paid watcher on a planet for a set number of days
* New help topic: Send SpyGuy
* A Clingy Annihilator under construction is not announced to its target
* The Spy Database is filled by interplanetary covert operations
* The InterPlanetary Special Operations menu's other seven items now work
* Bomb Trade Routes wrecks the goods in the target's pending trade deals
* The R5-Slappenheimer Handling setting gates the InterPlanetary R5 strike
* Global Recon Request reports every realm on every other planet
* Messages from another planet no longer appear in the planet news (#146)
* A planet holds 25 realms; a caller arriving with every seat taken gets none
* A realm keeps one of the 25 seats for its life, and its letter is that seat
* The Id column on See Scores shows a realm's seat letter
* Computer barons take seats; Max Players Per BBS 0 means the seats left
* A seat freed by an eliminated realm is reused, inheriting nothing
* Added the Queen's lottery, a 5,000-gold ticket, offered once a game day
* New bbs.cfg setting "Lottery": "no" turns the lottery off for this board
* Sending a trade deal requires a treaty with the other realm
* New Realm Protection refuses trading, trade deals and interplanetary bids
* Planetary diplomacy gates interplanetary trading: only Allied planets trade
* A bid on an allied planet's listing priced at 0 gold is accepted
* A market sale is no longer posted to the planet news
* A Full Defense Alliance partner is told what it lost defending an ally
* A Technology Agreement partner is told about a battle it was not in
* A Full Defense Alliance no longer lends agents
* Choosing a treaty already held reports that the agreement stands
* A pending trade deal, then a treaty offer, is answered before the recap
* The BBS Coordinator can stand down the planet's Clingy Annihilator (#45)
* The Coordinator's Player List no longer shows BBS account names
* The ballot for BBS Coordinator lists realms under protection again (#149)
* Coordinator menu keys: Dismantle 1, Diplomacy 2, Recon 3, View 4, List 5
* An empty granary no longer stops a realm's population from growing
* End of Turn Statistics reports a turn with no population movement
* Maintenance payment prompts lost their extra blank lines
* A realm name may be made of CP437 glyphs, which arrive as typed (#151)
* An idle timeout while naming a realm ends the session, creating no realm
* A realm may be renamed once, from Preferences, after protection ends
* Onboarding messages wrap to the screen instead of splitting words
* Show advisor option at region picker after pirate attack
* A menu's price column lines up when an item name overruns the column
* End of Turn Statistics is bracketed by a blue inset rule
* The Empire Status block is bracketed by a blue inset rule
* The Specialization box is 14 columns wide, its title overhanging it
* A falling Daily Bulletin figure is bright cyan in place of red
* New -players option: list players, rename a realm or player, delete (#161)
* New -league-check option: reports the roster, directories and keys (#154)
* New -full, -scores and -detailed flags for sysop batch files (#148)
* Joining a league under a name not in the roster is refused (#154)
* -planetary reports skipped packets by reason (#139)
* bbs.cfg is read and never written; -ibbs-reset prints it (#152)
* The settings editor shows the four bbs.cfg settings without changing them
* bbs.cfg is read even when config.json is absent
* -gen-board-key prints the key alone on its line
* A routed league's broadcasts are signed after they are addressed
* A packet refused for not matching the sender's key is reported as refused
* An inter-BBS turn opens with the BBS Coordinator's name
* Added barons-ftn, which hands outbound packets to an FTN mailer as netmail
* The ChangeLog ships in the release and snapshot archives
* The archives carry an optional install-xtrn.ini for Synchronet
2026-08-15 (v0.0.5)
* "?" at a planet prompt shows the list on the keypress; it no longer waits
for Enter as well
* The door attaches to the caller's socket when a Unix BBS gives it no live
standard input. A native Synchronet door on Linux is handed the socket and a
standard input connected to nothing, so the caller was dropped the moment the
door started. Windows keeps its own rule, a drop file naming a socket
* The door log records which I/O path was actually taken, not only what the
drop file asked for
* config-during-reset: a new Allow IP Allies to Trade at Market setting
(enabled) opens interplanetary trading
* Region Cost Change is a surcharge on big realms, as in the original: it
does nothing under 300 regions and then adds to the per-region climb, where
it used to scale the price of every region for everyone (#56)
* Maintenance Costs scales upkeep at the original's own rates — a quarter at
Low and four times at High, where it was half and double (#56)
* The Trade Deal Costs setting scales what sending a trade deal charges — at
the original's own rates, a sixth at Low and triple at High; it was stored,
shown and broadcast while changing nothing (#56)
* The "Paused" bar no longer runs into the screen drawn after it
* config-during-reset: a new Money Cap setting sets how much gold a realm may
hold, on hand and again in the bank — two billion (the original's own limit)
up to 999 billion
* Diplomacy is on the opening menu as well as the System menu, and Game Setup
is on the System menu as well as the opening menu
* config-during-reset: a new Pirates setting (enabled) takes the pirates out
of the game
* "-reset" honours "-no-ansi", "-ascii" and "-cp437"
* A regular attack is fought out round by round: the side that breaks off
loses the share of its forces it will accept, and the winner loses only what
the strength ratio cost it, so a rout is cheap and an even fight is not
* Attack Rewards and Attack Damage follow the original's own tables — High
takes a quarter of the defender's regions and costs a third of the force,
and None still costs a little
* A battle report leads with what the fight cost both sides and closes with
the result
* Population follows the original's model: the kind of land a realm owns —
Urban far outweighing every other type — scaled by popular support and
divided by the tax rate. Acreage alone no longer houses anyone
* Each turn a realm closes part of the gap between the people it has and the
people its land can hold; they leave faster than they arrive, and faster
still the harder it taxes. Above a 50% rate the turn's movement is docked a
further quarter, whichever way it was going
* Computer-run realms keep buying land instead of stopping for good once their
upkeep catches up with their income; land and army now draw on one surplus
* A computer-run realm lists no military on the Trading Market where the sysop
has set Buy Military to anything but Yes: with the shop closed the market is
the planet's only supply, and stocking it would hand every enemy the units
the setting withholds
* Food is two obligations: the people and the armed forces are billed apart
and asked about apart, as in the original
* Every military unit eats — one food per 200 troopers and per 10,000 of every
other type, including units listed for sale
* River fishing follows the original's yield: a base of 110 plus a draw,
raised by technology; rivers take a quarter of their output as food and pay
the rest as gold
* Military morale is bought back the way popular support is: the request is
priced off the army's size, and paying part of it buys part of the points
* Military morale rises only by that boost — it no longer drifts back on its own
* Troopers, jets and tanks desert at a rate drawn from a band chosen by morale,
and stop deserting at 40; turrets, bombers and carriers never desert
* Underpaying the armed forces costs military morale and underpaying land
upkeep costs popular support, at the original's rates, and both land at
rollover rather than mid-turn
* A food shortfall bills the people's need against popular support and the
army's against military morale, and drives nobody out of the realm
* Added civil war: a realm that feeds its people under two thirds of their
need, or pays under 90% of its land upkeep, loses half its popular support
and a share of its land and of every kind of unit it owns
* Auto-Pay Maintenance stays silent only while popular support and military
morale both read 100
* Declaring war costs a quarter of both popular support and military morale;
attacking a partner outright breaks the pact and costs nothing, as in the
original
* Stir Revolts and Demoralize Forces scale their target's stat instead of
docking a flat number of points; an AI's covert op cannot push either below 5
* An unpopular realm reaches the planet news even in a turn without a riot
* A nuclear strike ruins land rather than destroying it: the target keeps every
region and its upkeep but earns nothing from the ruined share
* A chemical strike ruins land into waste, gasses a fifth of the target's
people and knocks down its military morale and popular support
* A biological strike kills a share of the target's people and troopers and
halves its military morale, leaving the land alone
* Each missile is priced by its target — the nuclear by its land, the chemical
by its people and land, the biological by its troopers, people and land —
quoted once the target is chosen, and can be declined; one the gold in hand
cannot cover is paid out of the bank
* A nuclear, chemical or biological strike raises the attacker's score, and
none of them can wipe out a realm
* Waste is a region type of its own, listed on the region tables; it is
decontaminated during maintenance and its owner shares the recovered land
out across region types
* Send Message addresses a list of realms: a letter marks or unmarks one, "Z"
marks them all, and Enter closes the list and opens the editor
* Diplomacy takes the same list: a treaty is offered to, and war declared on,
every marked realm at once, and "?" there lists relations rather than scores
* Message target letters are the realm's own, so a fallen realm or the sender
leaves a gap; they match the letters a message records as its recipients
* A message-editor line wraps at the ruler's 68th column, carrying the word in
progress down, and backspace at the start of a line re-opens the one above
* A message is removed from the inbox once it is replied to, like Delete
* A reply asks which lines of the message to quote, and opens with them
* Empire Status is one unboxed block in the original's layout instead of two
boxed pages, listing only the fields the realm has something in
* Empire Status shows the cumulative score the scores board ranks on, where it
used to show net worth under that label
* The Score a turn earns is the net worth a realm starts with, rounded, rather
than a written-down 213; the same figure for a standard start, but it now
follows the starting setup if that is retuned
* Today's News counts the planet live, so a new board's first day no longer
reads as empty
* "Since your last play" recap entries color the realm name and treaty type
bright cyan
* See Scores, the attack target list and the View Treaties roster mark a baron
who is on the board with "(O)" beside their name
* A pirate raid takes about a thirtieth of one kind of holding, named on its
own line at the end of the income report, and reports its outcome as the
original does: one of five random headlines, the loot, and what it cost
* Pirates start with no army and no land and can field only what they have
stolen, so a group left alone grows and a drained one is harmless
* Beating pirates recovers a third of their gold, regions, agents and troopers
and a quarter of their jets, turrets and tanks, and costs the attacker
casualties
* Pirates raid larger realms more often, a turn can carry more than one raid,
and military listed on the Trading Market is not hidden from them
* Attack Pirates marks a faction that raided you since your last play with "->"
beside its name
* Combat reports, pirate raid results, planet news and "since your last play"
events wrap between words; the terminal was splitting figures in half
* A bank at the Money Cap pays its interest into gold in hand instead of
losing it; destroyed gold is reported in the event log
* One investment still locks away at most two billion; deposits and
withdrawals have no size limit
* The investment rate is quoted and carried to a tenth of a percent, as the
original does, and stays between 3.5% and 10% a day; it was whole percents
in a band reaching 25% a day, which paid ninefold on a ten-day term
* Both Configuration Editors hold Interest Rate to 50-200 and Standard
Investment Rate to 35-100, the original's own ranges; they accepted 0,
which is a bank that pays nothing
* The whole bank balance earns interest; savings above 1.6 billion used to
earn none, on a figure that came from a player guide and is in neither of
the original's binaries
* A withdrawal takes only as much gold as will fit in hand, leaving the rest in
the bank
* Figures of a billion or more are shown as "1.0000B" rather than in full
* Amounts may be typed with a "b" suffix, as they already could with "k"/"m"
* The Bombing Ops, Missile Ops and Clingy Annihilator settings take their
operations off the Attack, Covert and InterPlanetary menus when disabled,
hotkeys included
* Added Waste, Population, and Morale and Support help topics
Inter-BBS (league play only):
* Added the original's three sysop reports: "-lastpacket" writes when a packet
from each board was last processed, "-bbsinfo" every board with the version
it runs and when it was last heard from, and "-playerlist" every realm on
every board (League Coordinator only)
* Packets carry the sending board's game version, so a Coordinator can see
which boards are too old to read the newer ones
* config-during-reset: the League Coordinator may require a game version of
every board. A board below it has its packets refused and is marked on the
BBSINFO report; only that board is refused, not the whole league
* The required version is kept in "ibversion.cfg" beside the roster, on every
board, so a sysop can read and set it without opening the game
* config-during-reset: a league may have a name, set by its Coordinator and
shown to players on Game Setup. The League Number still does the routing
* Added Trading to the InterPlanetary Operations menu: a baron may bid on the
Trading Market of any planet the Coordinator has marked Allied
* A planet's market travels with its scores, so an ally sees what is offered
* A bid holds the gold when it is sent. The far planet fills it only if the
listing is still there at the same price and the alliance still stands when
the bid lands, pays its seller, and sends the goods back; otherwise the gold
comes home, with the reason
* A listing that shrank fills as far as it goes and refunds the rest
* A bid whose answer never arrives is given up on and refunded, on the same
timer that brings lost forces home
* Bids Out lists what a baron has bid for and how much gold is held
* Added an Allied Markets help topic
* Individual interplanetary strikes choose an attack type — Normal Attack,
Quick Strike, or Extended Battle — trading strength against the land taken
and the losses both sides accept. A Quick Strike fights at 120% strength,
the figure the original's code applies rather than the 110% its help
advertises
* Both planets now report an interplanetary strike: the defending planet
reads what it took and cost, or that it was repelled, where it read nothing
at all; and an individual strike names the realm that sent it on both
boards, where it was anonymous. A group attack stays the planet's doing
* A group attack asks whether to target one baron or the whole planet with a
single key, before the roster is drawn, as the original does; the whole
planet was a row in the numbered baron list
* An individual strike takes twice the land a group attack of the same weight
would, costs one gold per unit, and asks for confirmation
* A group attack's departure is set in hours, from 12 to 120, and the force
leaves at that hour rather than on a day boundary
* A baron who sends an interplanetary strike gets a private report when it
returns: the attack type, the target realm and planet, whether it won, was
beaten, found no such realm or found it protected, what was lost and what
came home by unit type, and what it destroyed
* Land captured on another planet is held until its owner next plays, and the
region-type picker then asks what to hold it as; a group attack's land is
shared between the barons who committed to it
* An interplanetary strike costs the defender units, not only regions
* A returning report for a strike whose forces have already been given up as
lost is discarded instead of raising a second army
* The sysop's Attack Damage setting reaches interplanetary strikes: None makes
them almost bloodless, Low halves the losses and High doubles them
* The Attack Costs setting scales what an interplanetary strike charges, and
the price is capped at 200,000,000 gold
* A terrorist operation costs 64 gold per region the launcher owns, scaled by
the Terrorism Costs setting, quoted before it is sent
* Inter-BBS packets carry the sending board's signature, so a board whose key
is in the league roster cannot be impersonated, and the roster's node number
for each end, preferred over the board name for authentication, addressing
and identifying the League Coordinator
* Added "-gen-board-key" to create this board's packet-signing key
* A reset advances this board's own generation marker, so a packet left over
from the cleared game is discarded instead of applied to the new one
* This board's own settings — name, league number, packet directories — moved
out of config.json into "bbs.cfg", editable without the settings editor; an
existing board migrates on its next save with nothing for the sysop to do
* "-ibbs-reset -import-bbs-cfg" takes a board's name, incoming-files directory
and league number from an original Barren Realms Elite BBS.CFG
* A league can be arranged as a tree instead of every board linking to every
other one: the Coordinator writes the routing into the node list, and a
member board then links only to its uplink (#106)
* On a board that forwards for others, a packet arriving for another board is
passed on instead of being left in the inbound directory (#106)
* A board that forwards for its neighbours can give each one its own outbound
directory, with "OutboundDirs" in config.json
* A board may route some traffic its own way with an "ibroute.cfg" file
* Added "-league-routes", which prints where this board sends each planet's
packets
* Sysops: a League Number keeps two leagues apart when they share one inbound
directory
* The Diplomacy List carries a standing with each planet — Enemy, None, Peace
or Allied — set by the BBS Coordinator on a new Diplomacy Modification
screen; as in the original it binds nothing and is never transmitted
* The standing appears beside every planet named on any interplanetary screen
* Allied Planets writes to every planet the chart marks Allied
* The Planetary Treaties chart matches the original's layout and colors
* Implemented the SDI Program: its funding allowance, its upkeep, its screen
and the strength its funding buys all match the original
* SDI strength is its funding spread over the realm's land, so taking regions
thins the shield that covers them
* SDI answers only strikes from another planet: it blunts an arriving realm's
jets and bombers and intercepts incoming missiles, leaving a neighbour's
missiles and bombing runs and the Clingy Annihilator alone
* A group attack is not blunted by its target's SDI, as in the original
* Clingy Annihilator Ops answers to 9 on the InterPlanetary Operations menu,
and the interplanetary Special Operations menu is numbered, both as in the
original
* The InterPlanetary Operations and Special Operations menus show the gold on
hand
* Implemented IP mail
* Travel Times shows the measured round trip to each planet, in hours or days
* Every screen asks for a planet by name or number, with "?" for the list
* Added an Attack Types help topic
* Sysops: "-ibbs-reset" starts a new game as a league board and a plain
"-reset" a stand-alone one, which is no longer asked the league settings;
adding "-board-id" sets a member board up in one command, without the
settings editor
* The league Coordinator now also sets the money cap, unlimited food and
idle-realm removal for every board; each was left to the local sysop, so two
planets in one season could play by different rules
* config-during-reset: added the Local Attacks (enabled), Local Attack Scoring
(disabled) and Dupe Checking (enabled) league settings, editable in both
Configuration Editors, shown on Game Setup and broadcast to the league
* With Local Attacks disabled, barons on one board cannot attack each other and
the Attack menu keeps only the pirate and alliance entries
* With Local Attack Scoring disabled, a battle between barons on one board
moves neither side's score
* With Dupe Checking enabled, a caller found playing on another board in the
league is locked out until one of the realms goes. Scores packets carry a
hash of the handle for this, never the handle itself
* The Configuration Editor sets the inter-BBS inbound and outbound
directories, which now sit inside the data directory; a reset creates them
and warns about packets left from the cleared game
2026-08-05 (v0.0.4)
* The web server has been removed (an SSH server may replace it)
* 32-bit builds charged the wrong region maintenance above 235 regions, often
a negative amount, and misspent a computer baron's gold above 43 million
* Windows: console ANSI handling is enabled automatically, and the
Configuration Editor falls back to plain text on the legacy console, so
"-reset" no longer needs the "ForceV2" registry setting (#98)
* config-during-reset: a day is 10 turns by default; a new realm gets 15
turns of protection
* Worlds saved before v0.0.3 load again, with their mail text preserved
* "-reset" works on a world the game can no longer read
* A door caller whose BBS reports no ANSI support is sent plain text (#101)
* Added "-no-ansi" to send plain text on a terminal that could render it
* Added "-ascii" for a terminal that reads neither CP437 nor UTF-8
* The game can be installed with Homebrew on macOS and Linux
* Sysops: "-gen-coord-key" and "-coord-key" set up the league coordinator
key; "-league-reset DATE" starts a new season on every board (#65)
* The league Coordinator sends the roster of boards to every board (#64)
* A board in a league has no computer barons, and none can be added
* League orders carry the coordinator's signature, and a board refuses any
it cannot check (#53)
* A packet that arrives twice is ignored (#53)
* The Configuration Editor gained the interplanetary settings: per-day caps
for group attacks, terrorist ops and bombing ops, attack and terrorism
costs, switches for bombing, missile and Clingy Annihilator operations, and
how long a strike waits for a result before its forces come home
* The line-based Configuration Editor is split across four pages, moved
through with N and P (#100)
* Game Setup shows the whole ruleset
* Game Setup shows the interplanetary rules on a league board
* The Clingy Annihilator is built the way the original builds it: funded a
million gold at a time, priced by the target planet's size, and launched
or scrapped by the baron who started it (#16)
* A planet is warned about a Clingy Annihilator aimed at it while it is being
built and while it is in the air, and can send jets to intercept (#63)
* Implemented Indiv. Attack Force: strike one named baron on another planet
without waiting for a group to form (#62)
* Spying on another planet queries that planet and returns real figures (#61)
* Group attacks, terrorist ops and bombing ops have their own per-day limits
* Forces sent to another board come home if no result arrives within the
number of days the game settings allow (#96)
* Implemented Queen Royale tax refund (#93)
* A treaty proposer is told whether the offer was accepted or rejected
* View Treaties lists every realm
* View Treaties lists sent treaty offers that are still unanswered (#92)
* A new treaty offer to the same realm replaces the one still waiting
* Alliance Strength gained a Total Forces line
* Send Spy succeeds just over half the time, whatever agents either side
holds
* Covert agents cost more the longer a realm has been playing
* Unit prices move within the original's price ranges
* Debt no longer lowers net worth
* A dead realm is worth nothing on the scores screen
* Lists that cannot show a moving highlight are numbered instead, and the
highlighted row is marked with a character as well as a color (#99)
* A failed action is marked with a character, so it is not told from a
successful one by color alone
* Messages longer than the screen break between words
* The title screen fits a 24-row terminal, and its prompt sits directly
below the art
* New mail is shown at the start of a turn instead of being offered first
* Enter is ignored at the message prompt
* Message boxes match the original's size and show the send time
* "Since your last play" items are numbered and timestamped
* Treaty offers, View Treaties and Alliance Strength match the original's
layout and colors
* Maintenance paid under Auto-Pay is reported as one total, as the original
reports it
* The Daily Bulletin title omits the board name on a stand-alone board
* The System menu lists Covert Operations
* German and Russian said food had SPOILED where it was consumed
2026-07-31 (v0.0.3)
* Updating from an earlier version requires a game reset (-reset)
* Updating also requires running "immortal-barons -set-dropfile" once:
the door now needs to know which drop file your BBS writes, and will
not start until it is set
* PCBOARD.SYS and DORINFO1.DEF drop files are now supported, along
with DOOR32.SYS and DOOR.SYS
* Computer barons play far better — they build a mix of region types,
manufacture their own units, set their tax rate, propose treaties,
run covert operations, and turn to defense when threatened (#69)
* Land maintenance now costs what it does in the original — much more
than before, so holding a large realm is a real expense; military
maintenance is ten times cheaper, also matching the original
* Land is no longer unlimited — each realm gets a daily allowance of
new land it may buy ("Land Created / Day" in the game settings)
* Technology regions now work as in the original: research builds up
over many turns across fifteen areas, and selling the regions keeps
what you have already learned
* The Queen Royale now takes a tax from each turn's income; paying her
short costs popular support (#52)
* Popular support now follows the original's math: a tax rate under
30% wins support back every turn, and riots cost more the harder you
tax
* The gold asked for to boost popular support now grows with your
population
* Two empires now hold one agreement at a time, as in the original: a
new pact replaces the one before it (#88)
* Declaration Of War ends an agreement with no cost at home; attacking
a realm you have an agreement with breaks it and costs you popular
support instead (#88)
* An ally in a Full Defense Alliance now sends 30% of its mobile
forces to help defend you
* A Regular Attack captures more regions from a target whose net worth
is spread thin over its land, and fewer from a dense, developed one
* A tank is now worth three troopers with no Headquarters, rising to
five with a finished one, matching the original — it used to be four
rising to eight
* A HeadQuarters costs more the longer your realm has been playing,
matching the original — build one early
* Only troopers eat food now, matching the original — jets and tanks
were being charged for rations they never needed, so an armored
realm was paying about 40% too much food
* Rivers now produce gold and food every turn, instead of one or the
other (#67)
* Agricultural regions grow a little more food in a good year, instead
of the same amount every turn, matching the original
* Desert regions earn more, matching the original game
* A player attacked while at the menus now sees a notice at their next
keypress, and attack/sell orders trimmed by concurrent losses say so
* A realm whose owner never played a turn is removed at the next
maintenance, and so is any realm left unplayed for 10 days; you can
always start a new realm afterwards (#83)
* Maintenance now advances the game at most one day at a time, so the
computer barons cannot race ahead while nobody is playing
* Read Messages now shows one message at a time (Reply/Delete/Ignore/
Quit), matching the original — Ignore keeps a message for next time,
only Delete removes it
* The date the game started now appears above the main menu
* The Queen Royale now makes proclamations in the daily news
* Sysops: "immortal-barons -spectate N" plays a computer-only game for
N days and prints a per-day summary, for balance testing (#42)
2026-07-24 (v0.0.2)
* Winning a Regular Attack now lets you choose the types of the
regions you capture (#58)
* Winning a pirate raid that seizes land lets you choose its region
types too (#21)
* Combat reports now break down casualties by unit type for both
the attacker and the defender
* Pirate raids now happen randomly across turns (about 1 in 5)
instead of all at once each day (#21)
* The army now eats far less food, matching the original game — a
large standing army is no longer food-crippling
* Renamed the pirate factions to original names
* Screens follow BRE more closely — highlighted figures, the news
masthead/bulletin layout, and region-table colors
* "Since your last play" events now show after you start your turn,
not before the main menu
* Windows door: works when the BBS hands over a non-blocking socket
(MagicBBS) (#37)
2026-07-22
* v0.0.1 released