New version 0.8.41

It took a while...sorry 'bout that. I'll try to publish updates more regularly from now on. Only one storyline was planned but I ended up adding two.

The "big" things are:

  • Two new storylines, Shields and Skeletons and The Tender Grip , that unlock armor-plating and stunbolts for cheap purchase at home.
  • NPCs now often have directions to where some particular item is sold.
  • Improved controller support. There's now a back action that instantly backs you out of panels etc. 'next focus' button will now normally pick the item-strip first if nothing else had focus. Some things (like starport UI) that didn't work with controller now work with controller. You might need to select a new Steam Controller Layout for this to work properly (see manual). (A new recommended one will be uploaded shortly).
  • Easier flying in heavy traffic by holding right-mouse button to fly at speed=1 and instantly stop when button is released. This can also be used to move the cab in little "nudges". Same can be done with for example controller trigger button.
  • Improved travel-agent and starport UIs: They now show their possible destinations on the galaxy-map and you can click them there to select them too. The player's set destination is also kept showing (as well as whatever transport/liner destination is selected) to make it easier to figure out where to "hob" next.
  • When being dropped off by a transport you now receive a bookmark to the nearest travel-agent.
  • Regular shops now sometimes sell source-items (these unlock items for purchase at your home at a certain price).
  • You found your old army foot locker from your time on Haion, it's in your home store.
  • Laid-back Yamo is now the default and Yamo has way more pickups so starting players can "turtle" on Yamo for a bit.
  • Less dramatic game-over that is more inline with the idea of "cycling".
  • Detailed planet image setting that makes the descent look smoother (at the expense of system generation time).
  • Skip contacting taxi-company after cycling setting that makes it so that after cycling you just automatically have a new cab again without having to go through the whole "call cab-company" deal.
  • Zap-nets can now kill yrah birds.
  • Warp-beacons (expensive) that allow a permanent, no cost jump back to systems where you place these.
  • Warp-jumps when nothing is selected can now be used to jump you to the star in the system your in to possibly cut system travel time.
  • Starburst are faulty warp-jumps sold at throw-away prices that you can use to jump to the star of the system you're in to possibly cut system travel time.
  • The price of a ticket (e.g. what you get from security when flying drunk) has been severely reduced.
  • You can now sell/cancel rent remotely when buying/renting somewhere else.

Here's a full/technical changes list (as I log it myself):

- Fix pinned Item background sometimes not in the right day/night

- added parameter to optionally not consume the
Item (remove one from the Player).

- Fix HomeStore clicking Item makes no significant sound.

- Clean up ItemFilters and some other Items like HUD etc. generating
'gained' messages when they are added at the start of the game.

- StagedTopicItems don't generate gained or lost message anymore
because they already have the special clickable bulletin when they
are updated (added, removed or stage changed).

- Recycle Item now has same colors as other standard Items.

- KeyControl.mainAction(...) now only pauses the game (nothing else)
when the game is not paused.

- After travelling on a Transport you get a bookmark to the nearest
TravelAgent (because when a system doesn't have a Station or
checkpoint it could otherwise be hard to find a TravelAgent).

- Fix Haion security (and most likely other spawns upon entering
a system) not showing up when travelling there by transport.

- TravelAgent now is immediately left when a ticket is booked.

- Fix mouse over ControlPane not pausing game after tutorial.

- TravelAgentUI and StarPortUI have been improved: They now keep
showing the Player destination on the GalaxyMap and also show all the
possible transport/liner destination with icons. You can also click
these to pick them as your transport/liner destination as well as
still use the list of destinations. The ADIOS and BOARD buttons etc.
Have been removed from the GalaxyMap and are now at the bottom of the
TravelAgentUI/StarPortUI (in the ContextPane).

- Remove 'just one moment' popup when turning on focus system in
- Fix back-action not working on HomeStore or HomeLounge.

- Fix HomeStore grid jumping to last page when moving focus off it onto
the NexusWidget (left-action when on the first cell of the grid).

