Difference between revisions of "Life in the Frontier"

From Elite Wiki
(v0.7.3)
m (Quick Facts: Updated link)
 
(26 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Image:Litf_stationmap.png|600px|right]]
+
[[File:Logo-litf.png|right|100px]]
 +
{{OXPNote|Initiated by BeeTLe BeTHLeHeM, then tweaked by [[User:Norby|Norby]], this OXP could do with some more work! All the stations have the same map - they should vary... (the encounters ''do'' vary)}}
 +
[[Image:Litf_stationmap.png|300px|right]]
 +
 
 
== Description ==
 
== Description ==
  
Players roleplay their game session, depending on the career they choose, and the events in-flight. Space station, on the contrary, are still rather static (without considering OXP) and act more like a transition between two flights.
+
At the moment, players roleplay their game session, depending on the career they choose, and the events in-flight. But, space stations, on the contrary, are still rather static (without considering OXPs) and act more like a transition between two flights.
  
So I thought to help stations offering more variety, giving the player the chance to fire a random event while he is docked, an event that could requires a player choice and that can have effects (good and bad) on the player properties.
+
So I thought to help stations offer more variety, giving a player the chance to encounter random events while docked, an event that could require a player choice and with effects (good and bad) on the player.
  
 +
[[File:Life in the Frontier (Park).png|thumb|400px|right]]
 +
[[File:Life in the Frontier (Medical Centre).png|thumb|400px|right]]
 +
[[File:Life in the Frontier (Bar).png|thumb|400px|right|Unfortunate blue text thanks to [[Dangerous HUD]] (blue)!]]
 
== How it works ==
 
== How it works ==
 
+
=== Events ===
When the player is docked to a station, he will find in the F4 screen a new item, "Take a look around on the station" (mainly placeholder text). If he select this item, the OXP will choose a random event from a list, and the player will have to confront it. Some events will be only description of something that happens in the vicinity of the player, while others will require choices and decisions, and usually they will have multiple resolutions.
+
When the player is docked at a station, he will find in the F4 screen a new item, '''Disembark from your ship'''. If selected, the OXP will choose a random event from a list, and the player will have to confront it. Some events will be a mere description of something that happens in the vicinity of the player, while others will require choices and decisions, and usually offer multiple resolutions.
  
 
The events are categorized depending on various factors: the system government, economy and TL, plus one "generic" category for events that can happen anywhere. Instead the specific categories are intended to create a precise atmosphere, so in dictatorial systems there will be a more oppressive feeling, and in low tech worlds it will possible to see more malfunctioning in systems.
 
The events are categorized depending on various factors: the system government, economy and TL, plus one "generic" category for events that can happen anywhere. Instead the specific categories are intended to create a precise atmosphere, so in dictatorial systems there will be a more oppressive feeling, and in low tech worlds it will possible to see more malfunctioning in systems.
Line 16: Line 22:
 
The resolution of an event can include: variation in money, in bounty level, in ship fuel or cargo goods. In these case will be displayed a report screen showing what is changed.
 
The resolution of an event can include: variation in money, in bounty level, in ship fuel or cargo goods. In these case will be displayed a report screen showing what is changed.
  
Sometimes an event to happen will require a check on one of that properties, for example to avoid that the player loses more money than he actually has.
+
Sometimes the eventuation of an event will require a check on one of those properties, for example to avoid the player losing more money than he actually has!
  
The player can fire an event for docking, to fire another event he will need to leave and dock to another (or the same) station - in this way the mechanic shouldn't be abused.
+
The player can initiate an event by docking, to initiate another event he will need to leave and dock at another (or the same) station - in this way the mechanic shouldn't be abused.
 +
 
 +
=== The map ===
 +
One can move around and explore the station, and encounter more events as one does so, both during travel and in, say, the bar. There is something to be found at each location (dust in the bookshop...).
  
 
== Changelog ==
 
== Changelog ==
<pre>
+
<div class="mw-collapsible mw-collapsed"  data-expandtext="Show details from the Dark Side" data-collapsetext="Hide details" style="overflow:auto;">
 
0.7.3
 
0.7.3
-Disembark is possible after load game in additional stations.
+
* Disembark is possible after load game in additional stations.
-Fixed step back from life status screen in non-galcop stations.
+
* Fixed step back from life status screen in non-galcop stations.
-Fixed mission.screenID error message in non-galcop stations.
+
* Fixed mission.screenID error message in non-galcop stations.
  
 
0.7.2
 
0.7.2
- Fixed bounty clearing at galcop terminal (by Norby).
+
* Fixed bounty clearing at galcop terminal (by Norby).
- Non-galcop stations are limited to the hangar.
+
* Non-galcop stations are limited to the hangar.
- HD Backgrounds OXP is used in life status screen and non-galcop hangar.
+
* HD BackGrounds OXP is used in life status screen and non-galcop hangar.
- Able to use hd background images made in any resolution (fit to height).
+
* Able to use hd background images made in any resolution (fit to height).
  
 
0.7.1
 
0.7.1
- Fixed action on Museum exit.
+
* Fixed action on Museum exit.
  
 
0.7
 
0.7
- Completed STORAGE, special location on Docks with restricted access:  
+
* Completed STORAGE, special location on Docks with restricted access: 25 credits or legal stance <= -25 (friendly with criminals)
  25 credits or legal stance <= -25 (friendly with criminals)
+
* Placed PASSENGERS LOUNGE, special location on Concourse-A
- Placed PASSENGERS LOUNGE, special location on Concourse-A
+
* Placed CHURCH OF THE COSMIC WANDERER, special location on Concourse-B
- Placed CHURCH OF THE COSMIC WANDERER, special location on Concourse-B
+
* Placed BOOKSHOP, special location on Concourse-B
- Placed BOOKSHOP, special location on Concourse-B
+
* Placed MUSEUM, special location on Delight Avenue
- Placed MUSEUM, special location on Delight Avenue
+
* Placed FIT CENTER, special location on Olympian Square
- Placed FIT CENTER, special location on Olympian Square
+
* Implemented Station Map, visible from every lobby
- Implemented Station Map, visible from every lobby
+
*Commander stats and OXP flags are stored as a map (string with format name1=value1,name2=value2,name3=value3...) instead of an array. This should definitely fix every issue with loading and saving data.
- Commander stats and OXP flags are stored as a map (string with format name1=value1,name2=value2,name3=value3...)  
+
* Placed BRIEFING ROOM, special location on Galcop Precinct.
  instead of an array. This should definitely fix every issue with loading and saving data.
+
* Placed DETAINMENT ZONE, special location on Galcop Precinct.
- Placed BRIEFING ROOM, special location on Galcop Precinct.
+
* Placed SOCIAL SERVICES, special location on Galcop Precinct.
- Placed DETAINMENT ZONE, special location on Galcop Precinct.
+
* Placed PILOT COURSE ROOM, special location on Galcop Precinct.
- Placed SOCIAL SERVICES, special location on Galcop Precinct.
 
- Placed PILOT COURSE ROOM, special location on Galcop Precinct.
 
  
- Implemented SOCIAL SERVICES mechanics:
+
* Implemented SOCIAL SERVICES mechanics:
* Player can spend 4 hours doing social services. His reputation will increase of a small amount.  
+
** Player can spend 4 hours doing social services. His reputation will increase of a small amount. His bounty will decrease of an amount. There's a chance of getting hurt during the work. In this case the time spent and bounty decrease are reduced.
  His bounty will decrease of an amount. There's a chance of getting hurt during the work.  
 
  In this case the time spent and bounty decrease are reduced.
 
  
