Hints OXZ (Development Thread)

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

Post Reply
User avatar
Cholmondely
Archivist
Archivist
Posts: 4977
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Hints OXZ (Development Thread)

Post by Cholmondely »

I've followed LittleBear's example and changed the thread title from "Education" to "Hints OXZ (Development Thread)"

This "Education OXZ" has become the Hints OXZ: see here for the [Release] thread: https://bb.oolite.space/viewtopic.php?f=4&t=21199



There are many areas of the game (both Vanilla and OXP'ed) which are a tad opaque. These are mostly cleared up in either the wiki or here on the boards if one spends the time to search diligently.

Would it not be super to provide some of this information in-game in an immersive way?

What if we altered some of the OXP's which feature bars (and the like) to allow the player to overhear a conversation between some veteran pilots discussing how best to manage cargo contracts, for example, or how to succeed in a dog-fight, or how to dock properly?

Admittedly, OXP's change much of this stuff, so one would probably need to alter the advice contextually depending on the oxp's running...

But how about something like this:
You are sitting at a table with your drink and you see a C-monkey sit down at the next table. He is drunk and speaks quite loudly, calling out to somebody on the far side of the bar.

John!

John! Come over here and join me!

Another C-monkey comes over and sits besides him.

John! Are you still having problems with cargo contracts? Here, let me tell you how to handle them...



Reference: Some oxp's with bars:
*Lave.oxp (restaurants)
*Orbital station bar (Life in the Frontier)
*HOopy Casino
*Darkside Moonshine Saloons
*Space Bar (Random Hits)

And bars could be added to Lave Academy, Feudal Lodges, Imperial AstroFactories & Constores...


Edited to add: GitHub repository is here
Last edited by Cholmondely on Fri May 13, 2022 8:30 am, edited 3 times in total.
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16055
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: Education

Post by Cody »

Tionisla Reporter makes use of an overheard conversation in a bar to teach the player how to force a misjump.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2862
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Re: Education

Post by LittleBear »

I think news broadcasts with GNN would be quite an immersive way of introducing these sort of things. Information about missions at special stations could be done with a news item reporting on the fact. Guidance on how to do cargo contracts could be given indirectly by the news reporting on the mis-fortunes of a commander who made a mess of it (sued, assassins sent after him or just a paid for content item by the disgruntled client as to how useless he is). GNN's OXZ does the donkey work, so a simple script like this will feed news items to it over time:

Under this.startupcomplete set up a news variable as 0 if not already defined. This gives you an easy way to check that each news item in your script is only given once. Under exiting.hyperspace increment a timer each time a jump is made so you can spread out the flavour news items so they don't pop up all at once.

Then you just need a test like this under exiting hyperspace:-

Code: Select all

// Send the 2nd (Rooters) Broadcast to GNN.- Is Sent as a Prioity 1 once 4 jumps have been made since Broadcast 1 was sent.
if (missionVariables.random_station_names_news === 2 &&  missionVariables.random_station_names_timer > 3) {
missionVariables.random_station_names_timer = 0;
var news = new Object;
news.ID = this.name;
news.Message = expandDescription("[random_station_names_2_news]");
news.Agency = 2;
news.Priority = 1;
this.passScreen(news,1); 
// The same method is used as above.
}
// Send the 3rd (Tionisla Chronicle) Broadcast to GNN.- Is Sent as a Prioity 1 once 6 jumps have been made since Broadcast 2 was sent.
if (missionVariables.random_station_names_news === 3 &&  missionVariables.random_station_names_timer > 5) {
missionVariables.random_station_names_timer = 0;
var news = new Object;
news.ID = this.name;
news.Message = expandDescription("[random_station_names_3_news]");
news.Agency = 4;
news.Priority = 1;
this.passScreen(news,1); 
// The same method is used as above.
}

And so on for however many news broadcasts you want to write.
Now copy and past in the function below to send the news items to GNN when the conditions are met:

Code: Select all

this.passScreen = function(news,mode)
{var a = worldScripts.GNN._insertNews(news);
if(!a){ if(mode) missionVariables.random_station_names_news++;  // If GNN conforms sucess, advance the News Counting variable to the next Broadcast.
return;
} else {if(a<0){ // If the buffer was full then the mission variable counting the News Broadcasts wasn't advanced. Once the player has made the required number of jumps Random Station names will check again.
return;
}}}
Thats all you need by way of a script.

In a descriptions file write the text for your news broadcasts. All you need is a:-

Code: Select all

"random_station_names_1_news" = "Type in your text!";
"random_station_names_2_news" = "Type in your text for the next one";

And so on for however many broadcasts you want to send.
 
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
Cholmondely
Archivist
Archivist
Posts: 4977
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Education

Post by Cholmondely »

Thanks!

That one too, then! A nice idea.

But I want to give a little to the life in the station, make it a little more realistic, less centred around just being inside one's ship even when docked and doing everything from there.

I'd ideally like to rejig Life in the Frontier and incorporate other stuff in it:
*more churches, more bars, restaurants,
*see the Station Traffic Control information posted on a screen while drinking at a bar, or sitting in a hotel lobby, etc.
*meeting Amnesty InterGalactic fanatics or Witchspace Lobster fanatics,
*actually make one's way to Phkb's Smuggler's stationmaster's office and speaking with him/her/it there,
*tie in Bounty System's GalCop Security Kiosk/Office with LitF's GalCop precinct,
etc.

But useful information overheard in the bar would give it a point.

Looking at Arqubus's "playing badly" video's - he visits the witchfire saloons, but hardly ever catches up on the newsflashes (which he presumes are e-mails). Now, many people/pilots will copy him (too much complexity - especially with 400 oxp's loaded - but it does at least simulate real life!). But for those who watch GNN, it would nice to give them a little nugget.

For example, it would be super to weave bits of this in elsewhere:
Combat Manoeuvers

The Barkanion Bounce: Barkanioth Sidereas, the Supreme Savant of the Lavean Academy's School of Strategic Studies, developed a method of swirling or looping combined with continual changes of velocity, thus making it almost impossible for the enemy to hit him as he was closing with them.
The Wrogers Writhe: Wrogers, the renowned reptilian Elite pilot from the antipodes of Riarribi, perfected the technique of performing a corkscrew approach towards the enemy using Witchfuel Injectors (thus ensuring that their laser blasts miss) until behind them, then spinning on a coin (at greatly reduced speed) and turning and strafing them. Initial missile fire could be easily ECM'd as they would be firing their missiles facing away from Wrogers, giving him more time to react.
Manfred's Manoeuver: The sun blinds your enemies in the same way that it blinds you. But if they are behind you (and you have a rear-mounted laser) ...
The Stellar Bake: If outnumbered, head for the sun (keeping the enemy close by). Enter the corona until your temperature hits the red line, then turn 180 degrees and engage your witch-fuel injectors. They will probably bake to death.
The Ahrumian Arrest: When you’re close to an enemy of comparable speed and both are circling around each other at high speed. The best way to break out of this is to slow down; the enemy will end up further away from you, and becomes easier to aim at (because his movements have a smaller arc distance from your perspective). Adalbert Ahrumias was an early Supreme Savant at the Lave Academy, a couple of generations ago.
Dybal's Defensive Barrel Roll: Commodore Dybal perfected an over-ride mechanism for his Astrogation Console allowing an attacked pilot to relax once the lasers start overheating and the shields are being depleted. To evade enemy lasers, roll & pitch simultaneously, which makes the ship spiral. Commodore Dybal's Barrel Roll equipment allows automatic performance of this manoeuver. Commander Hiran recommends installing Auto-ECM to enable automatic obliteration of inimical incoming missiles which might inhibit enjoyment of a gin & tonic/decent cup of broken Orange Pekoe tea.
Interstellar Barrel Roll: This is a hyperspace jump executed while barrel rolling. It forces a misjump that lets you end up in interstellar space. Only an option if meeting thargoids is better than facing your current threat.
Last edited by Cholmondely on Thu Jan 06, 2022 5:36 pm, edited 2 times in total.
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16055
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: Education

Post by Cody »

I presume the barrel-roll thingy is a fixed barrel roll? Done manually, it can be varied and thus more effective against highly-skilled pilots.

Beware too much automation! The auto-ecm is a good example: in a serious furball, involving let's say escorts, cops, bandits, and assassins, there can be a lot of missiles flying around, some of which may not be aimed at you. Every time you use the ecm, your energy banks take a hit. If it's being wasted on missiles aimed at your foes, you weaken your ship and save your enemies.

Then there's the auto-eject: you could find yourself being ejected just as the last bandit blows, and you would've survived.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2862
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Re: Education

Post by LittleBear »

Having a "Visit the Station Bar" on the F4 Screen might be a way to go for that. This script would let you give a randomly picked item each time. Although you might want to also add a timer so the messages change over time. You could also add tests for Government type, economy or station type so different items are overheard in different systems types and station types.

Set Up your F4 Screen Option Like this:-

Code: Select all

this.shipDockedWithStation = function(station) {
this.barinterface();
}
this.removebar = this.shipWillLaunchFromStation = function() {
player.ship.dockedStation.setInterface("bar_chatter",null);
}
Now Add your Visit the Bar Interface like this:-

Code: Select all

this.barinterface = function() {	
player.ship.dockedStation.setInterface("bar_chatter",{
title: "Visit the Station Bar",
category: "Activities",
summary: "Useful gossip can sometimes be overheard in the Bar",
callback: this.showBar.bind(this)});	
};

Now add this code so that when the Visit the Bar Option is selected Oolite will randomly pick one of the messages you have set up in descriptions.

Code: Select all

this.showBar = function() {
mission.runScreen({
title: "The Local Bar",
screenID:"show_bar",
var text = expandDescription("[my_list_of_gossip]");
message: text;
}
The code above is telling Oolite to randomly pick one of the messages you have set up in descriptions. So now set up your message list in descriptions like this:-

Code: Select all

	"my_list_of_gossip" =
	(
	"1",
	"2",
	"3",
	"4",
	"5",
	"6",
	"7",
);
You can have as many strings as you like, so instead of the numbers you'd put your messages here.

If you wanted to have different messages at different system types / stations etc then you could set the text variable based on them EG a test for if govenment = 0 var text = expandDescription("[my_list_of_anarchy_gossip]"); and have different lists in descriptions for different types of stations, govenments or whatever you want to test for.

To stop the player seeing all the messages just by continually going to the F4 screen interface, you could add a gossip_shown variable which you delete on jumping (or after a certain amount of time has passed on the ships clock), so that you get one randomly pick message which stays the same until the next jump / time interval has passed/
Last edited by LittleBear on Thu Jan 06, 2022 4:08 pm, edited 3 times in total.
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16055
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: Education

Post by Cody »

Beautiful!
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
Cholmondely
Archivist
Archivist
Posts: 4977
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Education

Post by Cholmondely »

LittleBear wrote: Thu Jan 06, 2022 4:01 pm
Having a "Visit the Station Bar" on the F4 Screen might be a way to go for that. This script would let you give a randomly picked item each time. Although you might want to also add a timer so the messages change over time. You could also add tests for Government type, economy or station type so different items are overheard in different systems types and station types.

+++
Thank you for this.

If I go for it, it might even be reasonably fast! Would it be easy to weave into an updated Life on the Frontier? I presume that I would not be incorporating it immediately.

The lines for BB's bar look like this (Lines 725-929 of the LITF_Navigation.js inside the LitF Scripts folder):

Code: Select all

/////////////////// SPECIAL LOCATION ///////////////////

this.bar0 = {
	text: "The place is full of pilots. You don't see free seats at the tables, so you decide to sit at the counter. Everyone is pretty chatty: you hear talks of all kinds, public or private, and the usual jokers who take the opportunity to have a nice drink with friends.",
	background: "litf_bg_localbar.png",
    r1: "flag_drinkChallenge=0",
	c1: "A group at a table repeat loud: 'CHALLENGE! CHALLENGE!' Maybe I could check?",
	a1: "goNav:bar1",
    r2: "flag_chatBartender=0",
	c2: "I could talk a bit with the bartender",
	a2: "goNav:bar2",
    r3: "flag_offerToCounter=0,credits>=150",
	c3: "I could offer a drink to everyone at the counter (should cost no more than 150cr)",
	a3: "goNav:bar3",
	c4: "Exit the Bar",
	a4: "time:300|goNav:area3_1"
};

this.bar0_1 = {
    text: "Suddenly, a brawny bouncer blocks you right at the entrance of the Bar. He's staring right into your eyes. 'We don't like cheaters or drunkard here, and you don't seem a cheater to me. Get lost', he says to you with a deep, serious voice.",
    c1: "I think I'll follow your advice",
    a1: "goNav:area3_1"
};

//

this.bar1 = {
	text: "You sit in front of a $SPECIES_S$ that explains to you the rules of the challenge. 'A liquor is chosen. I drink a glass. You drink a glass. Again. Until one crashes. The bet is 50cr. You're in?",
	background: "litf_bg_localbar.png",
    r1: "credits>=50",
	c1: "Yes, you can count me in",
	a1: "credits:-50|goNav:bar11",
	c2: "Not tonight, thanks",
	a2: "goNav:bar0"
};

this.bar11 = {
	text: "Today the liquor is the $LIQUOR$. 'First glass is mine'. The $SPECIES_S$ raise the glass and drink the content in one gulp.",
	background: "litf_bg_localbar.png",
	c1: "It's my turn",
	a1: "goNav:bar12"
};

this.bar12 = {
	text: "You raise your glass and drink. It burns, but you can stand it.",
	background: "litf_bg_localbar.png",
	c1: "It's your turn",
	a1: "goNav:bar111"
};

this.bar111 = {
	text: "'NEXT ROUND! You're not a newbie, I see!'\nThe $SPECIES_S$ raise the glass and drink the content in one gulp.",
	background: "litf_bg_localbar.png",
	c1: "It's my turn",
	a1: "goNav:bar112"
};

this.bar112 = {
	text: "You raise your glass and drink...",
	background: "litf_bg_localbar.png",
	c1: "It's your turn",
	a1: "goNav:bar1111"
};

this.bar1111 = {
	text: "'NEXT ROUND!'\nThe $SPECIES_S$ raise the glass and drink the content in one gulp.",
	background: "litf_bg_localbar.png",
	c1: "It's my turn...",
	a1: "goNav:bar1112,bar1112,bar1112,bar1112,bar1113,bar1113"
};

this.bar1112 = {
	text: "You raise your glass and drink...",
	background: "litf_bg_localbar.png",
	c1: "It's your turn!",
	a1: "goNav:bar1111,bar1111,bar1111,bar1111,bar1114,bar1114"
};

this.bar1113 = {
	text: "You focus on the glass... but now you see two glasses on the table. No, three glasses... dancing glasses. You move your hand but you can't take them, they always slip away. Then table becomes bigger and someone turn off the lights.\n\nYou awake in the street, outside the bar. Your rival pats you on the shoulder: 'You're not bad. But I won. Thanks for the money.'",
	c1: "...burp",
	a1: "flag_drinkChallenge:1|flag_getDrunk:1|time:3600|goNav:area3_1"
};

this.bar1114 = {
	text: "'NEXT ROUND!'\nThat said, the $SPECIES_S$ collapses on the table! You raise one arm for victory while the other pilots at the table applaud you. The bet is yours. Too bad you're drunk, after all, because you can not keep your balance. The owner goes with you to the exit and gently throw you out. 'You can go back when you learn how to walk alone!'. The door closes but you can hear the laughters from inside.",
	c1: "It's ok. I won!",
	a1: "flag_drinkChallenge:1|flag_getDrunk:1|credits:100|time:1800|goNav:area3_1"
};

//

this.bar2 = {
	text: "The $SPECIES_S$ bartender pours a glass of liquor, and you start chatting. After a bit, the bartender tells you: $GOSSIP$.",
	background: "litf_bg_localbar.png",
	c1: "Ok, I think it's enough for now",
	a1: "time:300|goNav:bar0"
};

//

this.bar3 = {
	text: "The customers at the counter rejoice and take their drinks. Many begin to sing. After everyone has been drinking his glass, another commander stands up and offers another round. And you have to start over!",
	background: "litf_bg_localbar.png",
	c1: "Let's go, another round!",
	a1: "credits:-50,-150|reputation:5|goNav:bar31",
	c2: "Ok, I'm out, I don't want to go too far...",
	a2: "flag_offerToCounter:0|time:600|goNav:bar0"
};

this.bar31 = {
	text: "You have just finished your glass, when another commander stands up and offer another round! Screams of joy and new songs! The party goes on!",
	background: "litf_bg_localbar.png",
	c1: "Let's go, another round!",
	a1: "reputation:3|goNav:bar311,bar313",
	c2: "Ok, I'm out, I don't want to go too far...",
	a2: "flag_offerToCounter:0|time:1200|goNav:bar0"
};

this.bar311 = {
	text: "And this glass is empty too! You try to say something when someone offers a new round! The glasses go around the counter, and you find one in your hands. This things could never end...",
	background: "litf_bg_localbar.png",
	c1: "Let's go, another round...",
	a1: "reputation:2|goNav:bar31,bar313",
	c2: "Ok, I'm out, I don't want to go too far...",
	a2: "flag_offerToCounter:0|time:2400|goNav:bar0"
};

this.bar313 = {
	text: "You say: 'Another round!', but there isn't another round. And there isn't the counter anymore. You open your eyes and you're on the street. The bar is closed since an hour at least. You decide to keep sitting in your place for a while, just to clear your mind.",
	c1: "Five minutes. Five minutes and then I go...",
	a1: "reputation:-15|flag_getDrunk:1|time:14400|goNav:area3_1"
};

////
Reference: Life in the Frontier post
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
Cholmondely
Archivist
Archivist
Posts: 4977
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Education

Post by Cholmondely »

LittleBear wrote: Thu Jan 06, 2022 4:01 pm
If you wanted to have different messages at different system types / stations etc then you could set the text variable based on them EG a test for if govenment = 0 var text = expandDescription("[my_list_of_anarchy_gossip]"); and have different lists in descriptions for different types of stations, govenments or whatever you want to test for.

To stop the player seeing all the messages just by continually going to the F4 screen interface, you could add a gossip_shown variable which you delete on jumping (or after a certain amount of time has passed on the ships clock), so that you get one randomly pick message which stays the same until the next jump / time interval has passed/
I'll worry about this if I can get it up and running first. I'd also like to eventually offer a choice of bars (cheap, cocktails, sports etc.)

But first.

Question: How do I allow the player to order a drink?

I'd like to offer a choice: beers, cocktails, lethal brandies, etc.
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2862
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Re: Education

Post by LittleBear »

Setting choices is needed for that. But it's fairly easy to do. If you want to be particularly cunning you can cross-ref to descriptions for some random descriptions of the drinks.

in mission text set up some choices like this:-

Code: Select all

"bar_names_menu1" = {
		"1_DRINK1" = "Order [bar_names_beers]";
		"2_DRINK2" = "Order [bar_names_spirits];
		"3_EXIT1" = "Close and Exit to the Dockside Services Interface";
	};
In descriptions, name your drinks like this. You can have as many types as you like (or can think of) as Oolite will randomly pick one from this list you have specified:-

Code: Select all

	"bar_names_beers" =
	(
	"an evil brew",
	"a pale ale",	
	);

	"bar_names_spirits" =
	(
	"a lethal brandy",
	"a dangerous water",	
	);
Now we need some script to offer the player the choice, like this:-

Code: Select all

mission.runScreen({
title: "The Local Bar",
screenID:"bar_gossip",
var text = expandDescription("[my_list_of_gossip]");
message: text;
exitScreen: "GUI_SCREEN_INTERFACES",
choicesKey: "bar_names_menu1"},
function (choice) {
if (choice === "1_DRINK1") {this.orderBeer();}
if (choice === "1_DRINK2") {this.orderSpirit();}
if (choice === "3_EXIT1") {this.exit();}}); 
That will show your message with the options at the bottom of the screen. Next we'd need to define the orderBeer, orderSpirits and exit functions so Oolite knows what to do when the player has placed their order.

If you have a look at the Almanac Code, you'll see quite a few examples of this sort of thing to copy. As I wrote it over such a long peroid, I put a lot of comments in it explaining what each bit of the code does (so I didn'r forget next time I had free time to write it!). But it should be helpful for someone else looking at the code. Best way to learn is by looking at another script that does something similar to the thing you want to do. I knew nothing about java scipt when I started writing the Almanac, but I knew as a player that other OXZs (particularly Spara's in-system distances and Thargoid's Planetary Compass) did things similar to what I wanted to do. So I had a look under the hood of those OXZs. ;-)

If you punch the above into a script, it will work but whatever you chose you'll be dumped to the F4 screen as we haven't yet set up the functions that are run when a choice is made.

Random Hits is probably also a good example to look at the Space Bar BB does a similar thing in putting together randomised messages from descriptions and offering a choice (look at the next job, offer services and look at the map(.
Last edited by LittleBear on Thu Jan 06, 2022 9:39 pm, edited 3 times in total.
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
Old Murgh
Wiki Wizard
Wiki Wizard
Posts: 639
Joined: Sat Dec 04, 2021 11:01 pm

Re: Education

Post by Old Murgh »

Fun ideas all around but
Cholmondely wrote: Thu Jan 06, 2022 7:51 pm
I'd like to offer a choice: beers, cocktails, lethal brandies, etc.
What? Has the Ooniverse become devoid of fine wine?
I was young, I was naïve. [EliteWiki] Jonny Cuba made me do it!
User avatar
Redspear
---- E L I T E ----
---- E L I T E ----
Posts: 2637
Joined: Thu Jun 20, 2013 10:22 pm

Re: Education

Post by Redspear »

Old Murgh wrote: Thu Jan 06, 2022 9:28 pm
Fun ideas all around but
Cholmondely wrote: Thu Jan 06, 2022 7:51 pm
I'd like to offer a choice: beers, cocktails, lethal brandies, etc.
What? Has the Ooniverse become devoid of fine wine?
See what happens when you try to make wines more desirable than furs? :P
User avatar
Old Murgh
Wiki Wizard
Wiki Wizard
Posts: 639
Joined: Sat Dec 04, 2021 11:01 pm

Re: Education

Post by Old Murgh »

Redspear wrote: Thu Jan 06, 2022 9:50 pm
See what happens when you try to make wines more desirable than furs? :P
:lol: Another painful reminder of the Veblen effect. No place is safe any more.
I was young, I was naïve. [EliteWiki] Jonny Cuba made me do it!
User avatar
Cholmondely
Archivist
Archivist
Posts: 4977
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Education

Post by Cholmondely »

Old Murgh wrote: Thu Jan 06, 2022 9:57 pm
Redspear wrote: Thu Jan 06, 2022 9:50 pm
See what happens when you try to make wines more desirable than furs? :P
:lol: Another painful reminder of the Veblen effect. No place is safe any more.
Wine? Does anybody still drink the stuff? I thought it went out of fashion 1,000 years ago! It's whine, nowadays. Little disembodied brainlets who whimper on about the ephemeral vicissitudes of existence in a crescendo of ever-increasing decibels! They grow them on shrubs in the agricultural systems, harvest them, bung them in tonne containers and then sell them to the industrials as a novelty. Best enjoyed with a brimming glass of liqueur.

Image
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
Old Murgh
Wiki Wizard
Wiki Wizard
Posts: 639
Joined: Sat Dec 04, 2021 11:01 pm

Re: Education

Post by Old Murgh »

Cholmondely wrote: Thu Jan 06, 2022 10:51 pm
Wine? Does anybody still drink the stuff? I thought it went out of fashion 1,000 years ago! It's whine, nowadays. Little disembodied brainlets who whimper on about the ephemeral vicissitudes of existence in a crescendo of ever-increasing decibels! They grow them on shrubs in the agricultural systems, harvest them, bung them in tonne containers and then sell them to the industrials as a novelty. Best enjoyed with a brimming glass of liquer.
I have a feeling we shan't frequent the same station bars. The art of elevating fermented grape juice to noble drink is nowhere near outdated, with the abundance of superb terroirs found spread across the galaxies. Wealthy hedonists pay ridiculous money for the best and rarest, a truth in any universe. There are luxuries and there are luxuries. I recommend Rexebian Richebourg or Gequrian Cannubi. If one's palate isn't selective, one can always stuff a tubed bladder pack of Anusan plonk to one's liquid dispenser to maintain one's merry mood.
I was young, I was naïve. [EliteWiki] Jonny Cuba made me do it!
Post Reply