- ItemGridUI now requests refocus when refreshed (in case cells are

- ItemGridUI now won't close the hover when a cell is clicked so that
it is clear when the cell still has focus after the click.

- ShopUI now also not closes the hover when an ItemBadge is clicked and
requests refocus when an ItemBadge is removed.

- PlayerGalaxyListener now has a warpCancelledOrFailed event so
listeners can react to when the warp was cancelled or failed not just
when it ends succesfully.

- The Player starts with an ArmyFootLocker at their HomeStore which
expands in a smorgasbord of Items and a note from Birdie. The
instructor during the tutorial hints at this ArmyFootLocker.

- GalaxyMap is placed right after PlayerFocusNavigator on the
FocusManager so that it acts similar to the PlayerFocusNavigator but
when travelling on the GalaxyMap.

- Back-action now exits grid or list like focus-next-action does.

- Fix StarPortUI doesn't have focus support.
- Updated manual to reflect new controller support and basic layout.

- Reduced Hassan Dano's voice by 10db.

- Changed 'MASTER ITEM' mentions to 'SOURCE ITEM', etc.

- Fix Birdie.reset() not clearing danwjaRef making it possible (during
testing) for a game to be saved and the Birdie Item saving the
danwjaRef but the records (ZoneRecord) for that has been cleared by a
test teardown. This then causes loading that save game to crash.

- StarSystem now are added to the trackedRecordedSystems list (so that
their records and data are cleared at the end of a test) when they
are generated. This fixes StarSystems with unique Sets not being
cleared because they were already recorded during Galaxy generation
and thus never added to the tracked list. This would cause tests to
fail when previous test changed some record or SiteData in a system
that a subsequent test relies on being untouched/not-to-exist.

- Fix Galaxy.createReferenceToNearestSpecialSite(...) might return a
SpecialSite to a different Planet than the Player is on but in the
same StarSystem in the unlikely event that more than one Planet in
the same StarSystem has the same SpecialSite. (This can cause tests
that check the Player has received a Bookmark to a particular
SpecialSite to fail).

- Fix gameoverduringtransport and gameoverduringwarp tests not really
testing what they say because warp speeds are too fast and gameover
actually occurs after transport and after warp.

- Fix possible crash in minimap rendering
Thread when starting/loading a new game because the StarSystem having
its minimap renders has been disposed.

- Fix crash MetroDungeon.generateEntrances(...) because of recent
mistake in change to accommodate very small dungeons.

- Fix ConcurrentModificationException in ItemQueue because the draw
method accesses the childPanes list while not synchronized.

- Fix #itemfilterrelations didn't have #relational Item-Index under it
so relational Items would not show up under the relations ItemFilter.

- Indicators (IndicatorListeners) can now prevent the Player from
entering or exiting the Zone they are defined on (through
IndicatorListener.onBeforeIndicatorActivate(...) and

- IndexWrapper now has only the ObjectWrapper type it contains as a
generic parameter. This makes using it in Plugin code etc. much more

- Items that unlock that Item for purchase at Home are now called
'source items' and the Moon Man talks about them in that way during
the start of 'being a taxinaut'.

- Remove Beast.init(...) implementation which was unnecessary and also
caused a but with SpawnPoints where Beasts spawned at SpawnPoints
starting still and set to spawn in the direction of the Player
wouldn't spawn in the direction of the Player.

- Fix possible crash when HUD tries to figure out distance to a Dungeon
Entrance when the destination is in a SubDungeon. (Thanks to Loco).

- Limited auto-generated timed Fares for now to have destinations at
most one Dungeon level deep because FareTimer can't deal with trips
across multi-level Dungeons.

- DialogTradeUI.dialog(...) now calls disableUserInput() to prevent
Players from accesing thing like the main-menu and loading a game for
example, which can cause crashes that are otherwise complicated to
prevent. (Thanks to Loco).

- Fix 'unrepairable' not removed after Player is released (without
being killed) from Vrath Downs (Thanks to Loco).

- Fix Maladies not ending (Malady.scheduleEnd() wasn't using the

- Fix 'no action' Item showing bulletin messages every time it's added
and removed during action-sequences.

- NPC.ignoreNoTalkAttributes(boolean) can be used for example by
Dialogs so #notalk NPCAttributes don't prevent Dialogs from running.

- Fix unable to leave (ADIOS) from security NPC when security NPC just
runs out of counter-actions during an action-sequence.

- WaveOfLove and WaveOfDespair Attacks.

- 'hasexpressway' Indicator is added automatically when expresswayLevel
is set to > 0 on ZoneSetDefinitions. (Supposedly this was already the
case but it wasn't).

- ZoneSetDefinition.expresswayDensity() to set the density of
Junctions on the Expressway Network.

- Holding right-mouse button will make cab move at speed=1 (cab stops
as soon as right-mouse is released). This can be used for more easy
navigate Mazes with a lot of traffic.

- 'nextfocusgroup' action will now automatically select the ItemStrip
first if nothing else is selected. The order of what get's focus next
has also changed: ItemStrip, context-pane, Messages, MapInformation
and then MapViewPopupFrame.

- 'back' action will back out of popups and other screens, take-off
from a Site (when at the TradeUI) and resume the game, etc.
- ControlPane opens/closes more correclty in response to focus changes
(e.g. it closes when focus moves to the MapViewPopupFrame or to the
Player cab and it automatically opens when focus moves to the
ItemStrip for example).

- Fix possible crash in Splash.pickSplashImage() (when starting app)
because the user.dat file was used with a newer version of taxinaut
and contains an achievement that is only available in the newer

- ZoneLayoutDefinitions can now have a CaveDefinition for when they are
placed in Mazes, so that they can integrate with the Maze's Cave.

- ZoneLayouts can now be placed correctly on TrafficLanePlanets.

- Zap-net can now take care of Yrah Birds.

- Laid-back Yamo option now sets pickupPeriod to 20000ms (from
60000ms) on Yamo.

- Warp-jumps now allow jumps to the system you're already in so they
can be used to cut out part of the system travel when the destination
is on the other side of the Star by using a warp-jump to jump to the
Star. It doesn't work for warp-beacons.

- When buying/renting and already buying/renting somewhere it gives you
the option to sell/cancel remotely.

- Fix Zone.resetMobSetDistributionCounters() (called when day changes
to night or night to day counting Mobs that shouldn't be counted for
distribution. This caused for example Mobs in the Ura-Saneti Admin
level to stop spawning.

- Dialog.load(...) etc. now have a 'restart_dialog' parameter that can
be used to make for example EasyDialogPlugins restart their run()
Thread even if they're already loaded. This is for when such a Dialog
is interrupted by something (e.g. a Player attack) that would
completely change the flow (text and options) of that Dialog.
Specifically: DialogHelper (which underlies EasyDialogPlugins) can
now restart the Dialog flow Thread when load(true) is called on it.

- SiteUI.refreshNPCDialog(..) now takes a 'restart_dialog' parameter
(see above at 'Dialog.load...' for how that is used).

- TestScriptTools.teleportToNearestExit() and
teleportToNearestEntrance() for easy teleporting to and going through
Gateways from tests.

- Fix StarSystems with unique/placed Planets sometimes don't have a
checkpoint Station althought you would expect them to have one
because when Sets are assigned as part of
Galaxy.ensureEachSetIsAssignedItsMinimum(...) (using
StarSystem.convertUnhabitablePlanet(...) it wasn't determined whether
the StarSystem now needed a checkpoint Station.

- BookmarkItem, SiteInfoUI, etc. now use SiteDefinition.icon() for
their icons/representations of the Site.

- HiddenInteractiveSiteDefinition can be set to be full invisible (show
no Site image whatsoever).

- Hunter.forceActivationOnNextUpdate(...) now takes a boolean
parameter that makes it so the Hunter won't consider deactivating
because they're beyond maxActiveDistanceFromPlayer until they first
come well within that distance (they will still deactivate when they
go beyond maxDistanceFromOrigin).

- Fix Player dying from bleeding while sleeping at Home because things
like Injuries are only removed after sleeping.

- MX I missile now costs 5500 instead of 20000.
- InteractiveSites can now optionally allow saving even when the Player
is being pursued by Hunters.

- Leeches now take between 1-200 vudu (average of 100) and zap-nets
cost 80.

- Fix weapon timeouts not resetting when loading/new game.

- Fix HaionBlockade not completing when you teleport directly onto the
Haion Planet the first time you go to Haion instead of just entering
the system space first.

- Fix CallOutUI showing #expiredcallout text when bulletin message for
an expired or removed call-out is clicked.

- Buttons in Settings to open install, log and save-file directories.

- Rearranged Settings to be tab based so there's more room for each
category (game, ui, audio, display, tools).

- laidBackYamo is now on by default (and the popup telling you about it
when you start a new game doesn't show anymore).

- Fix DropOffTradeUI still showing wrong (non-appllicable) surcharges.
- Fix repair nanites can't be used while flying.

- Exploration section in manual.

- Buttons in Settings, Tools to open install, user, save and log
directories in File Explorer.

- Fix various Items (e.g. stunbolt) didn't increment their uses when
added (e.g. bought) because some old wrong code involving skills.

- Setting that allows the Player to Skip having to contact a
taxi-company after cycling and reviving.

- Game-over UI changed (uses white-out, etc.).
- Fixed some missing entries for ZoneSetDefinition.instantiationScript
and derived definition. Also from NPCDefinition.instantiationScript.

- Fix Player still colliding with other mobs while grabbed by grabber
mob (GarbageCollector).

- Fix grabber mob not dropping Player when Player exits map while
grabbed (e.g. teleport, entering a Dungeon, etc.).

- When starting TAXINAUT for the first time it will tell you about
controller support. This can be re-enabled by setting the
askcontrollersupport setting to true again.

- Different default keyboard/controller scheme and 'back' function.

- Ship can flown at speed=1 while holding right-mouse button or a
set controller button. The cab will stop as soon as the button is

- 'detailed planet image' setting now available via display settings.

- huntingRouteSmoothing can be used by Hunters to stop the awkward
flipping when crossing CaveRoom bounderies.

- PlayerActionItemlistener can be used to substitute another action for
some or all actions.

- Mob.countForMobDistribution can be used to not let a Mob count
towards mob-distribution counters which is handy for always kept
alive mobs so they don't break the regular distribution of mobs on
the Map.

- Some fixes to the 'widescreen' behavior (e.g. control-pane
automatically closes when Player takes off).

- InteractiveSites can now choose to allow saving even when the Player
is being pursued.

- Taxi.mobIndexSet(...) to create Set<MobDefinition> (hash-set) from an
Index for fast contains(...). The created Set is also cached so other
code can obtain it fast.

- TrafficLaneSystemDefinition can now define a TileMap to use for
tiling the lanes.
- Mobs can now be set through their MobDefinition to have a fixed

- New SimpleFlockDefinition Mob type.

- LayoutSiteDefinition defined Sites can now be used with regular
ZoneSetDefinitions not just BlockBased Sets and handmade ZoneLayouts.

- A lot more settings on SpawnPointDefinition to be able to create
things like 'static' spawns that are placed throughout a layout as
mob-encounters etc.

- Fix uncle (from Birdie storyline) not recognizing you dropped them
off where they wanted to go because the drop-off wasn't saved.

- Fix LocationReference.nearestDungeonEntranceCoordinates() returning
wrong entrance.

- Fix StarSystems with a lot of Habitable planets (>= 10) having crazy
amount of Mobs flying around because spawn period depended on number
of Haibtable planets in a way that could make the period very small.

- SiteData SDACommonFlags provides common flags on Sites. Currently it
has 'destroyed' and 'deny landing' flags.

- Fix Volcano derived Sites not despawning their 'lava' Mobs when out
of mob keep-alive range of the Player.

- Caves can be transposed so that they can be placed as part of other
Caves. This was introduced so that ZoneLayouts can now be integrated
into Mazes.

- NASecurity doesn't remove the 'hostile' NPCAttribute anymore to
prevent the securitycheck Dialog from not running because the NPC has
gone hostile but instead relies on NPC.ignoreNoTalkAttributes().

- UIPlugins can now easily cause a 'deny landing' to happen by
returning null instead of a SiteUIWrapper instance from their
createUI(...) implementation.

- BlackoutPopup can now use/fade to a transparent Color.

- Item hovers now stay visible after clicking an Item on the ItemStrip.
This makes it less confusing when using the focus-system because you
can now see the ItemStrip still has focus (else it's like nothing has
focus after you click an Item).

- MessageUI provides a simple Pane to show a Message to the Player that
can be stacked on the MapViewPopupFrame.

- ShopUI.insertNPC(...) can be use to insert an NPC into a Shop (for
example from onPlayerLandAtSite(...)).

- Fix possible Thread-lock during gameoverduringanewhome test (and
possibly other scenarios) because custom-updaters run synchronized on

- Fix item Dialog can crash when a chosen Shop has NPC

- Fix TestSCriptTools.internalRemoveTravelKit(...) not removing test
warp-jumps making some Moon-man Dialog about warp-jumps go different.

- Fix possibility of crash in Messags.topMessageText() (and possible
clickTopMessage()) because there's no synchronization on the msgs

- MapView effects added through TaxiUI.addMapViewEffect(...) now use
system time for their fading so that when you pause the game they
still fade away while the game is paused. This prevents them from
obscuring your cab and making it hard to see which direction your cab
is pointed in (making it very annoying to aim weapons).

- Player.detectabilityFactor determines the activation range of

- Mechanics.DEFAULT_MOB_ACTIVATION_RANGE is now set to 75% of
Mechanics.VISUAL_RANGE (that is 540px).

- Flying at speed <= 1 will half Hunter activation range.

- Fix Haion destroyers don't show up.

- Waiting and moving Thugs are now both same type: type=4 simply named
TYPE_THUG. Type=9 (previously TYPE_MOVING_THUG) has been deprecated.
There's also now a ThugDefinition (instead of using
HunterDefinition for Thugs).

- A lot of Item clone constructors have been changed to simply take an
Item of the same class as a single argument instead of an argument
for each member field. freshClone() implementation for these Items
have also been adjusted to use these single argument clone

- Yrah birds now have only 2 health instead of 5.

- Thugs now only have 3 health instead of 5.

- Medical kit can now be used while in space (as well as while landed).

- Regular Nova Hounds that spawn periodically (non-guarding ones) now
don't have a short maxActivationDistanceFromOrigin.

- #activedefense Items (e.g. stunbolt) are not #commonillegal anymore.

- Stunned effect is now 50% transparent but only starts fading during
last 25% of duration.

- 'stunbolt advanced' and 'stunbolt x' replace 'stunbolt ii and iii'.

- 'stunbeam advanced' and 'stunbeam x' now replace the more advanced

- Both stunbolts and stunbeams now have a minimum stun-time of 7
seconds and their most advanced (x) version have full 360 degree arc.

- Armor is now only effective against LaserBeams 33% of the time.

- 'lateral thrusters' are replaced by 'gyro boost i and ii'.

- 'gyro flux' allows Player to instantly pick a direction.

- Prices on stunbolts, stunbeams and gyros have been redone and are

- 'warp jump cat iii' cannot be unlocked at Covenant of Light anymore.

- Warp-jumps are cheaper again (0.4D, 2D, 10D for cat i, ii, iii).

- 'transport-agreement': same as 'transport-ticket' except you get
these at some NPCs by asking about 'transport'. Vietnam now has
transport to Xenis.

- Alternate transport ship (TransportTicket randomly picks one from

- Moved all Traffic MobDefinitions declarations out of mob.txt to

- Map.nearestLocation(...) methods now have a 'generate_minimum'
parameter (all current calls to these methods pass true for this)
which makes it so when Zones need to be generated, decorative Sites
and landing-zones aren't generated. Previously these were generated
making the nearestLocation(...) methods take a lot longer.

- When saving crashes the partially completed save-file is now deleted
(or else the user would get a crash again upon click 'CONTINUE' the
next time they start TAXINAUT because it tries to load the broken

- Mechanicsm for removing/replacing Items from the game (through
SetupPlugins by calling Galaxy.replaceItem(...)). See also rule
#0096 section on removing/replacing Items.

- Fix Home warp-beacon button doesn't set destination to Home when
clicked and thus warp is denied.

- NPCs have directions to Traders where certain Items are bought (the
Topic will show the Item's name and icon). See rule #0093 section
'3b. Directions to an Item...'.

- WarpBeacon Item. Player can buy and deploy multiple warp-beacons for
easily warping back to StarSystems previously visited.

- Slightly increased Thug activation chance from 0.125 to 0.15 to
account for smaller Thug activationRanges.

- Sorting of Topics (alphabeitcally) for an NPC's Topic-list is now
done in TopicsDialog.options() instead of BaseNPC.topics() because
Topics like ItemDefinitionTopics only know their label after the
details implementation on their Dialog is called (which happens in

- Mechanism for setting Topics on a timeout so they don't show up on a
particular NPC's Topic-list for the set timeout. (Through
NPC.setTopicTimeout(...) and checked with NPC.isOnTopicTimeout(...)).

- Hunter.maxActiveDistanceFromPlayer: Determines range from Player at
which that type of Hunter deactivates to mimic it losing track of the

- Transports and warp-ceacons etc. now use speeds appropriate to the
distance (so it doesn't take overly long or appears as an instant
jump to the destination). See Mechanics.appropriateWarpSpeed(...).

- All Mobs are now Units (before it was just those that derive from

- SaveGamePanes now show the version of TAXINAUT the SaveFile was
created with.

- ItemPickupDefinition MobDefinition for Mobs that act as an Item the
Player can fly into and then pick-up (e.g. a bit of loot).

- Fix toggle console not hiding console.

- Remove command-line.


Next I'm going to add the possibility to obtain different ships. It will be just the image that will differ but I'm pretty sure you'll want one nonetheless.

Thanks again everybody!

Files 342 MB
49 days ago


Buy Now$12.99 USD or more

Leave a comment

Log in with to leave a comment.