Fractal Softworks Forum

Starsector => Mods => Topic started by: Talkie Toaster on December 29, 2013, 07:43:47 AM

Title: [0.6.2a] Bounty Hunts 1.11
Post by: Talkie Toaster on December 29, 2013, 07:43:47 AM
Bounty Hunts
Download 1.11 for Starsector 0.6.2a (https://www.mediafire.com/?08s219bvhrcr681)

Looking for a safer way to make money early game? A reason to use the shiny new hyperspace system?

Visit the Bounty Hunter station in the new Opportunity system to pick up bounties on hardened criminals, find traders to escort or trawl the bars for rumours to investigate- all randomly-generated in different locations and systems. Make money, make XP, explore the sector!

Three difficulties of bounty are available:
A few days after selecting a bounty, competition will kick off- fellow hunters will head after your target. Just individuals at first, but if they fail bigger posses will come, clearing out any bounties you might not be able to take yourself.

In addition, there's Most Wanted bounties: Preset unique fleets with skilled captains, and guaranteed captures. These can't be defeated by anyone but you. Most Wanted bounties are very easy to add, using a .wanted files structured as:
Spoiler
Code: java
{
#A NOTE: ALWAYS END EACH LINE IN A COMMA. Apart from comment lines, like this one, that start with #.
#These first few entries are NOT OPTIONAL
"wantedId" : "bounty_buffalo",
"title" : "Buffalo Hunt",
"reward" : "15000",
#Fleet name is optional; if not provided, the mod will use the captain's name.
"fleetName" : "Buffalo Herd",
#Difficulty is optional.
"difficulty" : "Regular",
#Captain is optional
"captain" : {
#All entries here are optional; the mod will generate its own details if left blank.
"first" : "John",
"last" : "Hicks",
"rank" : "Cowboy",
"gender" : "M",
"portrait" : "graphics/portraits/portrait17.png",
#Aptitudes are optional. Aptitude Ids can be found in data/characters/skills.
"aptitudes" : {
"combat" : "5",
},
#Skills are optional. Skill Ids can be found in data/characters/skills.
"skills" : {
"missile_specialization" : "10",
"construction" : "10",
},
},
#You can specify a token (station/planet) within a system
#Or just use 'system' & 'location' and it'll pick a random token in that system
#Or not include 'location', and it'll pick a random token in a random system
"location" : {
"system" : "Opportunity",
"token" : "Opportunity Minor",
},
#The description is shown when the player views the wanted poster. To include line breaks in it, use \n.
"description" : "Hicks is one of the meanest, dirtiest, lowest-budget pirates in the sector and he's wrangling up a herd of Buffalo at Opportunity Minor. There's a 15000 credit reward for the first captain to bring him to justice.",
#The congratulation is shown when the player kills the bounty. To include line breaks in it, use \n. Optional.
"congratulation" : "Hicks won't be troubling the fine people of the sector any longer- the 15000 reward is yours.",
#This is the list of ships in the target's fleet. THERE MUST BE AT LEAST ONE.
"fleetShips" : [
#Each new ship should be enclosed in { DETAILS },
{
#MUST contain either variantId (for ship) OR wingId (for fighter wing)
"variantId" : "buffalo2_FS",
#This is the name the ship will be given. Optional.
"name" : "Bill",
#Crew rating is also optional, can be "ELITE"/"VETERAN"/"GREEN"/"REGULAR".
#If not given, the ship will have "REGULAR" crew.
"crewRating" : "ELITE",
#Whether or not the ship will be automatically salvaged after the battle. Optional. Defaults to "FALSE".
"salvage" : "TRUE",
},
{ "variantId" : "buffalo2_FS",
"name" : "Kid",
"crewRating" : "GREEN",
},
{ "variantId" : "buffalo2_FS" },
{ "variantId" : "buffalo2_FS" },
{ "variantId" : "buffalo2_FS" },
],
}
[close]
And a CSV file to register them through. It means you can easily add custom fleet setups that you might like to challenge, or give players access to new ships you've made by having them be bounties with guaranteed captures- Helmut's currently working on adding his ship variants in this way. The default mod comes with 5 Most Wanted bounties, ranging from fairly easy to an Elite Onslaught with all stats & skills maxed out.

Three difficulties of escort are available:
Your clients won't set out until you arrive- but if you leave them waiting too long, they'll give up.

Currently, the only rumours available are of rogue asteroids/comets on collision courses with planets and stations. These aren't just straight-up battles, and you'll need to:
If you're too slow to find the asteroid after you start investigating it, it will hit something- and if that's a station, supplies, fuel and hapless crewmen will perish.

Images:
New locations: Shattered Haven & Haven's Gate Station
(http://i.imgur.com/hjlCQvgs.png) (http://i.imgur.com/hjlCQvg.png)(http://i.imgur.com/2H1ezHis.png) (http://i.imgur.com/2H1ezHi.png)
Selecting missions
(http://i.imgur.com/tNKt0SYs.png) (http://i.imgur.com/tNKt0SY.png)(http://i.imgur.com/KlWQEhws.png) (http://i.imgur.com/KlWQEhw.png)(http://i.imgur.com/ghqUuKFs.png) (http://i.imgur.com/ghqUuKF.png)

Bounties, collection, most wanted posters & fleets
(http://i.imgur.com/F1Y7ZqAs.png) (http://i.imgur.com/F1Y7ZqA.png)(http://i.imgur.com/GzpLxiys.png) (http://i.imgur.com/GzpLxiy.png)(http://i.imgur.com/z2nc1zss.png) (http://i.imgur.com/z2nc1zs.png)(http://i.imgur.com/02zZcG8s.png) (http://i.imgur.com/02zZcG8.png)
If another fleet kills a regular bounty, they collect the reward- which you can potentially pick up off of them. Most wanted bounties, however, always win fights against NPCs.

Rogue asteroids & irate miners
(http://i.imgur.com/d0dujjWs.png) (http://i.imgur.com/d0dujjW.png)(http://i.imgur.com/xhFh7wEs.png) (http://i.imgur.com/xhFh7wE.png)(http://i.imgur.com/dM5ehnUs.png) (http://i.imgur.com/dM5ehnU.png)

AFAIK this should be compatible with everything.

Changelog:
1.00 - Release
1.01 - Fixed a crash bug when running in report mode, tweaked some dialog
1.10 - Added escorts, rumours & most wanted
1.11 - Fixed salvage bug, fixed bug on killing Hunter fleets

Plans:
More rumours- of derelict ships, hidden caches and lost systems to investigate?
A market that generates orders for weapons/hulls for you to fill?

Credits:
Thanks to Alex & Zaphide for their invaluable scripting help!
Thanks to Psiyon for his asteroid sprites (I tinted them for use as comets).
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: HELMUT on December 29, 2013, 07:58:36 AM
So - F*cking - Awesome!

Downloading now, can't wait to ornate my ship with my victims's heads.
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: FasterThanSleepyfish on December 29, 2013, 09:07:19 AM
This is great!

Much cool
Very space
So roleplay

DLing now!
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: MrDavidoff on December 29, 2013, 09:14:45 AM
Omg, thank you so much for making this!   :)
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: Uomoz on December 29, 2013, 09:17:26 AM
Wow!
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: ValkyriaL on December 29, 2013, 09:20:25 AM
This mod is gonna get big...fast...
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: NanoMatter on December 29, 2013, 10:56:33 AM
First Bug/Human Error?

Spoiler
76297 [Thread-6] ERROR com.fs.starfarer.combat.D  - java.lang.RuntimeException: Error compiling [data.scripts.BountyModPlugin]
java.lang.RuntimeException: Error compiling [data.scripts.BountyModPlugin]
   at com.fs.starfarer.loading.scripts.ScriptStore$1.run(Unknown Source)
   at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: Compiling unit "data/scripts/plugin/BountyFleetInteractionDialogPlugin.java"
   at org.codehaus.janino.JavaSourceClassLoader.generateBytecodes(JavaSourceClassLoader.java:212)
   at org.codehaus.janino.JavaSourceClassLoader.findClass(JavaSourceClassLoader.java:164)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
   ... 2 more
Caused by: org.codehaus.commons.compiler.CompileException: File data/scripts/plugin/BountyFleetInteractionDialogPlugin.java, Line 633, Column 80: A method named "setFlagship" is not declared in any enclosing class nor any supertype, nor through a static import
   at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:9403)
   at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:6829)
   at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3553)
   at org.codehaus.janino.UnitCompiler.access$63(UnitCompiler.java:3552)
   at org.codehaus.janino.UnitCompiler$11.visitMethodInvocation(UnitCompiler.java:2967)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2993)
   at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4017)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2413)
   at org.codehaus.janino.UnitCompiler.access$38(UnitCompiler.java:2412)
   at org.codehaus.janino.UnitCompiler$8.visitMethodInvocation(UnitCompiler.java:2381)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2407)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1426)
   at org.codehaus.janino.UnitCompiler.access$8(UnitCompiler.java:1425)
   at org.codehaus.janino.UnitCompiler$5.visitExpressionStatement(UnitCompiler.java:926)
   at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:1447)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:958)
   at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java:955)
   at org.codehaus.janino.UnitCompiler$5.visitBlock(UnitCompiler.java:925)
   at org.codehaus.janino.Java$Block.accept(Java.java:1386)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1550)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2083)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:851)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:832)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:528)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:691)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:652)
   at org.codehaus.janino.UnitCompiler$3.visitAnonymousClassDeclaration(UnitCompiler.java:374)
   at org.codehaus.janino.Java$AnonymousClassDeclaration.accept(Java.java:553)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:383)
   at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3885)
   at org.codehaus.janino.UnitCompiler.access$66(UnitCompiler.java:3806)
   at org.codehaus.janino.UnitCompiler$11.visitNewAnonymousClassInstance(UnitCompiler.java:2975)
   at org.codehaus.janino.Java$NewAnonymousClassInstance.accept(Java.java:2947)
   at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2993)
   at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4017)
   at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3629)
   at org.codehaus.janino.UnitCompiler.access$63(UnitCompiler.java:3552)
   at org.codehaus.janino.UnitCompiler$11.visitMethodInvocation(UnitCompiler.java:2967)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2993)
   at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4017)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2413)
   at org.codehaus.janino.UnitCompiler.access$38(UnitCompiler.java:2412)
   at org.codehaus.janino.UnitCompiler$8.visitMethodInvocation(UnitCompiler.java:2381)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2407)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1426)
   at org.codehaus.janino.UnitCompiler.access$8(UnitCompiler.java:1425)
   at org.codehaus.janino.UnitCompiler$5.visitExpressionStatement(UnitCompiler.java:926)
   at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:1447)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:958)
   at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java:955)
   at org.codehaus.janino.UnitCompiler$5.visitBlock(UnitCompiler.java:925)
   at org.codehaus.janino.Java$Block.accept(Java.java:1386)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1550)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:958)
   at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java:955)
   at org.codehaus.janino.UnitCompiler$5.visitBlock(UnitCompiler.java:925)
   at org.codehaus.janino.Java$Block.accept(Java.java:1386)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1539)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1560)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1560)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2083)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:851)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:832)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:528)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:421)
   at org.codehaus.janino.UnitCompiler$3.visitPackageMemberClassDeclaration(UnitCompiler.java:376)
   at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:765)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:383)
   at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:352)
   at org.codehaus.janino.JavaSourceClassLoader.generateBytecodes(JavaSourceClassLoader.java:210)
   ... 5 more
