Posted: Fri Jul 18, 2008 3:39 pm
Disembodied's advice is especially valuable if your shields are low when your opponent starts "looking a bit missiley"
For information and discussion about Oolite.
https://bb.oolite.space/
When discussing the level of cheatingosity of this approach, keep in mind that firing the ECM isn’t free – you need that energy for other stuff, like staying alive.Disembodied wrote:Good idea. I (after learning through bitter expereince) also use the tactic of a pre-emptive ECM burst if an incoming/overflying enemy looks like he's going to try squirting a missile at me close in. I don't do repeated bursts, though – just a quick blip if I think he's looking a bit missiley, because it's those up-close-and-personal buggers you've really got to watch for. I think it's a valid tactic, not cheating: but this way the tactic remains valid.another_commander wrote:Totally agree. Right now, ships will just fire a missile as soon as their energy has dropped enough. If the player is preemptively tapping ECM, then he can easily avoid problems, but that reduces the fun and challenge of combat.
I do think anybody would like to escort a vessel from say the witch-point to the station... unless there was a huge reward, you could take two factors into accountLittleBear wrote:A missile that tells the derelict ship's computers to power up and take it in on autopiolt could be done with the existing OXP commands fairly easily with a missile that sets the AI of the ship to a custom one that takes the ship into dock, but will not fight (ie the player would have to protect it on its way to the station - no J jumping off and leaving it!) and fly in with it. That'd be quite a nice balance in gameplay terms. You might get (say) 3,000C scrap vaule for an Annaconda, but if the special missile cost 500 (say) and you've had to escort the blighter in it only as much as a trade run and without using J jump or injectors you may well have had to fight a few more battles than you normally wold. The ship's docking would set a variable paying you the ship's value. Not sure though how to have different ships pay different savage amounts. Might be calculateable with the ships mass in Java, so big ships paid more than little ships.
Isn't that the truth. I've played with several "escort" type missions for the update to galactic navy and they were all incredibly boring or frustratingly tedious - read not fun.I do think anybody would like to escort a vessel from say the witch-point to the station...
Nice idea, I give it a thought. Currently I am working on a few new Dredger scripts. Sabre has one that is a little bigger than the current one and one that he calls a super-dredger. It must be at least 300.000 km away added. But that is a manageable distance and the dredger can also help bridging the gap. I'll play with it tomorrow to see if it is do-able.LittleBear wrote:EDIT : Or have the drone summon a dredger (say) 50 Km away, so its a short flight.
Code: Select all
this.shipCollided = function(ship)
{
if(ship.isShip && ship.scanClass == "CLASS_CARGO")
{
if(player.hasEquipment("EQ_SALVAGE_PILOT"))
{
player.removeEquipment("EQ_SALVAGE_PILOT")
system.legacy_addShipsAtPrecisely("dredger", 1, "abs", player.position.add(Vector.randomDirection().multiply(300000)))
ship.switchAI("dockingAI.plist")
}
}
}
Code: Select all
this.shipCollided = function(ship)
{
if(ship.isShip && ship.scanClass == "CLASS_CARGO" && ship.AI == "nullAI.plist")
{
if(player.hasEquipment("EQ_DREDGER_SALVAGE_PILOT"))
{
player.consoleMessage("Attaged salvage pilot to ships hull", 5)
player.removeEquipment("EQ_DREDGER_SALVAGE_PILOT")
if (Math.random() < 0.3) {player.consoleMessage("Can't do anything, damage is to bad", 5); return;}
if(ship.mass < 500000) // anaconda has 429553 , a sidewinder 26737
{
system.legacy_addShipsAtPrecisely("dredgers", 1, "abs", player.position.add(Vector.randomDirection().multiply(300000)))
let dredger = system.shipsWithPrimaryRole("dredgers")[0];
ship.target = dredger.ID; log(this.name, "Target ID = "+dredger.ID)
ship.switchAI("dredgersDockingAI.plist")
this.salvagedShip = ship
}
else player.consoleMessage("Salvage pilot can't controll this ship", 6)
}
}
}
Code: Select all
this.otherShipDocked = function(ship)
{
if(ship == worldScripts.deep_space_dredger.salvagedShip)
{
let payment = Math.round(ship.mass/1000)*10;
player.consoleMessage("Salvaged ship docked, dredger pays " + payment + " credits.", 10);
player.credits += payment
}
}
Code: Select all
GLOBAL = {
ENTER = ("setStateTo: GOTO_DREDGER");
EXIT = ();
UPDATE = ();
};
"GOTO_DREDGER" = {
ENTER = ("pauseAI: 10");
"DESIRED_RANGE_ACHIEVED" = (dockEscorts, setTargetToStation, "setSpeedTo: 0.0", requestDockingCoordinates, "setStateTo: AWAIT_COORDS");
"TARGET_FOUND" = (dockEscorts, setTargetToStation, "setSpeedTo: 0.0", requestDockingCoordinates, "setStateTo: AWAIT_COORDS");
EXIT = ();
UPDATE = (setDestinationWithinTarget, "setDesiredRangeTo: 15000", "setSpeedFactorTo: 1", performFlyToRangeFromDestination, "scanForNearestShipWithRole: dredgers", "pauseAI: 10");
};
No, to do it with a missile it nicer, but just bumping onto the target was easier scripting. The only problem I have with a missile is the "icon". I think it is not customisable and with a lot of several icons it gets confusing. (The newer dredgers package from Sabre also contains a drone that currently is used as a missile)I've been going at it the other way with a missile to take over control. As Griff's model looks rather nice, would you mind if I combined the two to make it a missile fired that takes control?
Code: Select all
<key>EQ_SALVAGE_MISSILE</key>
<array>
<integer>2</integer> <integer>2</integer>
<integer>2</integer> <integer>-2</integer>
<integer>-2</integer> <integer>-2</integer>
<integer>-2</integer> <integer>2</integer>
</array>
I think making a few and adding them in a small database for others to use would be cool.Stromboli wrote:Does someone need an icon?
Any idea on what it should look like? I think I can make it.