[Split] Convoys OXP

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

Moderators: winston, another_commander

User avatar
Norby
---- E L I T E ----
---- E L I T E ----
Posts: 2577
Joined: Mon May 20, 2013 9:53 pm
Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
Contact:

Re: [Split] Convoys OXP

Post by Norby »

cbr wrote: Thu Aug 10, 2017 1:05 pm
Image
Nice shot! :)

cbr wrote: Thu Aug 10, 2017 1:05 pm
One ship is the leader ( boa for example ) other boa's allthough freighters are defined as escorts?
Other freighters in the convoys cannot have escorts of their own ( as they are escorts themselves )
Yes.

cbr wrote: Thu Aug 10, 2017 1:05 pm
what is the difference in defining these for convoys.oxz and freighterconvoys.oxz
The second is in the ambience category so should not add offenders nor Vipers.
If you send me your creations then I can add into the packages for more variety.
User avatar
cbr
---- E L I T E ----
---- E L I T E ----
Posts: 1422
Joined: Thu Aug 27, 2015 4:24 pm

Re: [Split] Convoys OXP

Post by cbr »

Encounter with a gold convoy 8 boa's and minimal 3 fer de lance escorts
Image

I met this anaconda convoy with oogle transporter escorts, in retrospect meeting this convoy
in space ( at least 5 anaconda's ) it is quite big enough :D


Image

When defining convoys will/would it be a problem when using specific ships from several oxp,
like the oogle transporter or some of the smiv classic ships?
User avatar
Norby
---- E L I T E ----
---- E L I T E ----
Posts: 2577
Joined: Mon May 20, 2013 9:53 pm
Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
Contact:

Re: [Split] Convoys OXP

Post by Norby »

cbr wrote: Wed Aug 16, 2017 5:05 pm
When defining convoys will/would it be a problem when using specific ships from several oxp, like the oogle transporter or some of the smiv classic ships?
In the current plist form this is not easy. If a needed ship pack is not installed then throw errors into the log. If I put them into requirements then others will complain about why pull in many ships what they do not want. Moreover I will not make dozens of convoys oxps, one for each ship oxps.

A solution what I can imagine is creating convoys in js: process all available ships and guess which is a freighter and which is an escort, then handle all exceptions across about 500 ships. If somebody take this job then I will add into.
User avatar
cbr
---- E L I T E ----
---- E L I T E ----
Posts: 1422
Joined: Thu Aug 27, 2015 4:24 pm

Re: [Split] Convoys OXP

Post by cbr »

So i figure inside a plist it is not possible to check if an oxp is installed?
If I put them into requirements then others will complain about why pull in many ships what they do not want.
Yep and I bet every ooliter has a different shipyard...

It is sensible to set it up in the universal way you did and
is another nice oxp and at least this one doesn't cost me any credits :)

Thanks Norby
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Re: [Split] Convoys OXP

Post by another_commander »

cbr wrote: Wed Aug 16, 2017 7:12 pm
So i figure inside a plist it is not possible to check if an oxp is installed?
No, it is not possible inside a plist, but it is possible in a script. You can use the oolite.resourcePaths object, which returns an array of all installed OXP paths.
User avatar
cbr
---- E L I T E ----
---- E L I T E ----
Posts: 1422
Joined: Thu Aug 27, 2015 4:24 pm

Re: [Split] Convoys OXP

Post by cbr »

So i deduct a plist is 'just' a list which is read at the starting of oolite,
for this oxp it reads several like-ship's with listed escorts.

Within a script and using the oolitee.resourcePaths one can check the existence of an oxp and with that
one 'knows' the available ships then inside the script something like
if "oolite.oxp.smivs.Clippers.oxz" then "boa_clipper_convoys" = ... etc etc
repeat for other oxp you would want to use

if js were basic i could do it :wink:

I will focus first on some convoy variants
User avatar
cbr
---- E L I T E ----
---- E L I T E ----
Posts: 1422
Joined: Thu Aug 27, 2015 4:24 pm

Re: [Split] Convoys OXP

Post by cbr »

When viewed on a station the new respray of these (white) python are called python's (...)
but when called in the convoys.oxp --> [python] they aren't selected.
What i am trying to get viewed is bunch of python randomly(?) selected from the pool of available ones

I can do select them when using their unique name [gsagostinho...]
they do look rather nice in formation :)