[close]
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: xenoargh on December 29, 2013, 11:03:26 AM
1.  This is awesome.  Is the source available, and can we integrate it into other mods?

2.  If yes (and yes) how generic is it?  Can it build the bounties from any ol' collection of Faction data?

3.  I saw a bug; in that shot of the Dialog, it offered a choice for a Regular Bounty, but no description of the Regular Bounty target, indicating there wasn't one generated.  Probably needs a logic check in whatever refreshes the dialog options.
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: Sundog on December 29, 2013, 11:26:20 AM
So much win. Thank you  :D
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: Talkie Toaster on December 29, 2013, 11:44:40 AM
Glad people like the idea! (Hope the execution holds up under playtesting...)

This mod is gonna get big...fast...
Fast on a geological timescale, maybe.

First Bug/Human Error?

Spoiler
76297 [Thread-6] ERROR com.fs.starfarer.combat.D  - java.lang.RuntimeException: Error compiling [data.scripts.BountyModPlugin]
java.lang.RuntimeException: Error compiling [data.scripts.BountyModPlugin]
   at com.fs.starfarer.loading.scripts.ScriptStore$1.run(Unknown Source)
   at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: Compiling unit "data/scripts/plugin/BountyFleetInteractionDialogPlugin.java"
   at org.codehaus.janino.JavaSourceClassLoader.generateBytecodes(JavaSourceClassLoader.java:212)
   at org.codehaus.janino.JavaSourceClassLoader.findClass(JavaSourceClassLoader.java:164)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
   ... 2 more