- Implemented FIT CENTER mechanics:
+
* Implemented FIT CENTER mechanics:
* The first time the commander visits a Fit Center, he must buy an Universal Fitness Badge for 15cr.  
+
** The first time the commander visits a Fit Center, he must buy a Universal Fitness Badge for 15cr. This purchase include a month subscription.
  This purchase include a month subscription.
+
** The subscription can be renewed monthly for 10cr.
* The subscription can be renewed monthly for 10cr.
+
** Commander mustn't be wounded or sick to enter the gym.
* Commander mustn't be wounded or sick to enter the gym.
+
** Every gym session increase commander strength.
* Every gym session increase commander strength.
+
** If commander exercise more than once in two days, a chance of getting wounded while exercising increase.
* If commander exercise more than once in two days, a chance of getting wounded while exercising increase.
+
** If the commander get wounded, he'll must get healed before starting a new gym session.
* If the commander get wounded, he'll must get healed before starting a new gym session.
+
** If the commander get wounded, the maximum strength cap get lowered of a small amount. If this amount get very low (it requires a lot of accidents, though...) the commander can't access the gym anymore until he get a recovering therapy from an hi-tech Medical Center.
* If the commander get wounded, the maximum strength cap get lowered of a small amount.  
+
** If the commander doesn't go to the gym for more than a week, strength will lower of a small amount after every dock.
  If this amount get very low (it requires a lot of accidents, though...) the commander can't access  
+
** If commander can't access the gym because he has endured too much damage, he can go to a hi-tech system Medical Center and get into a Recovery Therapy for 400cr. This therapy is available only when the player has sustained a lot of damage (only in the gym for now).
  the gym anymore until he get a recovering therapy from an hi-tech Medical Center.
+
** The status screen (access from the hangar) report the Universal Fitness expiration status, when the player buys it.
* If the commander doesn't go to the gym for more than a week, strength will lower of a small amount after every dock.
 
* If commander can't access the gym because he has endured too much damage, he can go to a hi-tech system  
 
  Medical Center and get into a Recovery Therapy for 400cr. This therapy is available only when the player  
 
  has sustained a lot of damage (only in the gym for now).
 
* The status screen (access from the hangar) report the Universal Fitness expiration status, when the player buys it.
 
  
 
0.6.1
 
0.6.1
- Fixed corridor background name - this should avoid log warning messages about texture files not found.
+
* Fixed corridor background name - this should avoid log warning messages about texture files not found.
- Fixed paytreatment action, MedCenter treatment should give no exception now.
+
* Fixed paytreatment action, MedCenter treatment should give no exception now.
- Deleted useless number from OXP versioning - better late then never. (Current model: MajorVersion.MinorVersion.Fix)
+
* Deleted useless number from OXP versioning - better late then never. (Current model: MajorVersion.MinorVersion.Fix)
  
 
0.1.6 (0.6)
 
0.1.6 (0.6)
- When accessing the OXP from the F4 screen, the player goes directly to the Hangar.
+
* When accessing the OXP from the F4 screen, the player goes directly to the Hangar.
- The player can display the Commander Status screen from the Hangar.
+
* The player can display the Commander Status screen from the Hangar.
- Station layout updated following forum discussion on the current design.
+
* Station layout updated following forum discussion on the current design.
- Changed some definitions for station locations.
+
* Changed some definitions for station locations.
- Lobby indications are more schematic.
+
* Lobby indications are more schematic.
- The Storage location has been promoted to special location.
+
* The Storage location has been promoted to special location.
- Implemented Hotel, moved location to Main Concourse-A because Delight Avenue has already 3 planned locations.
+
* Implemented Hotel, moved location to Main Concourse-A because Delight Avenue has already 3 planned locations.
- Implemented the Wild Worlds Virtual Tour, on the Delight Avenue (Recreation Bridge).
+
* Implemented the Wild Worlds Virtual Tour, on the Delight Avenue (Recreation Bridge).
  
 
0.1.5.1 (0.5.1)
 
0.1.5.1 (0.5.1)
- Fixed check on the variables introduced in 0.1.5.
+
* Fixed check on the variables introduced in 0.1.5.
- Fixed check on varStore array items before setting values.
+
* Fixed check on varStore array items before setting values.
  
 
0.1.5 (0.5)
 
0.1.5 (0.5)
- Added background to Docks Area;
+
* Added background to Docks Area;
- Add text snippet for drunken status (along with wounds and sickness);
+
* Add text snippet for drunken status (along with wounds and sickness);
- Implemented event-checks for "government", "tech" and "economy". The government check can take a list of governments,
+
* Implemented event-checks for "government", "tech" and "economy". The government check can take a list of governments, separated by "-" character. If the system government is in the list, the check is valid;
  separated by "-" character. If the system government is in the list, the check is valid;
+
* Added events: ROBO-BARD, HUNTERS, DELIRIOUS DROID, COMMERCIAL DROID, SUPERCELEBRITY, LIGHTS MALFUNCTION, WATER MALFUNCTION, AIR MALFUNCTION, DEFACING KIDS
- Added events: ROBO-BARD, HUNTERS, DELIRIOUS DROID, COMMERCIAL DROID, SUPERCELEBRITY, LIGHTS MALFUNCTION,  
+
* "her/him/his" not capitalized anymore;
  WATER MALFUNCTION, AIR MALFUNCTION, DEFACING KIDS
+
* Commander stats are saved as a string with comma-separated values rather than 5 missionVariables.
- "her/him/his" not capitalized anymore;
+
* Game flags are saved as a string with comma-separated values rather than 8 missionVariables.
- Commander stats are saved as a string with comma-separated values rather than 5 missionVariables.
+
* Variables still not used aren't loaded anymore from the savegame, and are saved with null values to purge them from the file.
- Game flags are saved as a string with comma-separated values rather than 8 missionVariables.
+
* Refactored method for checks on event/choice requirements: it's now possible to interrogate a parameter with operators =, !=, <, <=, >, >=. The requirement syntax changes. E.g.: no more credits:500, but credits=500, or credits<500 etc.
- Variables still not used aren't loaded anymore from the savegame, and are saved with null values to purge them from the file.
+
* Event text can be present as parameter "text" (static text, always displayed) *OR* as indexed parameters (text0, text1, text2): in the latter case, it's possible to specify display conditions, with syntax "condition|text to display". If an indexed text has no condition is considered static (always displayed). The validated indexed text are concatenated.
- Refactored method for checks on event/choice requirements: it's now possible to interrogate a parameter with operators
+
* Event property "choiceRequires" has been removed. It has been replaced by "r"(+ choice index), that contains the facultative requirements for the single choice. If a choice has no requirements (no "r" property), the choice is always displayed.
  =, !=, <, <=, >, >=. The requirement syntax changes. E.g.: no more credits:500, but credits=500, or credits<500 etc.
+
* I believe I have removed the end-event resume screen at least one release ago, forgot to write it down.
- Event text can be present as parameter "text" (static text, always displayed) *OR* as indexed parameters  
+
* To avoid confusion, in the event properties requires and r I don't use the ':' char as separator anymore, but the equal sign '='.
  (text0, text1, text2): in the latter case, it's possible to specify display conditions, with syntax
+
* Refactored action executions when player select an event or a location choice. There are some differences in some actions, so I had to differentitate: go (random event) and goNav (navigation), end (random event) and endNav (navigation).
  "condition|text to display". If an indexed text has no condition is considered static (always displayed).  
+
* Implemented condition if to the events action. Now it's possible to define a condition (or multiple conditions, comma-separated), and to link it to two results: the "valid condition" and the "else". I'm going to read again the various random events to introduce conditions when necessary, to streamline the event flow. Syntax is: if:<conditions>?<actions>;<elseActions>
  The validated indexed text are concatenated.
