Posted: Mon Dec 22, 2008 2:10 pm
Gotta love the cascade missile... It's gotten me out of many tough spots. Angry behemoth bearing down on you? They've got witchdrives too, they're vulnerable!
For information and discussion about Oolite.
https://bb.oolite.space/
Typos in your links.Ramirez wrote:Version 1.2 is available at the link below.
Try hereLestradae wrote:Missiles & Bombs 2.0 appears as 2.0, but the download link leads nowhere
In the rmb-chaff entry there is a like_ship you overlooked. Instead of[shipData.merge.failed]: ***** ERROR: one or more shipdata.plist entries have like_ship references that cannot be resolved: ("rmb-chaff")
Code: Select all
<key>like_ship</key>
<string>frag-particle</string>
Code: Select all
<key>like_ship</key>
<string>rmb-frag-particle</string>
Yes, chaff is working nicely. Apparently it never worked before as I did buy the dispenser without a free pylon, thus never receiving the first package at all. I thought the buyable packages would just be to reload the launcher, not to make the launchers functionality accessible. My mistake.Ramirez wrote:Thanks - I got a PM on that one yesterday so I've made the corrections and have re-uploaded v2.0. Hopefully it works OK now.
Code: Select all
[plist.parse.foundation.failed]: Failed to parse AddOns/Missiles and Bombs v2.0.oxp/AIs/missileAI.plist as a property list using Foundation. Retrying using homebrew parser. WARNING: the homebrew parser is deprecated and will be removed in a future version of Oolite.
Parse failed at line 1 (char 16) - extra data after parsed string
[plist.homebrew.parseError]: Property list isn't in XML format, homebrew parser can't help you.
Screet wrote:After updating, I did get that strange error message again, which you could not reproduce. Is anyone else seeing this upon cache rebuild?
Code: Select all
if
(missionVariables.rmb_chaff_count == 0)
player.consoleMessage(expandDescription("Chaff exhausted."), 6)
missionVariables.rmb_chaff_loaded = "NO"
Code: Select all
if
(missionVariables.rmb_chaff_count == 0)
{
player.consoleMessage(expandDescription("Chaff exhausted."), 6)
missionVariables.rmb_chaff_loaded = "NO"
}
This message was produced by an extra '}' (I think) in an older version of Missiles and Bombs. The bug is however no longer present in version 2.0.Screet wrote:After updating, I did get that strange error message again, which you could not reproduce. Is anyone else seeing this upon cache rebuild?
Looking at the file, I fail to understand what's causing this message. The missiles I've tried so far do work.Code: Select all
[plist.parse.foundation.failed]: Failed to parse AddOns/Missiles and Bombs v2.0.oxp/AIs/missileAI.plist as a property list using Foundation. Retrying using homebrew parser. WARNING: the homebrew parser is deprecated and will be removed in a future version of Oolite. Parse failed at line 1 (char 16) - extra data after parsed string [plist.homebrew.parseError]: Property list isn't in XML format, homebrew parser can't help you.
That's what I checked first, it wasn't the problem. I had the same bug with the previous version and accidentally created a VS-copy then when I tried to replace the spaces with new ones, thinking that this might have been it, but it wasn't the cause either.Commander McLane wrote:Probably another manifestation of your Vista Virtual Store problem?
A more foolproof method would be with a ship script. I didn't want to suggest that in the past because you were not using them. But I see you now started with JS and could use it with your chaff. Instead of changing the AI, you could let the shafflauncher scan for all missiles in an area of 25600 meters that have the shaffs mother as target. If found, use a random function to decide if you change targets to the chaff. The missile is in performIntercept and just will use this new target to head to.Ramirez wrote:On the missile AI, is there a better way of going about this than overwriting files? It seemed like a quick and easy solution at the time but I know it can create clashes - I think Thargoid's missile rack OXP uses copies of the originals as well.
Code: Select all
var chaff = this.ship.spawn("rmb-chaff", 30)
function isHostileMissile(entity)
{
return (entity.isShip && entity.scanClass == "CLASS_MISSILE" && entity.target && entity.target == this.ship.owner);
}
var missiles = system.filteredEntities(this, isHostileMissile, this.ship, 25600)
for(var i=0; i<missiles.length; i++)
{
if(Math.random() < 0.9) missiles[i].target = chaff[i];
}