Caused by: org.codehaus.commons.compiler.CompileException: File data/scripts/plugin/BountyFleetInteractionDialogPlugin.java, Line 633, Column 80: A method named "setFlagship" is not declared in any enclosing class nor any supertype, nor through a static import
   at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:9403)
   at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:6829)
   at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3553)
   at org.codehaus.janino.UnitCompiler.access$63(UnitCompiler.java:3552)
   at org.codehaus.janino.UnitCompiler$11.visitMethodInvocation(UnitCompiler.java:2967)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2993)
   at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4017)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2413)
   at org.codehaus.janino.UnitCompiler.access$38(UnitCompiler.java:2412)
   at org.codehaus.janino.UnitCompiler$8.visitMethodInvocation(UnitCompiler.java:2381)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2407)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1426)
   at org.codehaus.janino.UnitCompiler.access$8(UnitCompiler.java:1425)
   at org.codehaus.janino.UnitCompiler$5.visitExpressionStatement(UnitCompiler.java:926)
   at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:1447)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:958)
   at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java:955)
   at org.codehaus.janino.UnitCompiler$5.visitBlock(UnitCompiler.java:925)
   at org.codehaus.janino.Java$Block.accept(Java.java:1386)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1550)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2083)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:851)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:832)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:528)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:691)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:652)
   at org.codehaus.janino.UnitCompiler$3.visitAnonymousClassDeclaration(UnitCompiler.java:374)
   at org.codehaus.janino.Java$AnonymousClassDeclaration.accept(Java.java:553)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:383)
   at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3885)
   at org.codehaus.janino.UnitCompiler.access$66(UnitCompiler.java:3806)
   at org.codehaus.janino.UnitCompiler$11.visitNewAnonymousClassInstance(UnitCompiler.java:2975)
   at org.codehaus.janino.Java$NewAnonymousClassInstance.accept(Java.java:2947)
   at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2993)
   at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4017)
   at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3629)
   at org.codehaus.janino.UnitCompiler.access$63(UnitCompiler.java:3552)
   at org.codehaus.janino.UnitCompiler$11.visitMethodInvocation(UnitCompiler.java:2967)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2993)
   at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4017)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2413)
   at org.codehaus.janino.UnitCompiler.access$38(UnitCompiler.java:2412)
   at org.codehaus.janino.UnitCompiler$8.visitMethodInvocation(UnitCompiler.java:2381)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2407)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1426)
   at org.codehaus.janino.UnitCompiler.access$8(UnitCompiler.java:1425)
   at org.codehaus.janino.UnitCompiler$5.visitExpressionStatement(UnitCompiler.java:926)
   at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:1447)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:958)
   at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java:955)
   at org.codehaus.janino.UnitCompiler$5.visitBlock(UnitCompiler.java:925)
   at org.codehaus.janino.Java$Block.accept(Java.java:1386)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1550)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:958)
   at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java:955)
   at org.codehaus.janino.UnitCompiler$5.visitBlock(UnitCompiler.java:925)
   at org.codehaus.janino.Java$Block.accept(Java.java:1386)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1539)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1560)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1560)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2083)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:851)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:832)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:528)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:421)
   at org.codehaus.janino.UnitCompiler$3.visitPackageMemberClassDeclaration(UnitCompiler.java:376)
   at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:765)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:383)
   at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:352)
   at org.codehaus.janino.JavaSourceClassLoader.generateBytecodes(JavaSourceClassLoader.java:210)
   ... 5 more

[close]
Well, that's odd. setFlagship is definitely a thing- are you sure you're running 0.6.1?

1.  This is awesome.  Is the source available, and can we integrate it into other mods?

2.  If yes (and yes) how generic is it?  Can it build the bounties from any ol' collection of Faction data?

3.  I saw a bug; in that shot of the Dialog, it offered a choice for a Regular Bounty, but no description of the Regular Bounty target, indicating there wasn't one generated.  Probably needs a logic check in whatever refreshes the dialog options.
1. Yep, and go right ahead although it is kind of shambolic (and I forgot to comment it)- making this mod was very much a learning exercise. There's definitely better ways to have done it.

2. It's generic-ish. It does generate fleets from factions, so you could easily copy and tweak the relevant scripts. However, the autoresolve plugin code that checks if bounties died to other NPCs would require some tweaking if multiple different bounty factions could concievably fight.

One thing I want to try eventually is, after selecting a system, build the target fleet out of ships from pre-existing fleets in that system (so a bounty in Shii territory may be driving a Shii boat and so on).

3. I think you may have misinterpreted the screen- a bounty of the correct difficulty is generated when you click on the option for them. Ideally I'd generate the 3 fleets and show their compositions in the dialog, and only spawn them into the sector once the player selected them (and clear out the unselected fleets every week, say) and I'd like to write that in now I've got a better grasp of the language.
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: HELMUT on December 29, 2013, 11:57:00 AM
Toyed a bit with the mod, it's awesome, there will be a lot of possibilities in the future with this one. Alex will probably take this mod as an example for the introduction of the quest system for Starsector.

But first, a bug.

Code
1430718 [Thread-6] ERROR com.fs.starfarer.combat.String  - java.util.IllegalFormatConversionException: d != java.lang.String
java.util.IllegalFormatConversionException: d != java.lang.String
at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:3999)
at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2709)
at java.util.Formatter$FormatSpecifier.print(Formatter.java:2661)
at java.util.Formatter.format(Formatter.java:2433)
at java.util.Formatter.format(Formatter.java:2367)
at java.lang.String.format(String.java:2769)
at data.scripts.plugin.BountyBattleAutoresolverPlugin$FleetAutoresolveData.report$(BountyBattleAutoresolverPlugin.java:129)
at data.scripts.plugin.BountyBattleAutoresolverPlugin.resolveEngagement$(BountyBattleAutoresolverPlugin.java:243)
at data.scripts.plugin.BountyBattleAutoresolverPlugin.resolve(BountyBattleAutoresolverPlugin.java:195)
at com.fs.starfarer.campaign.CampaignEngine.autoResolveBattle(Unknown Source)
at com.fs.starfarer.campaign.BaseLocation.advance(Unknown Source)
at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source)
at com.fs.starfarer.campaign.A.super(Unknown Source)
at com.fs.starfarer.OoOO.øÒÒ000(Unknown Source)
at com.fs.super.oOOO.Ò00000(Unknown Source)
at com.fs.starfarer.combat.String.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$2.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)

Other than this, how big can the bounties can get? I got a 80k bounty and the target had a cruiser plus some escorts. Will there be really big bounties in the future? Like Hegemony SDF size? This could be a lot of fun. Also would be interesting to see bounties featuring ships from other modded factions. Oh, and will this eventually be implemented with Exerelin? Also perhaps Ironclad if Okim is interested?

While the content is for the moment limited, it won't be long before other modders will properly integrate the bounty mod in their own. So yeah, as Valk said, that's gonna be a big fat mod very quickly.

Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: silentstormpt on December 29, 2013, 12:06:08 PM
I dont mind adding JSON reading support to it if you want, so you can set up ur own Bounty Hunts with their Descriptions/Rewards. It would make it really easy for anyone to create new bounties.
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: Talkie Toaster on December 29, 2013, 12:11:19 PM
Toyed a bit with the mod, it's awesome, there will be a lot of possibilities in the future with this one. Alex will probably take this mod as an example for the introduction of the quest system for Starsector.

But first, a bug.

