Jump to content

[1.10.0] Final Frontier - kerbal individual merits 1.10.0-3485


Nereid

KSP 1.1.0  

848 members have voted

  1. 1. Is FinalFrontier working in KSP 1.1.0?

    • Yes
      274
    • No
      65
    • It doesn't matter; this poll was just created to remove the outdated old one...
      538


Recommended Posts

Final Frontier

kerbal individual merits

current version:  1.10.0-3485

Sometimes it's hard to choose a kerbal for a mission because they are all the same... well, they differ in courage and stupidity but they have no history, no personal merits they have achieved. Do you remember who was the first kerbal in space? No? Ok, who was the first kerbal on Mun? Still no idea?

The Final Frontier plugin will handle this for you. Each kerbal will get ribbons for extraordinary merits. And the number of missions flown (i.e. vessel recovered), total mission time and total EVA time is recorded, too.

Download:   Spacedock    Spacedock direct link for KSP 1.1.3

Mirror: Curse


For modders:

Version 0.8.12 and later includes an api to reward ribbons from an external plugin. You will find an adapter class and an example here: FinalFrontierAdapter


Planet Packs (for use in 0.6.0 or later):


Ribbon Packs (for use in 0.9.1 or later):

If you want to create your own ribbon pack feel free to do so. But you should use IDs other than in the ribbon packs above. Just set the BASE in the config file to some other number and keep in mind that every ribbon must get an unique ID.


finalfrontier1.jpg

(Screenshot of my development copy and not from a real game)

Javascript is disabled. View full album