+
* I've lost some features (the hotel, the wild world virtual tour and the new Medical Center text), so I'll have to rethink them in the next days. Actually I have changed the Medical Center concept, so the options are always displayed but if the player isn't sick or wounded or drunk the receptionist will refuse to start the treatment.
- Event property "choiceRequires" has been removed. It has been replaced by "r"(+ choice index), that contains  
+
* Fixed: the Galcop terminal didn't show the price for cleaning the criminal record.
  the facultative requirements for the single choice. If a choice has no requirements (no "r" property),  
+
* The DEFACING KIDS event can enable a flag - eventually the consequence will be shown when the player reach the docks area.
  the choice is always displayed.
 
- I believe I have removed the end-event resume screen at least one release ago, forgot to write it down.
 
- To avoid confusion, in the event properties requires and r I don't use the ':' char as separator anymore,  
 
  but the equal sign '='.
 
- Refactored action executions when player select an event or a location choice. There are some differences  
 
  in some actions, so I had to differentitate: go (random event) and goNav (navigation), end (random event)  
 
  and endNav (navigation).
 
- Implemented condition if to the events action. Now it's possible to define a condition (or multiple conditions,  
 
  comma-separated), and to link it to two results: the "valid condition" and the "else".  
 
  I'm going to read again the various random events to introduce conditions when necessary, to streamline the event flow.
 
  Syntax is: if:<conditions>?<actions>;<elseActions>
 
- I've lost some features (the hotel, the wild world virtual tour and the new Medical Center text),  
 
  so I'll have to rethink them in the next days. Actually I have changed the Medicla Center concept,
 
  so the options are always displayed but if the player isn't sick or wounded or drunk the receptionist  
 
  will refuse to start the treatment.
 
- Fixed: the Galcop terminal didn't show the price for cleaning the criminal record.
 
- The DEFACING KIDS event can enable a flag - eventually the consequence will be shown when the player reach the docks area.
 
  
 
0.1.4 (0.4)
 
0.1.4 (0.4)
- Code optimization and refactoring. Creation of new js files for common methods, for mission-related methods,  
+
* Code optimization and refactoring. Creation of new js files for common methods, for mission-related methods, and for inside-station navigation methods.
  and for inside-station navigation methods.
+
* Restarted from scratch (taking the old code piece for piece).
- Restarted from scratch (taking the old code piece for piece).
+
* The F4 link shows a literal resume of the player. From this screen, the player can "disembark" from the ship and wander into the space station.
- The F4 link shows a literal resume of the player. From this screen, the player can "disembark" from the ship  
+
* "Tubes Stop" locations allow player to move across five different levels. Every level has a theme and several inner locations. The levels are to be intended as concentric.
  and wander into the space station.
+
* Events are not fired by player anymore. But moving into the station there is a 20% chance (not definitive) of firing a random event. They act like an intermission, basically.
- "Tubes Stop" locations allow player to move across five different levels. Every level has a theme and  
+
* Added random snippet (from a list of 20) of texts when at a Tube Stop.
  several inner locations. The levels are to be intended as concentric.
 
- Events are not fired by player anymore. But moving into the station there is a 20% chance (not definitive)  
 
  of firing a random event. They act like an intermission, basically.
 
- Added random snippet (from a list of 20) of texts when at a Tube Stop.
 
  
- Added all the events already implemented in 0.1.3 (beside the bar ones)
+
* Added all the events already implemented in 0.1.3 (beside the bar ones)
- Added the bar events: the gossip option has been moved to the "talk with bartender one".  
+
* Added the bar events: the gossip option has been moved to the "talk with bartender one". Bartender doesn't give hints about contractors anymore.
  Bartender doesn't give hints about contractors anymore.
+
* It's possible to clean own criminal record at the Galcop termminal (in the Galcop precinct) paying a fine of (500cr x current bounty).
- It's possible to clean own criminal record at the Galcop termminal (in the Galcop precinct)  
+
* Added the Art Gallery and the art genre random generator.
  paying a fine of (500cr x current bounty).
+
* Added the Opera House and the music genre random generator.
- Added the Art Gallery and the art genre random generator.
+
* Added the Cinema Hall and the movie genre random generator.
- Added the Opera House and the music genre random generator.
+
* If player is wounded or sick, randomly add short descriptive snippet of text while moving around the station.
- Added the Cinema Hall and the movie genre random generator.
+
* Added a short single-row-status text to show on top of the locations screens.
- If player is wounded or sick, randomly add short descriptive snippet of text while moving around the station.
+
* Added two backgrounds for the "Tubes".
- Added a short single-row-status text to show on top of the locations screens.
+
* Changed "Tube Stop" to "Lift Station", and "Tubes" to "Lift". The direction is relative, it's not necessary an up-down transport.
- Added two backgrounds for the "Tubes".
 
- Changed "Tube Stop" to "Lift Station", and "Tubes" to "Lift".  
 
  The direction is relative, it's not necessary an up-down transport.
 
  
- The property background can contain more background file names separated by comma:  
+
* The property background can contain more background file names separated by comma: the OXP will choose a random background between those specified.
  the OXP will choose a random background between those specified.
+
* Added some more backgrounds, I'm trying to add variety and get an "identity" for the various levels.
- Added some more backgrounds, I'm trying to add variety and get an "identity" for the various levels.
+
* Added medical center location: here the player can cure wounds and sickness for a price. Price and amount of cure changes in relation to system tech level. The medical center can also rid of drunken status for free, but with a chance for a slight sickness.
- Added medical center location: here the player can cure wounds and sickness for a price.  
 
  Price and amount of cure changes in relation to system tech level.  
 
  The medical center can also rid of drunken status for free, but with a chance for a slight sickness.
 
  
- Added health/sickness management, with the following rules being checked every time the player docks to a station:
+
* Added health/sickness management, with the following rules being checked every time the player docks to a station:
1) if sickness > 1, chance 10% of worsening (sickness +1);
+
  1) if sickness > 1, chance 10% of worsening (sickness +1);
2) if sickness = 1, chance 10% of healing (sickness = 0);
+
  2) if sickness = 1, chance 10% of healing (sickness = 0);
3) if health > 1, chance 10% of worsening (health + 1);
+
  3) if health > 1, chance 10% of worsening (health + 1);
4) if health = 1, chance 10% of healing (health = 0);
+
  4) if health = 1, chance 10% of healing (health = 0);
5) if health > 2 and sickness < 2, chance 10% of infection (sickness +1);
+
  5) if health > 2 and sickness < 2, chance 10% of infection (sickness +1);
6) if health > 2 or sickness > 2, chance 10% of physical shape reduction
+
  6) if health > 2 or sickness > 2, chance 10% of physical shape reduction
- If player has health or sickness in critical conditions (>= 5), has a 50% of pass-out.  
+
* If player has health or sickness in critical conditions (>= 5), has a 50% of pass-out. In this case he will be automatically transported to the station Medical Center and cured (with system TL limitations). Player will receive a decrease in reputation (for careless behaviour) and the price of the operation will be automatically withdrawn from his account - if he has't enough money his bounty will be slightly increased (for debt insolvency).
  In this case he will be automatically transported to the station Medical Center and cured (with system TL limitations).
 
  Player will receive a decrease in reputation (for careless behaviour) and the price of the opeation
 
  will be automatically withdrawn from his account - if he has't enough money his bounty will be  
 
  slightly increased (for debt insolvency).
 
  
 
0.1.3 (0.3)
 