Code
1430718 [Thread-6] ERROR com.fs.starfarer.combat.String  - java.util.IllegalFormatConversionException: d != java.lang.String
java.util.IllegalFormatConversionException: d != java.lang.String
at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:3999)
at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2709)
at java.util.Formatter$FormatSpecifier.print(Formatter.java:2661)
at java.util.Formatter.format(Formatter.java:2433)
at java.util.Formatter.format(Formatter.java:2367)
at java.lang.String.format(String.java:2769)
at data.scripts.plugin.BountyBattleAutoresolverPlugin$FleetAutoresolveData.report$(BountyBattleAutoresolverPlugin.java:129)
at data.scripts.plugin.BountyBattleAutoresolverPlugin.resolveEngagement$(BountyBattleAutoresolverPlugin.java:243)
at data.scripts.plugin.BountyBattleAutoresolverPlugin.resolve(BountyBattleAutoresolverPlugin.java:195)
at com.fs.starfarer.campaign.CampaignEngine.autoResolveBattle(Unknown Source)
at com.fs.starfarer.campaign.BaseLocation.advance(Unknown Source)
at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source)
at com.fs.starfarer.campaign.A.super(Unknown Source)
at com.fs.starfarer.OoOO.øÒÒ000(Unknown Source)
at com.fs.super.oOOO.Ò00000(Unknown Source)
at com.fs.starfarer.combat.String.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$2.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)
Ah, I think I get that error. It'll only trigger if report mode is on, I'd been commenting out functions that weren't Janino-friendly but seem to have missed that line.

Quote
Other than this, how big can the bounties can get? I got a 80k bounty and the target had a cruiser plus some escorts. Will there be really big bounties in the future? Like Hegemony SDF size? This could be a lot of fun.
25 FP is the current maximum, as the mod's main goal is to help you bootstrap yourself up to self-imposed goals (like killing the SDF). Bigger combats are planned at some point (e.g. going after rumours of abandoned capital ships and getting ambushed by pirate fleets).

Quote
Also would be interesting to see bounties featuring ships from other modded factions. Oh, and will this eventually be implemented with Exerelin? Also perhaps Ironclad if Okim is interested? While the content is for the moment limited, it won't be long before other modders will properly integrate the bounty mod in their own. So yeah, as Valk said, that's gonna be a big fat mod very quickly.
Ergh. It's certainly not ready for that- it's basically Babby's First Attempt At Java at the moment, everything is written to work rather than to be robust and extensible.

I dont mind adding JSON reading support to it if you want, so you can set up ur own Bounty Hunts with their Descriptions/Rewards. It would make it really easy for anyone to create new bounties.
Thanks, but it's not really ready for that sort of thing- a lot more work needs to go into making it more coherent first.
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: Gotcha! on December 29, 2013, 04:02:17 PM
This is brilliant, Talkie Toaster. Nice going. ;D
Title: Re: [0.6.1a] Bounty Hunts 1.01
Post by: Talkie Toaster on December 30, 2013, 03:03:15 PM
Updated to fix the crash in report mode and tweaked a few dialogs. I'm looking into trying to make it more generic under-the-hood, as that seems like it'd be useful?
Title: Re: [0.6.1a] Bounty Hunts 1.01
Post by: Hyph_K31 on December 30, 2013, 03:23:45 PM
Will there be the possibility of story driven quest-lines?  ;D

This looks to be so incredibly awesome.
Title: Re: [0.6.1a] Bounty Hunts 1.0
Post by: NanoMatter on December 30, 2013, 06:35:32 PM
Glad people like the idea! (Hope the execution holds up under playtesting...)

This mod is gonna get big...fast...
Fast on a geological timescale, maybe.

First Bug/Human Error?

Spoiler
76297 [Thread-6] ERROR com.fs.starfarer.combat.D  - java.lang.RuntimeException: Error compiling [data.scripts.BountyModPlugin]
java.lang.RuntimeException: Error compiling [data.scripts.BountyModPlugin]
   at com.fs.starfarer.loading.scripts.ScriptStore$1.run(Unknown Source)
   at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: Compiling unit "data/scripts/plugin/BountyFleetInteractionDialogPlugin.java"
   at org.codehaus.janino.JavaSourceClassLoader.generateBytecodes(JavaSourceClassLoader.java:212)
   at org.codehaus.janino.JavaSourceClassLoader.findClass(JavaSourceClassLoader.java:164)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
   ... 2 more
Caused by: org.codehaus.commons.compiler.CompileException: File data/scripts/plugin/BountyFleetInteractionDialogPlugin.java, Line 633, Column 80: A method named "setFlagship" is not declared in any enclosing class nor any supertype, nor through a static import
   at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:9403)
   at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:6829)
   at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3553)
   at org.codehaus.janino.UnitCompiler.access$63(UnitCompiler.java:3552)
   at org.codehaus.janino.UnitCompiler$11.visitMethodInvocation(UnitCompiler.java:2967)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2993)
   at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4017)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2413)
   at org.codehaus.janino.UnitCompiler.access$38(UnitCompiler.java:2412)
   at org.codehaus.janino.UnitCompiler$8.visitMethodInvocation(UnitCompiler.java:2381)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2407)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1426)
   at org.codehaus.janino.UnitCompiler.access$8(UnitCompiler.java:1425)
   at org.codehaus.janino.UnitCompiler$5.visitExpressionStatement(UnitCompiler.java:926)
   at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:1447)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:958)
   at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java:955)
   at org.codehaus.janino.UnitCompiler$5.visitBlock(UnitCompiler.java:925)
   at org.codehaus.janino.Java$Block.accept(Java.java:1386)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1550)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2083)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:851)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:832)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:528)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:691)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:652)
   at org.codehaus.janino.UnitCompiler$3.visitAnonymousClassDeclaration(UnitCompiler.java:374)
   at org.codehaus.janino.Java$AnonymousClassDeclaration.accept(Java.java:553)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:383)
   at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3885)
   at org.codehaus.janino.UnitCompiler.access$66(UnitCompiler.java:3806)
   at org.codehaus.janino.UnitCompiler$11.visitNewAnonymousClassInstance(UnitCompiler.java:2975)
   at org.codehaus.janino.Java$NewAnonymousClassInstance.accept(Java.java:2947)
   at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2993)
   at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4017)
   at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3629)
   at org.codehaus.janino.UnitCompiler.access$63(UnitCompiler.java:3552)
   at org.codehaus.janino.UnitCompiler$11.visitMethodInvocation(UnitCompiler.java:2967)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2993)
   at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:4017)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2413)
   at org.codehaus.janino.UnitCompiler.access$38(UnitCompiler.java:2412)
   at org.codehaus.janino.UnitCompiler$8.visitMethodInvocation(UnitCompiler.java:2381)
   at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2407)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1426)
   at org.codehaus.janino.UnitCompiler.access$8(UnitCompiler.java:1425)
   at org.codehaus.janino.UnitCompiler$5.visitExpressionStatement(UnitCompiler.java:926)
   at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:1447)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:958)
   at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java:955)
   at org.codehaus.janino.UnitCompiler$5.visitBlock(UnitCompiler.java:925)
   at org.codehaus.janino.Java$Block.accept(Java.java:1386)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1550)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:958)
   at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java:955)
   at org.codehaus.janino.UnitCompiler$5.visitBlock(UnitCompiler.java:925)
   at org.codehaus.janino.Java$Block.accept(Java.java:1386)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1539)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1560)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1560)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1542)
   at org.codehaus.janino.UnitCompiler.access$9(UnitCompiler.java:1477)
   at org.codehaus.janino.UnitCompiler$5.visitIfStatement(UnitCompiler.java:927)
   at org.codehaus.janino.Java$IfStatement.accept(Java.java:1494)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:946)
   at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:972)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2083)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:851)
   at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:832)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:528)
   at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:421)
   at org.codehaus.janino.UnitCompiler$3.visitPackageMemberClassDeclaration(UnitCompiler.java:376)
   at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:765)
   at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:383)
   at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:352)
   at org.codehaus.janino.JavaSourceClassLoader.generateBytecodes(JavaSourceClassLoader.java:210)
   ... 5 more

