Lone_Wolf wrote: ↑Wed Jul 30, 2025 7:18 pm
Pilots should have options.
Escorting the adder should be one of them, perhaps use code from
Escort Contracts OXP ?
The astronaut stuff seems to require green status and possibly need a switch to EVA mode .
Depending on SW economy for the goods feels to restrictive .
How about a new missile-like item , Rescue Pod ?
Instead of explosives its payload would be remlock masks, water canteens and such .
It would be fired and targeted like a missile.
Sorry, Lone Wolf, moved the discussion here to try and keep it in a relevant thread.
I agree with you about pilot options. More options would also be nice, but I've enough difficulty coping with the options I thought of!
I had a trawl through all of our OXPs and could find nothing which seemed to work. Most OXPs seem to involve
you following a trader, while the others seem to involve escort fighters following
you.
I feel that something different is needed here.
1) I want to persuade a cowardly
Refugee Adder to follow me - that I will protect him. He has no way of knowing that I won't just capture him and sell all his refugees as slaves. How can I persuade him?
Ideally I could give him something as a present - fuel, food, et cetera. But how to game it? (Did you try out
Astronaut?)
He has no scoops (Actually some of them might - it would make sense in terms of refuelling in Stranger's World, less so if sunskimming - would that then be fatal in a RAdder without heat shielding? It's not in a 0.35LM Cobra Mk.3. RAdder Speed is 0.175LM - a Python is 0.2LM:
https://wiki.alioth.net/index.php/Slowe ... s_(Oolite))
2) For example, where the Refugee Adder follows you until a fight develops. At which stage you can fight off the McNasties, giving the RAdder a chance to flee for safety. It would be nice to be able to tell it where to safely flee to, but that would be too complex, I fear.
So a rough outline of possible interactions might be this:
One possibility:
- general conversation (already in OXP) to make acquaintance
- give RAdder something as above.
- offer to escort RAdder to main orbital station (this might involve persuading the GalCops to let him dock, or the station to let him dock)
- do it!
Alternative:
- meet RAdder under attack. Come to his help. (Is there still now a need to win his confidence?)
- offer to escort RAdder to main orbital station as above
Appendices:
This is DGill's script (altered from his Feudal States OXP suite):
Code: Select all
"use strict";
/*
feudalAItest.js
Script for creating and handling Feudal Carriers.
Oolite
Copyright © 2003-2012 Giles C Williams and contributors
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.
thargoid_carrier.oxp
Copyright © 2006-2012 "Selezen", scripting by "Commander McLane"
This work is licensed under the Creative Commons
Attribution-Noncommercial-Share Alike 3.0 Unported License.
To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter
to Creative Commons, 171 Second Street, Suite 300, San Francisco,
California, 94105, USA.
*/
this.name = "feudalAItest";
this.description = "Script for testing an AI";
this.author = "DG";
this.copyright = "© 2012 Selezen and Commander McLane";
this.license = "CC-by-nc-sa 3.0";
this.version = "1.0";
this.startUp = function () {
}
this.broadcastcontrol = function() {
var w = worldScripts.BroadcastCommsMFD;
w.$createMessage({
messageName:this.name + "myMessage1",
callbackFunction:this.$broadcastCallback.bind(this),
displayText:"Follow",
messageText:"Follow me, old boy!",
transmissionType:"broadcast",
deleteOnTransmit:false,
delayCallback:4});
w.$createMessage({
messageName:this.name + "myMessage2",
callbackFunction:this.$broadcastCallback1.bind(this),
displayText:"Dock with Station",
messageText:"Please dock with the Main Orbital Station.",
transmissionType:"broadcast",
deleteOnTransmit:false,
delayCallback:2});
}
this.$broadcastCallback = function () {
this.ship = player.ship.target;
this.ship.switchAI("BCCregroupAI.plist");
};
this.$broadcastCallback1 = function (){
this.ship = player.ship.target;
this.ship.switchAI("BCCdockAI.plist");
};
this.shipWillLaunchFromStation = function() {
this.broadcastcontrol();
}
this.shipLaunchedFromStation = function()
{
if(system.countShipsWithRole("feudal-LanceTest") == 0) {
system.addShipsToRoute("feudal-LanceTest", 1, 0.90);
}
player.commsMessage("press Shift N to activate Broadcast Comm - press ; to view multi-function display - Target ship - press B to select required command - press N to issue command.");
}
this.locatePlayer = function() {
this.playerArray = system.shipsWithPrimaryRole("player");
if(this.playerArray.length > 0)
{
this.ship.target = this.playerArray[0];
this.ship.reactToAIMessage("PLAYER_FOUND");
}
}
this.checkPlayerDistance = function() {
if(!player.ship)
{
return;
}
this.playerDistance = this.ship.position.distanceTo(player.ship.position);
if(this.playerDistance > 51200) // if the escort is more than 2 scanner ranges from the player, move it just off-scanner
{
let playerDirection = player.ship.position.subtract(this.ship.position).direction();
let newPosition = player.ship.position.subtract(playerDirection.multiply(30000));
if (oolite.compareVersion('1.73') <= 0)
{
this.ship.position = newPosition;
}
else
{
this.ship.setPosition(newPosition);
}
this.ship.reactToAIMessage("PLAYER_MID");
return;
}
if(this.playerDistance < 25600)
{
this.ship.reactToAIMessage("PLAYER_NEAR");
}
else
{
if(this.playerDistance > 38400 || player.ship.speed > 2000)
{
this.ship.reactToAIMessage("PLAYER_FAR");
}
else
{
this.ship.reactToAIMessage("PLAYER_MID");
}
}
}
I need to move it over into the RAdder OXP (which already
has an AI) - and do the work on BCC too.
Lots of fun for a non-programmer!
Sunskimming (from
https://wiki.alioth.net/index.php/Fuel_ ... oping_Fuel)
https://www.youtube.com/watch?v=ITefPraygXM - YouTube Film by Smivs
Note the external glow as the ship heats up! Smivs's Python is slower than Phkb's player Cobra Mk.3 (0.20lm versus 0.35lm), and he uses his injectors once he starts to refuel. Does he have heat shielding too?
I feel strongly that the Refugee Adder would go the way of all Trumbles if he tried it. Even if you argue that he would have heat shielding (Adders are designed to land on planet surfaces and in PlanetFall1 one needed heat shielding to land. But not PF2, if I understand properly.