Image
User avatar
cbr
---- E L I T E ----
---- E L I T E ----
Posts: 1422
Joined: Thu Aug 27, 2015 4:24 pm

Re: [Split] Convoys OXP

Post by cbr »

Is it confirmed escort formations also work for these convoys?

I seem to only encounter these/those v shaped formations

Image

This is what i would call a high profile convoy.
User avatar
Norby
---- E L I T E ----
---- E L I T E ----
Posts: 2577
Joined: Mon May 20, 2013 9:53 pm
Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
Contact:

Re: [Split] Convoys OXP

Post by Norby »

cbr wrote: Sat Aug 19, 2017 8:09 pm
Is it confirmed escort formations also work for these convoys?
Escort Formations contains 19 different alignments but not all of them is designed for more than 4 escorts. Moreover traders mainly get defensive formations, so usually you will see one of these: "octahedron","pyramid","vform","convoy","bulge".
User avatar
cbr
---- E L I T E ----
---- E L I T E ----
Posts: 1422
Joined: Thu Aug 27, 2015 4:24 pm

Re: [Split] Convoys OXP

Post by cbr »

By directly pushing inside convoys.js

Code: Select all

// timer to allow escorts to be set up too
	if (Math.random() < offensiveChance) {
		ship.script.$efr_timer = new Timer(ship,function() {
                    worldScripts["Escort Formations Randomiser"].$setupEscortFormation(ship,"pyramid"); },0.25);
	} else {
		ship.script.$efr_timer = new Timer(ship,function() { 
                    
                    worldScripts["Escort Formations Randomiser"].$setupEscortFormation(ship,"pyramid"); },0.25);
I was able to see an other formation :)
User avatar
cbr
---- E L I T E ----
---- E L I T E ----
Posts: 1422
Joined: Thu Aug 27, 2015 4:24 pm

Re: [Split] Convoys OXP

Post by cbr »

All the escorts in a convoy get the escort-ai which isnt very handy when it consist of several anaconda's and it get's attacked,
is it possible to specifically adhere an ai to an escort that just keeps following the convoy leader or better with a chance to stay in formation or attack?
User avatar
Norby
---- E L I T E ----
---- E L I T E ----
Posts: 2577
Joined: Mon May 20, 2013 9:53 pm
Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
Contact:

Re: [Split] Convoys OXP

Post by Norby »

You can add your AI within the shipdata.plist under convoys-escort-anaconda and similar ship keys, in a new line:

Code: Select all

ai_type="yourAI.plist";
Just I think these should return fire also so I do not see the problem with the current escortAI.
User avatar
cbr
---- E L I T E ----
---- E L I T E ----
Posts: 1422
Joined: Thu Aug 27, 2015 4:24 pm

Re: [Split] Convoys OXP

Post by cbr »

So you can have an other AI but it is affecting the whole group rather than selected individuals?

You can also call it odd that in a reed alert all the escorts are leaving the leader on his or her own
User avatar
Norby
---- E L I T E ----
---- E L I T E ----
Posts: 2577
Joined: Mon May 20, 2013 9:53 pm
Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
Contact:

Re: [Split] Convoys OXP

Post by Norby »

My suggestion above is a way to change the AI of non-leader Anacondas in convoys. If you also replace the AI of convoys-escort-boa, convoys-escort-boa-mk2 and convoys-escort-python then all freighters in convoys will react differently than other smaller escorts.
User avatar
cbr
---- E L I T E ----
---- E L I T E ----
Posts: 1422
Joined: Thu Aug 27, 2015 4:24 pm

Re: [Split] Convoys OXP

Post by cbr »

Code: Select all

{
"gsa" = {	
like_ship = "gsagostinho_python_white-NPC";
ai_type="oolite-traderAI.js"; 
// auto_ai = no;
};
"convoys-anaconda" =
	{
		like_ship = "anaconda";
        	escort_roles = (
		{ role = "[gsa]"; min = 2; max = 6; }         
		);
		name = "anaconda Leader";
		roles = "trader(1.5) convoys(1)";
	};
}
Piece of example plist, unfortunately the escortAI remains dominant with or without the auto_ai
Post Reply