[close]
Well, that's odd. setFlagship is definitely a thing- are you sure you're running 0.6.1?

1.  This is awesome.  Is the source available, and can we integrate it into other mods?

2.  If yes (and yes) how generic is it?  Can it build the bounties from any ol' collection of Faction data?

3.  I saw a bug; in that shot of the Dialog, it offered a choice for a Regular Bounty, but no description of the Regular Bounty target, indicating there wasn't one generated.  Probably needs a logic check in whatever refreshes the dialog options.
1. Yep, and go right ahead although it is kind of shambolic (and I forgot to comment it)- making this mod was very much a learning exercise. There's definitely better ways to have done it.

2. It's generic-ish. It does generate fleets from factions, so you could easily copy and tweak the relevant scripts. However, the autoresolve plugin code that checks if bounties died to other NPCs would require some tweaking if multiple different bounty factions could concievably fight.

One thing I want to try eventually is, after selecting a system, build the target fleet out of ships from pre-existing fleets in that system (so a bounty in Shii territory may be driving a Shii boat and so on).

3. I think you may have misinterpreted the screen- a bounty of the correct difficulty is generated when you click on the option for them. Ideally I'd generate the 3 fleets and show their compositions in the dialog, and only spawn them into the sector once the player selected them (and clear out the unselected fleets every week, say) and I'd like to write that in now I've got a better grasp of the language.
Well, im not very smart, I put the file thing on my 0.6a version.
Title: Re: [0.6.1a] Bounty Hunts 1.01
Post by: Thaago on December 30, 2013, 10:06:20 PM
Nice job!

Updated to fix the crash in report mode and tweaked a few dialogs. I'm looking into trying to make it more generic under-the-hood, as that seems like it'd be useful?
If you want to see one way a generic quest system is set up, take a look at the one I've had kicking around: https://github.com/Thaago/QuestExtension