0.1.3 (0.3)
- implemented a time variable for events. It's now possible to define how much time will be spent when executing an event.
+
* implemented a time variable for events. It's now possible to define how much time will be spent when executing an event. Instead of creating a separate property, the variabile is set in the "end:x" command, where x is the time spent in seconds. So "end:600" means "terminate the event and go forward 10 minutes in time". Use "end:0" to avoid spending game-time;
  Instead of creating a separate property, the variabile is set in the "end:x" command, where x is the time spent  
+
* As a general rule for numeric command parameters, two values comma-separated will be interpreted as a range, and a random number between the specified values will be extracted. This applies even to the time variable above;
  in seconds. So "end:600" means "terminate the event and go forward 10 minutes in time".  
+
* Added a new resolution to the "elixir peddler" event, that use the time variable above;
  Use "end:0" to avoid spending game-time;
 
- As a general rule for numeric command parameters, two values comma-separated will be interpreted as a range,  
 
  and a random number between the specified values will be extracted. This applies even to the time variable above;
 
- Added a new resolution to the "elixir peddler" event, that use the time variable above;
 
  
- implemented the constants $SPECIES_S$ (singular) and $SPECIES_P$ (plural), that set a random species  
+
* implemented the constants $SPECIES_S$ (singular) and $SPECIES_P$ (plural), that set a random species if requested by the event text. The species value remain fixed until the end of the event;
  if requested by the event text. The species value remain fixed until the end of the event;
+
* implemented the constants $GENDERSUBJ$ (he/she), $GENDEROBJ$ (him/her), $GENDERPOSS$ (his/her). The random chosen gender remain fixed untile the end of the event. The gender-values are correlated to maintain coherence throughout the text;
- implemented the constants $GENDERSUBJ$ (he/she), $GENDEROBJ$ (him/her), $GENDERPOSS$ (his/her).  
+
* fixed the text of all the events implemented until now;
  The random chosen gender remain fixed untile the end of the event.  
+
* added five "no-events";
  The gender-values are correlated to maintain coherence throughout the text;
 
- fixed the text of all the events implemented until now;
 
- added five "no-events";
 
  
- added a new script file (LITF_RPGElements.js) to keep together the RPG-lite functions;
+
* added a new script file (LITF_RPGElements.js) to keep together the RPG-lite functions;
- changed the F4 link in "Visit the station hub": it show a main screen with player current RPG-lite status  
+
* changed the F4 link in "Visit the station hub": it show a main screen with player current RPG-lite status (reputation, health, sickness, strength), the link to the random event and something more...;
  (reputation, health, sickness, strength), the link to the random event and something more...;
+
* added description for all the status variables;
- added description for all the status variables;
+
* added arrays of "minor" cargo types to be inserted in missions text: these aren't new cargo types, they will only be treated as random labels to differentiate the text depending on player reputation;
- added arrays of "minor" cargo types to be inserted in missions text: these aren't new cargo types,  
 
  they will only be treated as random labels to differentiate the text depending on player reputation;
 
  
- The link on the F4 page has been changed to "Visit the station hub" and if selected shows the "main screen";
+
* The link on the F4 page has been changed to "Visit the station hub" and if selected shows the "main screen";
- The "main screen" displays the player status (a literal description for the LITF variables);
+
* The "main screen" displays the player status (a literal description for the LITF variables);
- Added variables: reputation, health (wounds, bruises etc.), sickness, strength (physical shape);
+
* Added variables: reputation, health (wounds, bruises etc.), sickness, strength (physical shape);
- Added variable: stance. Positive stance = the law; negative stance = the criminals.  
+
* Added variable: stance. Positive stance = the law; negative stance = the criminals. Similar to reputation, but to be considered more like "word on the street is";  
  Similar to reputation, but to be considered more like "word on the street is";  
+
* Available choices for the "main screen";
- Available choices for the "main screen";
+
** "Take a walk to the Main Concourse". This fires a random event, as before;
* "Take a walk to the Main Concourse". This fire a random event, as before;
 
  
- The player won't find the locations (bar, fit center, church, med center) on every system.  
+
* The player won't find the locations (bar, fit center, church, med center) on every system. I wrote a basic rule to distribute their presence in the galaxy. The rule is mathematical and based on the system ID, so the final results are fixed - for now only the bar is enabled;
  I wrote a basic rule to distribute their presence in the galaxy.  
+
* Re-edited the implemented events to use the variables in effects and requirements;
  The rule is mathematical and based on the system ID, so the final results are fixed - for now only the bar is enabled;
+
* Added constant $LIQUORS$ (with an array of 20 liquor random names), $SYSTEM$ (get random system name), $COMMODITY$ (get random vanilla commodity name), $GOSSIP$ (get a random gossip), $NAME$ (for random NPC name), $MINORCARGO$ (for transport missions);
- Re-edited the implemented events to use the variables in effects and requirements;
+
* Added flag management (not mission flags), checks and manipulation;
- Added constant $LIQUORS$ (with an array of 20 liquor random names), $SYSTEM$ (get random system name),  
+
* Added command "time:x", if you don't want to end the events but only to spend time;
  $COMMODITY$ (get random vanilla commodity name), $GOSSIP$ (get a random gossip),  
 
  $NAME$ (for random NPC name), $MINORCARGO$ (for transport missions);
 
- Added flag management (not mission flags), checks and manipulation;
 
- Added command "time:x", if you don't want to end the events but only to spend time;
 
  
- Implemented first version mission generation. It works in two steps. First step: an NPC  
+
* Implemented first version mission generation. It works in two steps. First step: an NPC (in this case, the bartender) tells the player that another NPC has a job available: I store data about the NPC name, the system where he is, the type of mission and a generous time limite to reach him. When the player docks to a station I check if it's the right station and if the NPC hasn't expired: if everything's good, when the player enter the main concourse I switch to an alternate event: meeting the NPC, that introduce the job (a cargo transport), with a destination, a time limit and a type of "minor cargo" (see above). If the player accepts, I use this data to generate a real mission.
  (in this case, the bartender) tells the player that another NPC has a job available:  
+
* Removed sickness effect when getting drunk, it's counter-productive. When I'll implement medical centers, player have the chance to pay to get sober. For now he can leave the station and dock to another station to rid of the drunkenness.
  I store data about the NPC name, the system where he is, the type of mission and a  
 
  generous time limite to reach him. When the player docks to a station I check if it's  
 
  the right station and if the NPC hasn't expired: if everything's good, when the player  
 
  enter the main concourse I switch to an alternate event: meeting the NPC, that introduce  
 
  the job (a cargo transport), with a destination, a time limit and a type of "minor cargo"  
 
  (see above). If the player accepts, I use this data to generate a real mission.
 
- Removed sickness effect when getting drunk, it's counter-productive.  
 
  When I'll implement medical centers, player have the chance to pay to get sober.
 
  For now he can leave the station and dock to another station to rid of the drunkenness.
 
  
- Modified the cargo mission management: I don't use specialCargo or awardContract,  
+
* Modified the cargo mission management: I don't use specialCargo or awardContract, but the OXP do the checks and display the page for completing a contract (always from the Main Concourse). It's not definitive, but it seems to work.
  but the OXP do the checks and display the page for completing a contract (always from the Main Concourse).  
+
* Added events: CHARMING PARTNER, MUGGING, THE LOST DRUNKARD, MEDICAL CAMP
  It's not definitive, but it seems to work.
 
- Added events: CHARMING PARTNER, MUGGING, THE LOST DRUNKARD, MEDICAL CAMP
 
  
 
0.1.2 (0.2)
 