To open the Final Frontier Hall of Fame window just click on the button labeled "FF" in the toolbar or press LEFTALT-F (hardcoded at the moment, so it's not assignable to another key). If you are using the stock toolbar you will find some kind of award icon.

To browse all available ribbons just press the "Ribbons" button on the right of the hall of fame.

Currently the following ribbons are awarded to kerbals:

  • Orbit around a celestial body (including Kerbin)
  • Landing on a celestial body (including Kerbin – kerbals do reward even simple tasks, because most of the time they fail...)
  • EVA in around a celestial body without a stable orbit (including Kerbin)
  • EVA in an orbit around a celestial body (including Kerbin)
  • EVA on a celestial body (including Kerbin – let's hope they will survive...)
  • Docking around a celestial body (including Kerbin)
  • Collision in a vessel
  • Dangerous EVA while not on ground and not in a stable orbit
  • Get into a Kerbin orbit in less than 200, 150 or 120 seconds
  • Accumulated mission time of at least 5, 20, 50, 100, 500, 2000 or 5000 days (20, 80, 200, 400, 2000 or 20000 kerbin days)
  • A return from single mission that lasted for at least 20, 50, 125, 500 oe 2000 days (80, 200, 500, 2000, or 8000 kerbin days)
  • At least 5, 20 or 50 missions flown (i.e. vessel recovered)
  • Done a splashdown landing
  • First kerbal in space
  • A ribbon for entering the sphere of influence of a celestial body (new in 0.2.2)
  • Planting flags on celestial bodies
  • Launching with solid fuel boosters of 10%, 20%, or 30% ship mass
  • Achieved gee-force of 3, 4, 5, 6,..., 17 or 18 g
  • Entering the deep athmosphere of Jool
  • Orbiting the Sun at half or less the distance of Moho
  • Moving a vehicle (hopefully a rover) on the surface of a celestial body
  • Crew member of a heavy vehicle of at least 250, 500, 750, 1000, 1500, 2000 or 4000 tons
  • Launching a heavy vehicle of at least 250, 500, 750, 1000, 1500, 2000 or 4000 (!) tons
  • Landing a heavy vehicle of at least 250, 500, 750, 1000, 1500, 2000 or 4000 (puh!) tons
  • Ribbons for 1h, 2h, 6h, 12h, 24h, 48h, 96h and 192h in EVA
  • Ribbons for flying a vessel at Mach 3, 4, 5, 6, 8, 10, 15 below 20,000m in Kerbin atmosphere (0.4.1 and later)
  • Ribbons for EVA Endurance, i.e. a single EVA of at least 20, 30, 40, 50, 60, 90, 120, 180, 240 or 300 minutes.
  • Ribbons for entering atmosphere of Eve, Duna, Jool,...
  • A Ribbon for entering the sphere of influence of all celestial bodies (Grant Tour ribbon)
  • A Ribbon for entering the sphere of influence of all moons of Jool (Jool Tour ribbon)
  • Ribbons for completing contracts
  • Ribbons achieving research (while in a mission)
  • Ribbons for first completed mission as an engineer, pilot or scientist
  • Ribbons for altitude, distance, speed and depth records
  • A Ribbon for entering deep space beyond Eeloo (or whatever outermost planet may exist)
  • Ribbons for landing in polar regions
  • Ribbons for landing at high elevations on kerbin
  • Ribbons for landing with less than 5% or 1% liquid fuel

More than 500 ribbons in total!

If a kerbal is the first one rewarded with a celestial ribbon, he will get the "First kerbal" ribbon of that kind (for example "First kerbal in orbit around Kerbin ").

Some ribbons replace some others when earned. For example: The ribbon for EVA in an orbit around a celestial body replaces the ribbon for EVA around the same body without a stable orbit. The ribbon for 20 missions flown replaces the ribbon for 5 missions, etc.

A tooltip gives a short description for each awarded ribbon.

The ribbon graphics are inspired by the ribbons created by Unistrut (view this thread). But unfortunately I still do not have his permission to include his ribbon graphics into Final Frontier so I have created my own set of ribbons. They are using the same color and sometimes similar graphics (so they will look similar). If Unistrut will give his permission to use his ribbons, I will include them in a modified form with better graphics than mine.

Some of the custom ribbons are created by SmarterThanMe and nothke and are used with their permission.

Update: I finally got the permission to use the ribbons from Unistrut.


But why is it called "Final Frontier"?

Well, I'm quite surprised that nobody is asking, but I will try to explain it anyway. I was thinking about this plugin since the personal achievement mod by blizzy78. I liked the idea in general but in a sandbox game achievements for the player doesn't mean to much to me (but this is a personal opinion of course). Unfortunately I'm a Java/C++ programmer and C# is quite new for me, so time and missing skills/experience delayed the implementation until the first days of 2014. Then I decided to give it a try and created a small C# project for testing/learning the basics. The first decision to made was the name of the project. I do not exactly remember how I get the idea for the name, but I searched a bit in Youtube, Google and well, perhaps there was a replay of Star Trek in TV. I really don't know how I got the name, but I created a project "Final Frontier" and so it begun. And I don't like to change the name of a project afterwards without a specific reason.


Installation:

Important! Please read if you have trouble with Final Frontier.

Just unzip the archive into the KSP folder. Don't move the FinalFrontier folder, it should be nested in the folder GameData/Nereid. If you are already using the toolbar you don't have to extract the toolbar folder.

Do not change the installation path! Final Frontier must reside under GameData/Nereid


Compatibility:

Final Frontier should be compatible with most mods. There is one important exclusion from this rule: Mods that are changing names of celestial bodies or add new celestial bodies will cause trouble. All releases from 0.6.0 and later can handle the altering of celestial bodies. There is still one exclusion: All celestial bodies must have unique names. To get ribbons for new celestial bodies, you must install a planet pack (see above).



Changelog:

  • 0.7.15-1047: Fix for missing button in blizzys toolbar

  •  0.8.1-1282: Fix for lost ribbons bug

  •  0.8.2-1285: minor bugs fixed

  • 0.8.6-1370: fix for Contract Configurator compatibiliy

  • 0.8.8-1410: Update for KSP 1.0.5

  • 0.8.9-1414: new custom ribbons from SmarterThanMe

  • 0.8.13-1728:

    • 7 new ribbons (includung deep space ribbon)

    • support for external plugins that may award ribbons

    • minor fixes

  • 0.9.1-1749

    • support for user defined custom ribbons

  • 0.9.3-1792

    • fix for not properly removed kerbals in hall of fame that were spawned by CC+

    • new ribbons: Lost And Found (untestet), Significant Contract, Exceptional Contract, Passenger Transport

    • removed some uneccessary log spamming

    • added optional logging of ribbons/achievements (to analyze incorrectly awarded ribbons; see last checkbox in config window)

  • 0.9.4-1798

    • fix for  Lost And Found ribbon and  Passenger Transport ribbons (NREs in log)

  • 0.9.5-1819

    • Minor fixes (if you do not enable the logging of ribbon awards you should be fine)

    • Lost And Found ribbon disabled

    • Reasearch ribbons tuned down a bit

  • 0.9.6-1826

    • Fix for mission summary window

  • 0.9.8-1882First North Polar Lander ribbon

    • North Polar Lander ribbon
    • First South Polar Lander ribbon
    • South Polar Lander ribbon
    • 5% Fuel Landing ribbon (only liquid fuel ist taken into account!)
    • 1% Fuel Landing ribbon (only liquid fuel ist taken into account!)
    • 1500m Mountain Lander ribbon 
    • 2000m Mountain Lander ribbon
    • 2500m Mountain Lander ribbon
    • 3000m Mountain Lander ribbon
    • 3500m Mountain Lander ribbon
    • 4000m Mountain Lander ribbon
  • 1.0.2-2131
    • Update for KSP 1.1.0
  • 1.0.3-2181
    • Update for KSP 1.1.2
    • Minor fixes (e.g. windows stay open in main menu)
  • 1.0.4-2216
    • New First-Kerbal-In-Space and First-EVA-In-Space ribbons graphics by SmarfterThanMe
    • Configurable hotkey
  • 1.0.5-2223
    • correct URL for KSP-AVC
    • no other changes
  • 1.0.6-2301
    • Fix for Closer Solar Orbit ribbon and OPM 
  • 1.0.7-2319
    • Hotkey fixed (hopefully)
  • 1.0.8-2443
    • no more 0%/5% Fuel Landing ribbons if a vessel is landing with deployed (or cut) parachutes
    • logging of some keypresses to analyze the still not solved hotkey issue
  • 1.0.9-2459
    • timestamps in log now in kerbin time, if enabled in KSP settings
    • fix for FinalFrontierAdapter (kerbal type applicant now eligible for ribbon awards)
    • hall of fame is now refreshed, if an applicant joins the crew roster
  • 1.0.10-2467
    • Fix for hotkey issue (maybe)
    • minor fix to prevent NRE
  • 1.0.12-2505
    • Build for KSP 1.1.3
    • RSS compatibility
  • 1.0.13-2539
    • Mountain Lander Ribbon for 4000m now superseedes 3500m 
    • fixed a typo in the description of the polar landing ribbons
  • 1.2.1-2650
    • Build for KSP 1.2
  • 1.2.3-2675
    • fix for the incorrect data in the mission summary window
    • "show summary window" checkbox in config
  • 1.2.4-2772
    • mission summary window only shown if crew recovered
  • 1.2.5-2906
    • Fix for conflict with Contract Configurator
  • 1.2.7-3080
    • KSP 1.2.2 (no significant changes)
  • 1.3.1-3103
    • KSP 1.3.0 (no significant changes)
  • 1.3.2-3155
    • no more science records for no science points earned
    • low gravity landing ribbons
  • 1.3.3-3172
    • KSP 1.3.1
    • logbook pages
  • 1.3.5-3175
    • Rover ribbon no longer supersedes EVA ground ribbon
  • 1.3.6-3189
    • Option to permanently disable ribbons in the Ribbon-Browser without tampering with the ribbon png files
  • 1.4.0-3325
    • KSP 1.4.0
  • 1.4.1-3335
    • KSP 1.4.1
  • 1.4.2-3375
    • KSP 1.4.2
    • Fix for blurred ribbons in low quality settings
  • 1.5.0-3380
    • KSP 1.5.1
  • 1.5.1-3415
    • KSP 1.6.0
    • Squeezing of science points in hall of fame history (reduces data stored in save file)
  • 1.5.3-3465
    • KSP 1.6.1
    • If a flight is reverted to EDITOR all ribbons are reverted too
  • 1.8.0-3475
    • KSP 1.8.1
  • 1.8.1-3479
    • Minor fix: sorting/statistics for ribbon count in hall of fame fixed
  • 1.10.0-3485
    • KSP 1.10.0

The plugin is currently in some kind of alpha beta gamma stage. It works or at least I think it will work. :rolleyes: But bugs may occur and don't try this plugin in a current game without a backup. And it its my first project in C#, so don't expect to much from the code :wink:.

Kerbals are identified by their names. So don't add kerbals with the same name or Final Frontier will get confused.

The plugin takes use of System.IO to store its data in the corresponding persistent.sfs of a game and its settings in GameData/FinalFrontier.dat.  Release 0.8.x will do a scan for old save games in the saves folder and converts them upon permission by the user. There are no other write operations anywhere on the system.

License: http://opensource.org/licenses/BSD-2-Clause

Source is included in the zip archive.

Final Frontier uses the toolbar created by blizzy78, see http://forum.kerbalspaceprogram.com/threads/60863-0-23-0-Toolbar-1-4-3-Common-API-for-draggable-resizable-buttons-toolbar. If you don't like the toolbar or just want to use the stock toolbar for Final Frontier disable the use of blizzys toolbar in the configuration dialog of Final Frontier.


Bugs:

  • Ike and dres ribbons are the same. (fixed in 0.4.20)
  • Decoupling in orbit, leaving orbit and immediatly returning into orbit give Fast Orbit Ribbon (fixed in 0.5.4)
  • A splashdown landing in water give Mach 10 Ribbon (fixed in 0.5.4)
  • Typo" Grant Tour" instead of "Grand Tour" (fixed in 0.5.4)
  • SOI ribbons (and maybe others too) are not awarded when in time acceleration (fixed in 0.5.6)
  • Gee force ribbons don't work as intended if crew is changed in flight (still suspicious)
  • Closer solar orbit ribbons don't work (fixed in 0.6.0)
  • quickload may cause loss of ribbons (fixed in 0.6.3)
  • Ribbons may get lost, after installing new mods (fixed in 0.8.1-1282)
  • Kerbals may get cloned (fixed in 0.8.3-1361)
  • mission summary incorrect in some cases (fixed in 0.9.6-1826)


 

Edited by Nereid
1.10.0-3485
Link to comment
Share on other sites

What a great idea! Another reason not to kill your little green men for no reason.

I hope, that in future versions of the base game, improvements to the kerbals are offered (IE they get better at something the more they do it). Maybe at that point this mod could be extended as well.

In the mean time, I'll happily add this one to my collection, should fit in nicely with the achievements mod.

Link to comment
Share on other sites

I haven't tested it in career yet, but it should work in career mode too.

But remember: Make a backup of your game!

(I don't think FF will cause problems, but my Mun landing site was lost under the surface after using FF for a while. Maybe a bug in KSP, maybe it was lost before using my own plugin.)

Edited by Nereid
Link to comment
Share on other sites

I love the idea of this mod! Great work!

Quick question, how does it handle reverted flights? Hopefully they're not counted?

This was a problem at first. But if you take a look into the halloffame.ksp you can see how it works. FF will keep track of all important actions. It counts any missions flown with a timestamp. If you revert the game all log entries after the time of the reverted game will not be counted. So no: If you revert a game, all missions and ribbons that were gained after the reverted point in time are lost.

Edited by Nereid
Link to comment
Share on other sites

Nice work ! Can I force edit achievements to kerbals so I wouldn't have to repeat previous missions and I can incorporate them with my current playthrough?

Sorry not at the moment. Currently you will have to edit the halloffame.ksp.

My next goal is the detailed view for each kerbal. And then I have to optimize the texture loading to save a little memory. If this is done I can try to add a "force edit".

Link to comment
Share on other sites

bug [0.1.3]: currently all achieved orbits were counted as first orbits. I will have to look into this (it worked in a previous version).

should be fixed in 0.1.4

Edited by Nereid
Link to comment
Share on other sites

This is awesome! I was considering making this kind of plugin myself because I wanted something exactly like this, but now I don't have to! Thanks!

One suggestion - how about adding some "generic" type awards, ribbons, medals, etc, for Kerbals who exhibited general "bravery" or survival? Just a thought.

Keep up the awesome work!:D

Link to comment
Share on other sites

Just a minor nitpick here: ToolbarManager.Instance.add() will never return null.

Yes. But some of my first attempts had a very strange behavior, so I added this test, to be sure.

And even if a method never returns null, it's a good coding practice to check it anyway (and log it). The next version of the toolbar plugin may have a bug, or there is some kind of resource problem...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...