It has an "escort" quest built in as an example. Unfortunately I really don't have time to develop it further, so its kind of languished for a few months  :'(. Someday! (If you do find it useful, feel free to copy anything you want.)
Title: Re: [0.6.1a] Bounty Hunts 1.01
Post by: Erick Doe on December 31, 2013, 08:18:46 AM
I like this. So much potential.
Title: Re: [0.6.1a] Bounty Hunts 1.01
Post by: Talkie Toaster on January 26, 2014, 11:08:30 AM
v1.1 is up, this reworks the station dialogs, adds escort missions, unique bounties and rumours to investigate- though the only ones you'll find are of rogue asteroids/comets at the moment, and the unique bounty roster is a little thin though easy to fill out, and Helmut will be expanding on it.

I've reworked a lot under the hood to make a sort of extensible mission framework thing that should be more easily expandable, though I still don't think it's ready for a wide-spread rollout. I'm going to implement a few types of mission first, so I can get an idea of what I need for them (as I don't know what I need until I need it!).

Will there be the possibility of story driven quest-lines?  ;D
This looks to be so incredibly awesome.
Hopefully yes now- I've implemented a sort of mission framework that allows for staged mission chains.

Nice job!
]If you want to see one way a generic quest system is set up, take a look at the one I've had kicking around: https://github.com/Thaago/QuestExtension

It has an "escort" quest built in as an example. Unfortunately I really don't have time to develop it further, so its kind of languished for a few months  :'(. Someday! (If you do find it useful, feel free to copy anything you want.)
Thanks for the offer, though I thought I'd work from scratch- to give me a bit of a better understanding of Java.
Title: Re: [0.6.2a] Bounty Hunts 1.1
Post by: joey4track on January 26, 2014, 01:27:29 PM
Looks awesome. Does this require a new game? And how do you think it would work with Exerelin?
Title: Re: [0.6.2a] Bounty Hunts 1.1
Post by: Talkie Toaster on January 27, 2014, 11:35:14 AM
Looks awesome. Does this require a new game? And how do you think it would work with Exerelin?
It doesn't require a new game, but actually the new version might not work with Exerelin out of the box- some of the Most Wanted missions are at specific planets. If you delete all the lines in data/bounty/wanteds.csv after "wantedId", it should work fine.
Title: Re: [0.6.2a] Bounty Hunts 1.1
Post by: Mytre on January 31, 2014, 03:51:07 PM
just had a hang  up, like the game froze and did not respond for several minutes. i have so far this mod , plus neutrino, hiigarans, valkyrian, tore up plenty , gedune and console mod.  had to close the game with task manager.  

small edit.  the second time it worked. until i finally got to fight the most most wanted fleet in corvus iii.  gave me this error

Quote
1349387 [Thread-5] ERROR com.fs.starfarer.combat.O0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO  - java.lang.RuntimeException: Ship hull [heron] variant [heron_Standard]: slot id [WS 001] not found for weapon [lrpdlaser]
java.lang.RuntimeException: Ship hull [heron] variant [heron_Standard]: slot id [WS 001] not found for weapon [lrpdlaser]
   at com.fs.starfarer.loading.specs.oo0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(Unknown Source)
   at com.fs.starfarer.title.ooOO.L.new(Unknown Source)
   at com.fs.starfarer.title.ooOO.L.o00000(Unknown Source)
   at com.fs.starfarer.coreui.W.o00000(Unknown Source)
   at com.fs.starfarer.ui.O00oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.renderImpl(Unknown Source)
   at com.fs.starfarer.ui.public.render(Unknown Source)
   at com.fs.starfarer.ui.p.renderImpl(Unknown Source)
   at com.fs.starfarer.ui.public.render(Unknown Source)
   at com.fs.starfarer.ui.p.renderImpl(Unknown Source)
   at com.fs.starfarer.ui.impl.StandardTooltipV2.renderImpl(Unknown Source)
   at com.fs.starfarer.ui.public.render(Unknown Source)
   at com.fs.starfarer.ui.p.renderImpl(Unknown Source)
   at com.fs.starfarer.ui.public.render(Unknown Source)
   at com.fs.starfarer.campaign.A.ØØ0000(Unknown Source)
   at com.fs.starfarer.B.ØÓÒ000(Unknown Source)
   at com.fs.oOOO.A.Ò00000(Unknown Source)
   at com.fs.starfarer.combat.O0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(Unknown Source)
   at com.fs.starfarer.StarfarerLauncher$2.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Title: Re: [0.6.2a] Bounty Hunts 1.1
Post by: XpanD on January 31, 2014, 04:25:04 PM
Pretty sure that Heron error is an issue with the Valkyrians mod. See below:
http://fractalsoftworks.com/forum/index.php?topic=7681.0
Title: Re: [0.6.2a] Bounty Hunts 1.1
Post by: Mytre on February 01, 2014, 09:11:02 AM
yes, just checked it , solved it by deleting heron from every file on valkyrian. so far only another hang up happened with no crash error. might just leave it to see if it continues? i finished the most most wanted bounty and went back to the station to collect bounty.  as soon as i dock the game hanged. without saying a thing.  edit:  restarted the game it worked but now i have an onslaught elite battleship on my fleet i cant sell , what do i do with it ? :C   2nd edit: tried to mothball that ship, got a null crash.  3rd edit: any attempt to take that ship out of my fleet ended in either not working or a null crash.  so i just went against an enemy fleet with that battleship and let it be disabled and destroyed by the enemy so i could remove it from my fleet.  
Title: Re: [0.6.2a] Bounty Hunts 1.1
Post by: Talkie Toaster on February 01, 2014, 10:54:43 AM
yes, just checked it , solved it by deleting heron from every file on valkyrian. so far only another hang up happened with no crash error. might just leave it to see if it continues? i finished the most most wanted bounty and went back to the station to collect bounty.  as soon as i dock the game hanged. without saying a thing.  edit:  restarted the game it worked but now i have an onslaught elite battleship on my fleet i cant sell , what do i do with it ? :C   2nd edit: tried to mothball that ship, got a null crash.  3rd edit: any attempt to take that ship out of my fleet ended in either not working or a null crash.  so i just went against an enemy fleet with that battleship and let it be disabled and destroyed by the enemy so i could remove it from my fleet.  
Hm, I came across that in testing but thought I'd fixed it. I'll take a look at it.
Title: Re: [0.6.2a] Bounty Hunts 1.1
Post by: Nanao-kun on February 03, 2014, 12:19:10 PM
So I was playing with this alongside Uomoz's, and I found two errors:

This one happened when I shot down a Bounty Hunter.
Code
1953079 [Thread-5] ERROR com.fs.starfarer.combat.O0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO  - java.lang.NullPointerException
java.lang.NullPointerException
at data.scripts.plugin.MissionFleetInteractionDialogPlugin.backFromEngagement(MissionFleetInteractionDialogPlugin.java:23)
at com.fs.starfarer.campaign.A.class.for$super(Unknown Source)
at com.fs.starfarer.B.???000(Unknown Source)
at com.fs.oOOO.A.?00000(Unknown Source)
at com.fs.starfarer.combat.O0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$2.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

The second was one I tried to mothball a ship I got from a Most Wanted bounty.
Code
669017 [Thread-5] ERROR com.fs.starfarer.combat.O0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO  - java.lang.NullPointerException
java.lang.NullPointerException
at com.fs.starfarer.coreui.OoOO.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.O00oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(Unknown Source)
at com.fs.starfarer.ui.F.processInput(Unknown Source)
at com.fs.starfarer.ui.newsuper.super(Unknown Source)
at com.fs.starfarer.B.???000(Unknown Source)
at com.fs.oOOO.A.?00000(Unknown Source)
at com.fs.starfarer.combat.O0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$2.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Title: Re: [0.6.2a] Bounty Hunts 1.1
Post by: Uomoz on February 03, 2014, 12:27:15 PM
So I was playing with this alongside Uomoz's, and I found two errors: ...

How do you feel it plays? Does BH integrate well with UsS? (other then bugs ofc! :D)
Title: Re: [0.6.2a] Bounty Hunts 1.1
Post by: Nanao-kun on February 03, 2014, 01:05:20 PM
So I was playing with this alongside Uomoz's, and I found two errors: ...

How do you feel it plays? Does BH integrate well with UsS? (other then bugs ofc! :D)
I quite like it. Then again, I've only done one bounty so far before I had null error crashes.

It does make Bounty Hunts feel wider, and it adds more gameplay to Uomoz's at the same time.

On another note, the name Talkie Toaster sounds very familiar...
Title: Re: [0.6.2a] Bounty Hunts 1.1
Post by: Talkie Toaster on February 03, 2014, 01:26:07 PM
So I was playing with this alongside Uomoz's, and I found two errors:

This one happened when I shot down a Bounty Hunter.
Code
1953079 [Thread-5] ERROR com.fs.starfarer.combat.O0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO  - java.lang.NullPointerException
java.lang.NullPointerException
at data.scripts.plugin.MissionFleetInteractionDialogPlugin.backFromEngagement(MissionFleetInteractionDialogPlugin.java:23)
at com.fs.starfarer.campaign.A.class.for$super(Unknown Source)
at com.fs.starfarer.B.???000(Unknown Source)
at com.fs.oOOO.A.?00000(Unknown Source)
at com.fs.starfarer.combat.O0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$2.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

The second was one I tried to mothball a ship I got from a Most Wanted bounty.
Code
669017 [Thread-5] ERROR com.fs.starfarer.combat.O0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO  - java.lang.NullPointerException
java.lang.NullPointerException
at com.fs.starfarer.coreui.OoOO.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.O00oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(Unknown Source)
at com.fs.starfarer.ui.F.processInput(Unknown Source)
at com.fs.starfarer.ui.newsuper.super(Unknown Source)
at com.fs.starfarer.B.???000(Unknown Source)
at com.fs.oOOO.A.?00000(Unknown Source)
at com.fs.starfarer.combat.O0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$2.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Hm, okay- the former is because I've overlooked the fact that bounty hunters aren't labelled with their mission, whilst bounty targets are. That's an easy fix. The mothballing seems to be the same bug as before, where the Most Wanted ships you auto-salvage are still slightly attached to their old fleet and this occasionally causes problems. I think I introduced this by altering how the Salvage script works to make them show up better in the post-battle fleet displays- I'm just testing a fix for it.
Title: Re: [0.6.2a] Bounty Hunts 1.1
Post by: Nanao-kun on February 03, 2014, 06:21:34 PM
Hm, okay- the former is because I've overlooked the fact that bounty hunters aren't labelled with their mission, whilst bounty targets are. That's an easy fix. The mothballing seems to be the same bug as before, where the Most Wanted ships you auto-salvage are still slightly attached to their old fleet and this occasionally causes problems. I think I introduced this by altering how the Salvage script works to make them show up better in the post-battle fleet displays- I'm just testing a fix for it.
Alright, thanks for the response. For now I'll just pretend that missed bounties are gone for good, and that Most Wanted targets don't exist.

EDIT: Just took an escort mission. The problem? It's at a pirate base, and I can't interact with it.

EDIT 2: Tried another. Took an Easy mission and then realized the destination was a Pirate Base, defended by Pirate Armadas. Looks like meshing this with Uomoz's isn't exactly working for now.
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: Talkie Toaster on February 04, 2014, 11:50:58 AM
Hm, okay- the former is because I've overlooked the fact that bounty hunters aren't labelled with their mission, whilst bounty targets are. That's an easy fix. The mothballing seems to be the same bug as before, where the Most Wanted ships you auto-salvage are still slightly attached to their old fleet and this occasionally causes problems. I think I introduced this by altering how the Salvage script works to make them show up better in the post-battle fleet displays- I'm just testing a fix for it.
Alright, thanks for the response. For now I'll just pretend that missed bounties are gone for good, and that Most Wanted targets don't exist.

EDIT: Just took an escort mission. The problem? It's at a pirate base, and I can't interact with it.

EDIT 2: Tried another. Took an Easy mission and then realized the destination was a Pirate Base, defended by Pirate Armadas. Looks like meshing this with Uomoz's isn't exactly working for now.
You don't actually have to interact with the escort origin to spawn the escort- they should set off when you get close enough (though a few seconds of waiting near the planet may be necessary) but yeah, the Escort missions should probably not start or end at a location that's hostile to the transport faction. I'll have to figure out some way of taking the stations orbiting a planet into account when figuring this out too, as Escort selects planets as well (which have no faction).

There's no penalty, per se, for failing an escort- the mod keeps track of the # of missions attempted and # succeeded, but doesn't use that for anything. So anyone asking to be driven into the mouth of hell can just be ignored for a month until their request times out (or you can trigger their trip by approaching their start point, then leave them to their idiot fate).

---

I've patched the salvage bug and the killing bounty hunters bug- version 1.11 is here (https://www.mediafire.com/?08s219bvhrcr681). Hope there's no more bugs introduced!

For the next version, I'll tweak Escort mission start and target locations too.
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: xenoargh on February 04, 2014, 11:55:39 AM
Hi.  Took a look at this a couple of weeks ago, before I got really wrapped up in the AI stuff. 

I'm interested in porting it into Vacuum, as it would certainly add a lot more things for players to do besides conquering the Sector, but it looks like the chief issue would be making it operate generically for each Station, so that the missions would be auto-generated anywhere in the game.  Any thoughts on how I'd go about getting this set up more as a framework and less specifically would be appreciated :)
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: Talkie Toaster on February 04, 2014, 03:31:42 PM
Hi.  Took a look at this a couple of weeks ago, before I got really wrapped up in the AI stuff.  

I'm interested in porting it into Vacuum, as it would certainly add a lot more things for players to do besides conquering the Sector, but it looks like the chief issue would be making it operate generically for each Station, so that the missions would be auto-generated anywhere in the game.  Any thoughts on how I'd go about getting this set up more as a framework and less specifically would be appreciated :)
It's currently in the process of being revamped into a more generic system- the back-end is now split into Mission Handlers and Missions which are registered with the handler, and the missions have a set of default evaluations (after X time, on fleet combat, on NPC fleet combat) that lead to conclusions.