0.1.2 (0.2)
- enabled the one-event-for-dock flag (it was disabled for showing various events without leaving a station).
+
* enabled the one-event-for-dock flag (it was disabled for showing various events without leaving a station).
- changed the event management, I moved the events data from missionscript.plist to  
+
* changed the event management, I moved the events data from missionscript.plist to LITF_ActionsCatalog.js (renamed in LITF_EventsCatalog.js). In this way I can group everything related to an event in one object (text, requirements, choices and actions), and eventually I can make them more dynamic;
  LITF_ActionsCatalog.js (renamed in LITF_EventsCatalog.js).  
+
* renamed property "check" (property-checks that allow the event to happens) in "requires";
  In this way I can group everything related to an event in one object  
+
* added property "choiceRequires", contains pipe-concatenated string with checks for every event choice (see check property list) for selecting choices to display under particular circumstances; use "valid:1" for always display a choice, and "valid:0" to always hide it;
  (text, requirements, choices and actions), and eventually I can make them more dynamic;
+
* added events:
- renamed property "check" (property-checks that allow the event to happens) in "requires";
+
** GENERIC: charity
- added property "choiceRequires", contains pipe-concatenated string with checks for every event choice  
+
** GENERIC: alien discussion
  (see check property list) for selecting choices to display under particular circumstances;  
+
* implemented code for replace constants in event/choice text with a random element from a related array: actually used in the charity event, constant $CHARITY$.
  use "valid:1" for always display a choice, and "valid:0" to always hide it;
 
- added events:
 
GENERIC: charity
 
GENERIC: alien discussion
 
- implemented code for replace constants in event/choice text with a random element  
 
  from a related array: actually used in the charity event, constant $CHARITY$.
 
  
 
0.1.1 (0.1)
 
0.1.1 (0.1)
- events category list:
+
* events category list:
"generic" category
+
**"generic" category
station allegiance (disabled)
+
**station allegiance (disabled)
system government (gov_0 - gov_7)
+
**system government (gov_0 - gov_7)
system tech level (ltech, htech), values 5-9 are converted to "generic"
+
**system tech level (ltech, htech), values 5-9 are converted to "generic"
system economy (ind, agri), values 3-4 are converted to "generic"
+
**system economy (ind, agri), values 3-4 are converted to "generic"
OXP choose a value from an array with the values [ generic, gov_x, tl_x, eco_x]
+
**OXP choose a value from an array with the values [ generic, gov_x, tl_x, eco_x]
Maybe in the future I could add as new categories ranges for player rank or player bounty
+
**Maybe in the future I could add as new categories ranges for player rank or player bounty
- specific background picture depending on event category: system government, tech level  
+
* specific background picture depending on event category: system government, tech level (low tech, high tech) and economy (industrial, agricultural). "Generic" events will show the related system government background;
  (low tech, high tech) and economy (industrial, agricolture). "Generic" events will show  
+
* event one-click for docking disabled for testing and showing OXP workings;
  the related system government background;
+
* passing time for events temporarily disabled: to be reintroduced it as an event property;
- event one-click for docking disabled for testing and showing OXP workings;
+
* event effects list:
- passing time for events temporarily disabled: to be reintroduced it as an event property;
+
**mt_[name]:[value] add [value] to the player ship manifest good identified by [name].  
- event effects list:
+
**bounty:[value] add [value] to the current player bounty.
mt_[name]:[value] add [value] to the player ship manifest good identified by [name].  
+
**fuel:[value] add [value] to the current player ship fuel amount.
bounty:[value] add [value] to the current player bounty.
+
**credits[value] add [value] to the current player credits.
fuel:[value] add [value] to the current player ship fuel amount.
+
**go:[label] fire the event identified by [label]
credits[value] add [value] to the current player credits.
+
**end:0 end the event
go:[label] fire the event identified by [label]
+
**[value] can be positive or negative. There are checks to avoid negative results or values exceeding cargo space.
end:0 end the event
+
* check property list:
[value] can be positive or negative. There are checks to avoid negative results or values exceeding cargo space.
+
**mt[name]:[value] check for player ship manifest good identified by [name] >= [value]
- check property list:
+
**mt<[name]:[value] check for player ship manifest good identified by [name] < [value]
mt[name]:[value] check for player ship manifest good identified by [name] >= [value]
+
**fuel:[value] check for player ship fuel amount >= [value]
mt<[name]:[value] check for player ship manifest good identified by [name] < [value]
+
**fuel<:[value] check for player ship fuel amount < [value]
fuel:[value] check for player ship fuel amount >= [value]
+
**bounty:[value] check for current player bounty >= [value]
fuel<:[value] check for player ship fuel amount < [value]
+
**bounty<:[value] check for current player bounty < [value]
bounty:[value] check for current player bounty >= [value]
+
**credits:[value] check for current player credits >= [value]
bounty<:[value] check for current player bounty < [value]
+
**credits<:[value] check for current player credits < [value]
credits:[value] check for current player credits >= [value]
+
* added events:
credits<:[value] check for current player credits < [value]
+
**GENERIC: beggar
- added events:
+
**GENERIC: weird password guy
GENERIC: beggar
+
**GENERIC: fire
GENERIC: weird password guy
+
**GENERIC: fire + gossip
GENERIC: fire
+
**GENERIC: shady seller
GENERIC: fire + gossip
+
**GENERIC: partygoers
GENERIC: shady seller
+
**GENERIC: running fugitive
GENERIC: partygoers
+
**GENERIC: thief
GENERIC: running fugitive
+
**GENERIC: stranded crew (2 variants)
GENERIC: thief
+
</div>
GENERIC: stranded crew (2 variants)
+
 
</pre>
 
 
== License ==
 
== License ==
 
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License version 4.0.
 
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License version 4.0.
Line 299: Line 236:
  
 
Author: BeeTLe BeTHLeHeM
 
Author: BeeTLe BeTHLeHeM
 +
 +
