EmptyEpsilon
EmptyEpsilon copied to clipboard
[Request] Add specific label for Scan Dialog
Is it possible to customize the scan dialog with some label instead of "Radio profile" or "Raspberry jam prevention" ?
Something like obj:setScanLabel(text) If this is null, then EE use one of the random label. If not, it use the custom label.
PR #725 implements PlayerSpaceship:setSignalLabels()
to change the set of labels that EE randomly selects from.
Example: player:setSignalLabels("Reticulating splines", "Reversing polarity", "Detecting life forms")
The original list is the default. If you pass an empty list, EE falls back to whatever was most recently set, or the default list if no list was previously set.
#725 was closed with a suggestion to move the scanning label names to the target ships. But revisiting this:
-
A non-ship SpaceObject can be scannable if it has a scan description, so to make the scan flavor string customizable by defining it on the target object, every SpaceObject would need to replicate its text. Replicating an array of strings for each SpaceObject still seems excessive for a cosmetic feature randomly selected and presented locally, and only in a player-facing control with no game logic attached to it.
-
When games or forks have changed these strings, it's usually only to remove or replace "Raspberry jam prevention" with something friendlier to their setting. To change one default string from the list across all objects, all objects would need to change (and replicate) that string.
Since the strings are meaningless in game logic, custom strings could instead be set as ShipTemplate features on player ship types, loaded on client launch only with no facility to change them during the scenario. This still allows customization of the default strings specific to player ship types, but doesn't facilitate scenario-specific or mid-scenario changes.
-
Without changing anything, if a game today wants badly enough to change the default list or remove a line like "Raspberry jam prevention", they can make an empty locale .po for English or copy an existing locale to a non-existent language, such as
zz
, change only those strings, and request that clients to use that locale. It's a hack, but it beats forking to edit it in the source.