Calling these evaluations is done by plugins, and I'm currently working on being able to store the required plugins in a mission and have a fleet call its mission to find an appropriate plugin when required- but I'm running into problems with the Janino stack size or something. Planning on posting a thread about the bug sometime soon.

How it currently works:
-You create a handler SectorHandler
-You create a mission MissionA
-MissionA's constructor runs (e.g. creates FleetA)
-You register MissionA with SectorHandler, and it runs its initialisation (e.g. spawns FleetA)
-Every X time, SectorHandler evaluates MissionA (e.g. MissionA checks if FleetA is dead)
-FleetA gets into combat
-PluginPicker checks FleetA, sees it's from MissionA
-PluginPicker checks MissionA, pulls appropriate plugin from it <- this bit doesn't work yet
-Plugin processes combat
-Plugin calls MissionA to evaluate if it is now complete (e.g. MissionA checks if FleetA is dead)
-If so, MissionA does whatever you've written for it
-Next X, SectorHandler evaluates MissionA, finds it's finished, unlists it, it goes to garbage

It should be easy to create a framework- basically you'd just define an extension of my MissionFleet class, with constructor arguments for the faction & location & whatever as appropriate, fill in the required functions like encounterDialog and encounterFleet with straightforward things (e.g. if(!FleetA.isAlive)finish(success=true)), and finish to whatever (e.g. GivePlayerPilesOfCash()), and have your station dialogs create & register those on your mission handler. However, given the fact that my current version is incomplete, and bodges the plugin selection I'd hold off for now.