[[File:Life in the Frontier - Revival.png|thumb|right|400px|Life in the Frontier - Revival (BeeTLe BeTHLeHeM's second OXP)]]
 +
 +
== Musings ==
 +
*These stations are massive (1km x 1km x 1km)! There should be ''many'' more facilities - restaurants, many more bars, more hotels, ''etc''.
 +
*There should be different maps for different stations (Coriolis, Dodo, Ico ''etc'') - see v.0.06 below.
 +
*Might one be able to sit in a bar and watch the planet and local ships move beneath on a screen or even through a window! And watch [[GNN]] on another screen!
 +
*Could be combined with the bar from [[Hints]], with the bar and trade floor ''etc''. in [[New Cargoes]], the Embassy district in [[Diplomancy]], the Guild of Elite Traders in [[Elite Trader OXZ]], a "Lave First Finance Corp" office for [[First Finance OXP]], the Black Market, bribeable station officials' offices and the dock master's office from [[Smugglers - The Galactic Underworld]], GalCop security offices/kiosks for [[Bounty System]] and the storage facility for [[Equipment Storage OXP]].
 +
For Rock Hermits, the contracts desk could be added from the [[Mining Contracts OXP]]!
 +
*Since one can become meaningfully sick, a meaningful link with plague systems would be a nice addition (determined ''eg'' by [[GNN]]).
 +
*See the "contents" post for the LitF BB thread linked below for more of this sort of stuff
  
 
== Download ==
 
== Download ==
 +
*Download from the in-game [[Expansions Manager]]!
 +
*[[Media:Life_In_The_Frontier_0.7.3.oxz|Life_In_The_Frontier_0.7.3.oxz]] (downloaded {{#downloads:Life_In_The_Frontier_0.7.3.oxz}} times).
 +
*[[Media:Life_In_The_Frontier_0.7.1.oxz|Life_In_The_Frontier_0.7.1.oxz]] (downloaded {{#downloads:Life_In_The_Frontier_0.7.1.oxz}} times).
 +
 +
*Massively Locked's (& Cholmondely's) updates (experimental).  Note that these are development versions and not recommended for regular play-throughs.
 +
:[[File:LitF+v0.06.oxz]] - ico, dodo & RH layouts, ''lots'' of work behind the facade, and now a realistic feel to the stations.
 +
:[[File:LitF+v0.05.oxz]] - adds fledgling ico layout (empty), second dodo layout (empty)
 +
:[[File:LitF+v0.04.oxz]] - adds fledgling dodo layout with a different bar, violence, more churches, more encounters, dotting of "i"s, crossing of "t"s
 +
:[[File:LitF+v0.03.oxz]] - adds fledgling rock hermit layout
 +
:[[File:LitF+v0.02.oxz]] - adds temples, govt section, RH bookshop
 +
:[[File:LitF+v0.01.oxz]] - more bookshops, names your ship
 +
 +
== Links ==
 +
*[https://bb.oolite.space/viewtopic.php?t=17181 BB Thread] (2015-date)
 +
:[https://bb.oolite.space/viewtopic.php?p=287992#p287992 BB Thread: Table of Contents]
 +
*[https://www.youtube.com/watch?v=TZx59ShaVtw YouTube film] (2018) - this now seems to link to a film of the second OXP, below.
  
[[Media:Life_In_The_Frontier_0.7.3.oxz|Life_In_The_Frontier_0.7.3.oxz]] (downloaded {{#downloads:Life_In_The_Frontier_0.7.3.oxz}} times).
+
*[https://bb.oolite.space/viewtopic.php?f=6&t=17865 Leaving the Ship] (2015)
 +
*[https://pioneerspacesim.net/forum/viewtopic.php?f=3&t=454 My dream for entering stations / cities] Pioneer's discussion on this (2016-date) (this link is broken)
  
[[Media:Life_In_The_Frontier_0.7.1.oxz|Life_In_The_Frontier_0.7.1.oxz]] (downloaded {{#downloads:Life_In_The_Frontier_0.7.1.oxz}} times).
+
*[[Life In The Frontier - Revival OXP]] - a second, clashing OXP, also by BeeTLe BeTHLeHeM, which creates a message board with things to do...
  
 
== Quick Facts ==
 
== Quick Facts ==
Line 313: Line 278:
 
|license = CC BY-NC-SA 4
 
|license = CC BY-NC-SA 4
 
|category = Activities OXPs
 
|category = Activities OXPs
|author = [http://aegidian.org/bb/memberlist.php?mode=viewprofile&u=28786 BeeTLe BeTHLeHeM]
+
|author = [[User:Beetleb|BeeTLe BeTHLeHeM]]
|feedback = [http://aegidian.org/bb/viewtopic.php?f=4&t=17181 BB-Link]
+
|feedback = [https://bb.oolite.space/viewtopic.php?f=4&t=17181 BB-Link]
 
}}
 
}}
 +
 +
{{Dockables-OXP}} [[Category:Oolite stations| ]]

Latest revision as of 08:00, 22 May 2024

Logo-litf.png
Litf stationmap.png

Description

At the moment, players roleplay their game session, depending on the career they choose, and the events in-flight. But, space stations, on the contrary, are still rather static (without considering OXPs) and act more like a transition between two flights.

So I thought to help stations offer more variety, giving a player the chance to encounter random events while docked, an event that could require a player choice and with effects (good and bad) on the player.

Life in the Frontier (Park).png
Life in the Frontier (Medical Centre).png
Unfortunate blue text thanks to Dangerous HUD (blue)!

How it works

Events

When the player is docked at a station, he will find in the F4 screen a new item, Disembark from your ship. If selected, the OXP will choose a random event from a list, and the player will have to confront it. Some events will be a mere description of something that happens in the vicinity of the player, while others will require choices and decisions, and usually offer multiple resolutions.

The events are categorized depending on various factors: the system government, economy and TL, plus one "generic" category for events that can happen anywhere. Instead the specific categories are intended to create a precise atmosphere, so in dictatorial systems there will be a more oppressive feeling, and in low tech worlds it will possible to see more malfunctioning in systems.

Every category has a defined background - I have taken shots from corridors in old sci-fi movies but I don't know if I can use them, so in case I will remove them. For now consider them as placeholders.

The resolution of an event can include: variation in money, in bounty level, in ship fuel or cargo goods. In these case will be displayed a report screen showing what is changed.

Sometimes the eventuation of an event will require a check on one of those properties, for example to avoid the player losing more money than he actually has!

The player can initiate an event by docking, to initiate another event he will need to leave and dock at another (or the same) station - in this way the mechanic shouldn't be abused.

The map

One can move around and explore the station, and encounter more events as one does so, both during travel and in, say, the bar. There is something to be found at each location (dust in the bookshop...).

Changelog

0.7.3

  • Disembark is possible after load game in additional stations.
  • Fixed step back from life status screen in non-galcop stations.
  • Fixed mission.screenID error message in non-galcop stations.

0.7.2

  • Fixed bounty clearing at galcop terminal (by Norby).
  • Non-galcop stations are limited to the hangar.
  • HD BackGrounds OXP is used in life status screen and non-galcop hangar.
  • Able to use hd background images made in any resolution (fit to height).

0.7.1

  • Fixed action on Museum exit.

0.7

  • Completed STORAGE, special location on Docks with restricted access: 25 credits or legal stance <= -25 (friendly with criminals)
  • Placed PASSENGERS LOUNGE, special location on Concourse-A
  • Placed CHURCH OF THE COSMIC WANDERER, special location on Concourse-B
  • Placed BOOKSHOP, special location on Concourse-B
  • Placed MUSEUM, special location on Delight Avenue
  • Placed FIT CENTER, special location on Olympian Square
  • Implemented Station Map, visible from every lobby
  • Commander stats and OXP flags are stored as a map (string with format name1=value1,name2=value2,name3=value3...) instead of an array. This should definitely fix every issue with loading and saving data.
  • Placed BRIEFING ROOM, special location on Galcop Precinct.
  • Placed DETAINMENT ZONE, special location on Galcop Precinct.
  • Placed SOCIAL SERVICES, special location on Galcop Precinct.
  • Placed PILOT COURSE ROOM, special location on Galcop Precinct.
  • Implemented SOCIAL SERVICES mechanics:
    • Player can spend 4 hours doing social services. His reputation will increase of a small amount. His bounty will decrease of an amount. There's a chance of getting hurt during the work. In this case the time spent and bounty decrease are reduced.
  • Implemented FIT CENTER mechanics:
    • The first time the commander visits a Fit Center, he must buy a Universal Fitness Badge for 15cr. This purchase include a month subscription.
    • The subscription can be renewed monthly for 10cr.
    • Commander mustn't be wounded or sick to enter the gym.
    • Every gym session increase commander strength.
    • If commander exercise more than once in two days, a chance of getting wounded while exercising increase.
    • If the commander get wounded, he'll must get healed before starting a new gym session.
    • If the commander get wounded, the maximum strength cap get lowered of a small amount. If this amount get very low (it requires a lot of accidents, though...) the commander can't access the gym anymore until he get a recovering therapy from an hi-tech Medical Center.
    • If the commander doesn't go to the gym for more than a week, strength will lower of a small amount after every dock.
    • If commander can't access the gym because he has endured too much damage, he can go to a hi-tech system Medical Center and get into a Recovery Therapy for 400cr. This therapy is available only when the player has sustained a lot of damage (only in the gym for now).
    • The status screen (access from the hangar) report the Universal Fitness expiration status, when the player buys it.

0.6.1

  • Fixed corridor background name - this should avoid log warning messages about texture files not found.
  • Fixed paytreatment action, MedCenter treatment should give no exception now.
  • Deleted useless number from OXP versioning - better late then never. (Current model: MajorVersion.MinorVersion.Fix)

0.1.6 (0.6)

  • When accessing the OXP from the F4 screen, the player goes directly to the Hangar.
  • The player can display the Commander Status screen from the Hangar.
  • Station layout updated following forum discussion on the current design.
  • Changed some definitions for station locations.
  • Lobby indications are more schematic.
  • The Storage location has been promoted to special location.
  • Implemented Hotel, moved location to Main Concourse-A because Delight Avenue has already 3 planned locations.
  • Implemented the Wild Worlds Virtual Tour, on the Delight Avenue (Recreation Bridge).

0.1.5.1 (0.5.1)

  • Fixed check on the variables introduced in 0.1.5.
  • Fixed check on varStore array items before setting values.

0.1.5 (0.5)

  • Added background to Docks Area;
  • Add text snippet for drunken status (along with wounds and sickness);
  • Implemented event-checks for "government", "tech" and "economy". The government check can take a list of governments, separated by "-" character. If the system government is in the list, the check is valid;
  • Added events: ROBO-BARD, HUNTERS, DELIRIOUS DROID, COMMERCIAL DROID, SUPERCELEBRITY, LIGHTS MALFUNCTION, WATER MALFUNCTION, AIR MALFUNCTION, DEFACING KIDS
  • "her/him/his" not capitalized anymore;
  • Commander stats are saved as a string with comma-separated values rather than 5 missionVariables.
  • Game flags are saved as a string with comma-separated values rather than 8 missionVariables.
  • Variables still not used aren't loaded anymore from the savegame, and are saved with null values to purge them from the file.
  • Refactored method for checks on event/choice requirements: it's now possible to interrogate a parameter with operators =, !=, <, <=, >, >=. The requirement syntax changes. E.g.: no more credits:500, but credits=500, or credits<500 etc.
  • Event text can be present as parameter "text" (static text, always displayed) *OR* as indexed parameters (text0, text1, text2): in the latter case, it's possible to specify display conditions, with syntax "condition|text to display". If an indexed text has no condition is considered static (always displayed). The validated indexed text are concatenated.
  • Event property "choiceRequires" has been removed. It has been replaced by "r"(+ choice index), that contains the facultative requirements for the single choice. If a choice has no requirements (no "r" property), the choice is always displayed.
  • I believe I have removed the end-event resume screen at least one release ago, forgot to write it down.
  • To avoid confusion, in the event properties requires and r I don't use the ':' char as separator anymore, but the equal sign '='.
  • Refactored action executions when player select an event or a location choice. There are some differences in some actions, so I had to differentitate: go (random event) and goNav (navigation), end (random event) and endNav (navigation).
  • Implemented condition if to the events action. Now it's possible to define a condition (or multiple conditions, comma-separated), and to link it to two results: the "valid condition" and the "else". I'm going to read again the various random events to introduce conditions when necessary, to streamline the event flow. Syntax is: if:<conditions>?<actions>;<elseActions>
  • I've lost some features (the hotel, the wild world virtual tour and the new Medical Center text), so I'll have to rethink them in the next days. Actually I have changed the Medical Center concept, so the options are always displayed but if the player isn't sick or wounded or drunk the receptionist will refuse to start the treatment.
  • Fixed: the Galcop terminal didn't show the price for cleaning the criminal record.
  • The DEFACING KIDS event can enable a flag - eventually the consequence will be shown when the player reach the docks area.

0.1.4 (0.4)

  • Code optimization and refactoring. Creation of new js files for common methods, for mission-related methods, and for inside-station navigation methods.
  • Restarted from scratch (taking the old code piece for piece).
  • The F4 link shows a literal resume of the player. From this screen, the player can "disembark" from the ship and wander into the space station.
  • "Tubes Stop" locations allow player to move across five different levels. Every level has a theme and several inner locations. The levels are to be intended as concentric.
  • Events are not fired by player anymore. But moving into the station there is a 20% chance (not definitive) of firing a random event. They act like an intermission, basically.
  • Added random snippet (from a list of 20) of texts when at a Tube Stop.
  • Added all the events already implemented in 0.1.3 (beside the bar ones)
  • Added the bar events: the gossip option has been moved to the "talk with bartender one". Bartender doesn't give hints about contractors anymore.
  • It's possible to clean own criminal record at the Galcop termminal (in the Galcop precinct) paying a fine of (500cr x current bounty).
  • Added the Art Gallery and the art genre random generator.
  • Added the Opera House and the music genre random generator.
  • Added the Cinema Hall and the movie genre random generator.
  • If player is wounded or sick, randomly add short descriptive snippet of text while moving around the station.
  • Added a short single-row-status text to show on top of the locations screens.
  • Added two backgrounds for the "Tubes".
  • Changed "Tube Stop" to "Lift Station", and "Tubes" to "Lift". The direction is relative, it's not necessary an up-down transport.
  • The property background can contain more background file names separated by comma: the OXP will choose a random background between those specified.
  • Added some more backgrounds, I'm trying to add variety and get an "identity" for the various levels.
  • Added medical center location: here the player can cure wounds and sickness for a price. Price and amount of cure changes in relation to system tech level. The medical center can also rid of drunken status for free, but with a chance for a slight sickness.
  • Added health/sickness management, with the following rules being checked every time the player docks to a station:
 1) if sickness > 1, chance 10% of worsening (sickness +1);
 2) if sickness = 1, chance 10% of healing (sickness = 0);
 3) if health > 1, chance 10% of worsening (health + 1);
 4) if health = 1, chance 10% of healing (health = 0);
 5) if health > 2 and sickness < 2, chance 10% of infection (sickness +1);
 6) if health > 2 or sickness > 2, chance 10% of physical shape reduction
  • If player has health or sickness in critical conditions (>= 5), has a 50% of pass-out. In this case he will be automatically transported to the station Medical Center and cured (with system TL limitations). Player will receive a decrease in reputation (for careless behaviour) and the price of the operation will be automatically withdrawn from his account - if he has't enough money his bounty will be slightly increased (for debt insolvency).

0.1.3 (0.3)

  • implemented a time variable for events. It's now possible to define how much time will be spent when executing an event. Instead of creating a separate property, the variabile is set in the "end:x" command, where x is the time spent in seconds. So "end:600" means "terminate the event and go forward 10 minutes in time". Use "end:0" to avoid spending game-time;
  • As a general rule for numeric command parameters, two values comma-separated will be interpreted as a range, and a random number between the specified values will be extracted. This applies even to the time variable above;
  • Added a new resolution to the "elixir peddler" event, that use the time variable above;
  • implemented the constants $SPECIES_S$ (singular) and $SPECIES_P$ (plural), that set a random species if requested by the event text. The species value remain fixed until the end of the event;
  • implemented the constants $GENDERSUBJ$ (he/she), $GENDEROBJ$ (him/her), $GENDERPOSS$ (his/her). The random chosen gender remain fixed untile the end of the event. The gender-values are correlated to maintain coherence throughout the text;
  • fixed the text of all the events implemented until now;
  • added five "no-events";
  • added a new script file (LITF_RPGElements.js) to keep together the RPG-lite functions;
  • changed the F4 link in "Visit the station hub": it show a main screen with player current RPG-lite status (reputation, health, sickness, strength), the link to the random event and something more...;
  • added description for all the status variables;
  • added arrays of "minor" cargo types to be inserted in missions text: these aren't new cargo types, they will only be treated as random labels to differentiate the text depending on player reputation;
  • The link on the F4 page has been changed to "Visit the station hub" and if selected shows the "main screen";
  • The "main screen" displays the player status (a literal description for the LITF variables);
  • Added variables: reputation, health (wounds, bruises etc.), sickness, strength (physical shape);
  • Added variable: stance. Positive stance = the law; negative stance = the criminals. Similar to reputation, but to be considered more like "word on the street is";
  • Available choices for the "main screen";
    • "Take a walk to the Main Concourse". This fires a random event, as before;
  • The player won't find the locations (bar, fit center, church, med center) on every system. I wrote a basic rule to distribute their presence in the galaxy. The rule is mathematical and based on the system ID, so the final results are fixed - for now only the bar is enabled;
  • Re-edited the implemented events to use the variables in effects and requirements;
  • Added constant $LIQUORS$ (with an array of 20 liquor random names), $SYSTEM$ (get random system name), $COMMODITY$ (get random vanilla commodity name), $GOSSIP$ (get a random gossip), $NAME$ (for random NPC name), $MINORCARGO$ (for transport missions);
  • Added flag management (not mission flags), checks and manipulation;
  • Added command "time:x", if you don't want to end the events but only to spend time;
  • Implemented first version mission generation. It works in two steps. First step: an NPC (in this case, the bartender) tells the player that another NPC has a job available: I store data about the NPC name, the system where he is, the type of mission and a generous time limite to reach him. When the player docks to a station I check if it's the right station and if the NPC hasn't expired: if everything's good, when the player enter the main concourse I switch to an alternate event: meeting the NPC, that introduce the job (a cargo transport), with a destination, a time limit and a type of "minor cargo" (see above). If the player accepts, I use this data to generate a real mission.
  • Removed sickness effect when getting drunk, it's counter-productive. When I'll implement medical centers, player have the chance to pay to get sober. For now he can leave the station and dock to another station to rid of the drunkenness.
  • Modified the cargo mission management: I don't use specialCargo or awardContract, but the OXP do the checks and display the page for completing a contract (always from the Main Concourse). It's not definitive, but it seems to work.
  • Added events: CHARMING PARTNER, MUGGING, THE LOST DRUNKARD, MEDICAL CAMP

0.1.2 (0.2)

  • enabled the one-event-for-dock flag (it was disabled for showing various events without leaving a station).
  • changed the event management, I moved the events data from missionscript.plist to LITF_ActionsCatalog.js (renamed in LITF_EventsCatalog.js). In this way I can group everything related to an event in one object (text, requirements, choices and actions), and eventually I can make them more dynamic;
  • renamed property "check" (property-checks that allow the event to happens) in "requires";
  • added property "choiceRequires", contains pipe-concatenated string with checks for every event choice (see check property list) for selecting choices to display under particular circumstances; use "valid:1" for always display a choice, and "valid:0" to always hide it;
  • added events:
    • GENERIC: charity
    • GENERIC: alien discussion
  • implemented code for replace constants in event/choice text with a random element from a related array: actually used in the charity event, constant $CHARITY$.

0.1.1 (0.1)

  • events category list:
    • "generic" category
    • station allegiance (disabled)
    • system government (gov_0 - gov_7)
    • system tech level (ltech, htech), values 5-9 are converted to "generic"
    • system economy (ind, agri), values 3-4 are converted to "generic"
    • OXP choose a value from an array with the values [ generic, gov_x, tl_x, eco_x]
    • Maybe in the future I could add as new categories ranges for player rank or player bounty
  • specific background picture depending on event category: system government, tech level (low tech, high tech) and economy (industrial, agricultural). "Generic" events will show the related system government background;
  • event one-click for docking disabled for testing and showing OXP workings;
  • passing time for events temporarily disabled: to be reintroduced it as an event property;
  • event effects list:
    • mt_[name]:[value] add [value] to the player ship manifest good identified by [name].
    • bounty:[value] add [value] to the current player bounty.
    • fuel:[value] add [value] to the current player ship fuel amount.
    • credits[value] add [value] to the current player credits.
    • go:[label] fire the event identified by [label]
    • end:0 end the event
    • [value] can be positive or negative. There are checks to avoid negative results or values exceeding cargo space.
  • check property list:
    • mt[name]:[value] check for player ship manifest good identified by [name] >= [value]
    • mt<[name]:[value] check for player ship manifest good identified by [name] < [value]
    • fuel:[value] check for player ship fuel amount >= [value]
    • fuel<:[value] check for player ship fuel amount < [value]
    • bounty:[value] check for current player bounty >= [value]
    • bounty<:[value] check for current player bounty < [value]
    • credits:[value] check for current player credits >= [value]
    • credits<:[value] check for current player credits < [value]
  • added events:
    • GENERIC: beggar
    • GENERIC: weird password guy
    • GENERIC: fire
    • GENERIC: fire + gossip
    • GENERIC: shady seller
    • GENERIC: partygoers
    • GENERIC: running fugitive
    • GENERIC: thief
    • GENERIC: stranded crew (2 variants)

License

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License version 4.0.

If you are re-using any piece of this OXP, please let me know by sending an e-mail to norbylite at gmail.com.

Author: BeeTLe BeTHLeHeM

Life in the Frontier - Revival (BeeTLe BeTHLeHeM's second OXP)

Musings

  • These stations are massive (1km x 1km x 1km)! There should be many more facilities - restaurants, many more bars, more hotels, etc.
  • There should be different maps for different stations (Coriolis, Dodo, Ico etc) - see v.0.06 below.
  • Might one be able to sit in a bar and watch the planet and local ships move beneath on a screen or even through a window! And watch GNN on another screen!
  • Could be combined with the bar from Hints, with the bar and trade floor etc. in New Cargoes, the Embassy district in Diplomancy, the Guild of Elite Traders in Elite Trader OXZ, a "Lave First Finance Corp" office for First Finance OXP, the Black Market, bribeable station officials' offices and the dock master's office from Smugglers - The Galactic Underworld, GalCop security offices/kiosks for Bounty System and the storage facility for Equipment Storage OXP.

For Rock Hermits, the contracts desk could be added from the Mining Contracts OXP!

  • Since one can become meaningfully sick, a meaningful link with plague systems would be a nice addition (determined eg by GNN).
  • See the "contents" post for the LitF BB thread linked below for more of this sort of stuff

Download

  • Massively Locked's (& Cholmondely's) updates (experimental). Note that these are development versions and not recommended for regular play-throughs.
File:LitF+v0.06.oxz - ico, dodo & RH layouts, lots of work behind the facade, and now a realistic feel to the stations.
File:LitF+v0.05.oxz - adds fledgling ico layout (empty), second dodo layout (empty)
File:LitF+v0.04.oxz - adds fledgling dodo layout with a different bar, violence, more churches, more encounters, dotting of "i"s, crossing of "t"s
File:LitF+v0.03.oxz - adds fledgling rock hermit layout
File:LitF+v0.02.oxz - adds temples, govt section, RH bookshop
File:LitF+v0.01.oxz - more bookshops, names your ship

Links

BB Thread: Table of Contents
  • YouTube film (2018) - this now seems to link to a film of the second OXP, below.

Quick Facts

Levelindicator0.png
0-{{{2}}}
Version Released License Features Category Author(s) Feedback
0.7.3 2015.07.12 CC BY-NC-SA 4 Walk around in the station Activities OXPs BeeTLe BeTHLeHeM BB-Link