(Actually I've just realised in writing this that it should also contain an option to completely replace the InteractionDialogPlugin, rather than just wrapping it in an evaluation after returning from combat)

I'm planning on writing a guide to how to use the framework once it's complete (I've done so for other (http://www.nexusmods.com/oblivion/mods/31821/?) frameworky things I've made for my mods (http://www.nexusmods.com/oblivion/mods/29853/?)), so it may be worth waiting for that. Trying to work from the current BountyMissions is not really a good idea as it's a very specific implementation of a greater framework, and hammering it into a new shape will probably take more work than just building a new implementation of a MissionFleet that does what you want.
Equally my Java knowledge is still not great so the guide may just be teaching grandmothers to suck eggs! It depends how much effort you want to put into understanding my current poorly-documented code :/.

Edit: To be open about it, I'm a bit of a perfectionist and would really rather it not be copied until I'm happy with how it works.
I'll be happy for you to use it when it's finished but still full of bugs(!), but I'm not happy with the underlying framework itself yet.
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: Nanao-kun on February 04, 2014, 05:07:25 PM
If this does wind up in Vacuum and/or Uomoz's, having there be faction specific bounties would be amazing. You could hunt down ships from one faction's enemy and such, improving your relationship with the issuer, but losing some with the target faction.

Playing this with Uomoz's does tend to make things a bit frustrating, since if I join a certain faction their enemies will be my enemies, making easy missions difficult by being in an enemy factions territory. And using only ships from the Independent stations is a bit... dull.
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: xenoargh on February 04, 2014, 05:27:36 PM
@Talkie Toaster:  That's making sense.  I was staring at the various components, trying to figure out how I'd un-couple it from the specifics of the Dialog changes and make it more generic, as right now it's not feeling terribly portable and it just seems like it's going to take a lot of work to move it. 

If you feel like it's not really there yet, I guess I'll have to take a stab at this; it seems to me that there should be a much simpler structure that can get this job done, since you basically just need:

1.  A Dialog string generated indicating that <Mission> is available and an Option allowing it to be assigned.
2.  A singleton somewhere storing the current Mission state of <Missions> currently undertaken by the Player, including the days left before it fails, the Objective Fleet, if any, Destinations, if any, time left if applicable, etc., in one relatively small storage package.  Probably it's best to not allow the player to have more than, say, three Missions at once.
3.  A Dialog triggered when <Mission> conditions have been met, paying the player.  I don't think that should be coupled to Stations at all, simply because it makes things more complicated but doesn't add to the gameplay.

I have an interesting idea to make it more generic and more portable, though: a weekly Bounty Hunter "show" that starts up automatically every Friday, say.  It could cutely reference Cowboy Bebop and offer a single, generic interface for getting and accepting Missions. 

Payoff could be generated through a simple timer check, seeing whether the player has taken out the Bounty target, also resulting in Reputation gains.  I think that the only really tricky part is determining what "taken out" means without having to introduce new code to the FleetInteractionDialogPlugin; perhaps something in the Battle mission code could check that out.  In Vacuum, given what I've been doing lately, this presents less of a problem than in Vanilla.
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: Nanao-kun on February 04, 2014, 05:51:56 PM
A quick note for the current version. The auto salvage works, but I'd also gotten an option to board/neutralize the ship in question. The result was a disabled ship in my fleet - this ended with me being unable to retreat from a separate battle because the disabled ship was still on the map, except it was not since there was no sprite and nothing happened. Had to quit the game at that point.
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: Midnight Kitsune on February 22, 2014, 04:54:57 PM
OK, I have been trying everything I know to make a Most Wanted mission using another mod's ships (Hiigaran Decedents) and I can't seem to make it show up in the list! And yes I have it in the CSV

Here is the code for the wanted file:
Spoiler
Code
{
"wantedId" : "bounty_sajuukkhar",
"title" : "The Angry God ",
"fleetName" : "The Khar",
"difficulty" : "Very Dangerous",
"reward" : "750000",
"location" : {
"system" : "Corvus",
"token" : "Corvus III",
},
"captain" : {
"aptitudes" : {
"technology" : "10",
"leadership" : "10",
"combat" : "10",
},
"skills" : {
"missile_specialization" : "10",
"ordnance_expert" : "10",
"damage_control" : "10",
"target_analysis" : "10",
"evasive_action" : "10",
"helmsmanship" : "10",
"flux_modulation" : "10",
"advanced_tactics" : "10",
"command_experience" : "10",
"fleet_logistics" : "10",
"gunnery_implants" : "10",
"applied_physics" : "10",
"flux_dynamics" : "10",
"computer_systems" : "10",
"construction" : "10",
"mechanical_engineering" : "10",
"field_repairs" : "10",
"navigation" : "10",
},
},
#The description is shown when the player views the wanted poster. To include line breaks in it, use \n.
"description" : "Two months ago, the pirates somehow disabled and stole the Khar, our prized flagship and have been terrorising the Corvus System. As much as it pains us, we are offering a seven hundred and fifty thousand credit bounty to whoever destroys the Khar. We can NOT allow these pirates to dirty our name and the name of our flagship!",
#The congratulation is shown when the player kills the bounty. To include line breaks in it, use \n. Optional.
"congratulation" : "The Khar is no longer in pirate hands and our name has been cleared. Thank you and may the Goddess smile upon you.",
"fleetShips" : [
{
"variantId" : "hii_sajuukkhar_Elite",
"name" : "Khar",
"crewRating" : "ELITE",
"salvage" : "TRUE",
},
],
}
[close]
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: senor on June 04, 2014, 03:07:43 AM
A quick note for the current version. The auto salvage works, but I'd also gotten an option to board/neutralize the ship in question. The result was a disabled ship in my fleet - this ended with me being unable to retreat from a separate battle because the disabled ship was still on the map, except it was not since there was no sprite and nothing happened. Had to quit the game at that point.

I think I have just run into an error similar to this.  I accepted and completed a most wanted mission, the target ship was a Medusa.  The after-combat report said "your fleet claims the still-functional ship etc..." which i assume is generated by the mod.  The game also stated the vanilla game message about a ship powering up with life-signs aboard, and gave me the option of boarding, killing, or letting it go.  As the Medusa was the only enemy ship in the combat i was curious what would happen depending on what option i chose.

I ended up letting it go, and consequently i see it fly away from me on the strategic/system view, as it should.  I then go to my fleet page and see i have a new but very damaged Medusa hull added to my fleet, again as I should, technically.  I go to the refit screen and arm my new Medusa with some new weapons.  I then chase down the other, fleeing Medusa and bring my new Medusa into combat with me.  Immediately at the start of combat my other ship, a Venture, starts firing on a hostile Medusa that flew in right next to me, and there's still another hostile Medusa out in the map.

would have been interesting to see what the game would do if i had decided to put myself in control of the Medusa i had picked up, but that was still hostile.

hope that's enough detail, any questions?  anyone else run into this?
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: senor on June 04, 2014, 03:11:16 AM
Just got a java crash related to my above post.  in the combat i described at the end of that post I tried to assign some ships to attack what should have been the real enemy Medusa (not the traitor in my fleet) and very shortly after, possibly when i exited the tactical map, i got a java crash that says:

"
Fatal: No valid task for medusa_Attack ISS Pwyll III
Check starsector.log for more info.
"

Pwyll III i think is the name of Medusa that i attempted to attack, and i think it's the name of the one in my fleet also.
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: senor on June 04, 2014, 03:54:06 AM
I was able to try this again.  all the same setup, except a different most wanted mission, and different type target ship.  this time i set myself as the captain of the copy of the ship in my fleet before entering combat.  once i got into combat instead of having control of the ship like i was supposed to, i just put me in the tiny shuttle as if i had not chosen any ship to start in.

I didnt give any attack orders in order to avoid the crash i had the previous time, and instead let everything auto-attack.  the battle completed once both ships, the one "from my fleet" and the actual enemy ship, but before i got back to the strategic map view the game crashed with a null error.  there was no after-combat report.
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: The Sage on June 04, 2014, 03:13:12 PM
What an interesting idea.
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: Cully117 on September 17, 2015, 06:33:06 PM
Does this still work in the current version of the game?
When I activate it in the mods list the game crashes on launch.
Title: Re: [0.6.2a] Bounty Hunts 1.11
Post by: CrashToDesktop on September 17, 2015, 06:40:27 PM
The title of the thread has a [0.6.2a] in it.  Which isn't the version of the vanilla base game.  It also crashed when you started it.  Is that not enough to tell you it isn't updated? :/ Sorry about being rude to a first-time poster, but some of the more obvious things are listed and I feel like I should point those out.