Mission Framework

A place to discuss mods in development and concepts for new mods.
Post Reply
giantcabbage
Militia Lieutenant
Militia Lieutenant
Posts: 104
Joined: Thu Apr 07, 2011 9:05 pm

Hi,

I've tidied up the MissionFramework system a bit. It probably isn't too different from a player perspective, but the code should be a bit cleaner and more flexible than it used to be. Anyway, I thought I’d upload the latest version here as an alpha release. Any suggestions or ideas are welcome.

Some of the changes since the proof of concept version are:
The GetGlobalDockScreen event for the mission sovereign is now only used for displaying dockscreen overrides and no longer has all the nasty hacks for generating the missions and displaying the mission selection screen. It isn't really necessary for this event to be implemented in the mission sovereign - each mission could have it's own GetGlobalDockScreen event, but this way should scale better when there are many different types of mission.

The mission selection screen is now accessed by a link inserted into the standard dock screens using OnGlobalPaneInit + ScrAddAction. I've added the mission menu to 30 stations so far, mostly to the Main dockscreen, but the Commonwealth one is found in the central plaza and the Sisters one in the Sanctum.

Missions are now generated by (another) virtual station which can generate missions at three different times: OnGlobalSystemCreated, OnPlayerEnteredSystem and when the player docks (OnObjDocked). It is now possible to specify upper limits for the number of missions to spawn: total per game, total per system, total per station, number active per system. These are all set using a CreationCriteria static data on the mission object.

Missions are now offered using an accept/reject screen similar to dsMission used for the Commonwealth Miltia/Fleet missions. At the moment it is integrated into the scrolling mission menu screen.

Future plans/ideas:
Add a time delay between spawning missions. Currently the player can force generate all the missions (up to the station/system/game limits) by docking and undocking a few times.

Allow missions to register OnGlobalPaneInit hooks in a similar way to how GetGlobalDockScreen hooks are done. This will allow 'Special' missions which can have their accept/reject dialog accessed directly from an existing dockscreen rather than through the mission selection screen (this would also require separating the mission accept/reject dialog from the mission selection dockscreen). Examples would be going to the Sisters Sanctum and talking to the Matriarch, or finding missions offered in the commonwealth pub (like the game Privateer)

Tweaks to the way player orders work when multiple missions are running simultaneously. Currently if the player completes one mission they have to use the mission computer to restore the order from the other mission. As simple queue could do this automatically.

Edit - updated the attachment.. and again
Attachments
MissionFramework.zip
(23.45 KiB) Downloaded 222 times
Last edited by giantcabbage on Fri Aug 12, 2011 8:56 pm, edited 2 times in total.
User avatar
digdug
Fleet Admiral
Fleet Admiral
Posts: 2620
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

this is awesome, and would be a lifesaver for the sandbox mod :D
RPC
Fleet Admiral
Fleet Admiral
Posts: 2876
Joined: Thu Feb 03, 2011 5:21 am
Location: Hmm... I'm confused. Anybody have a starmap to the Core?

I barely had time to look at the previous one, and there's already a new version :lol:
Keep up the good work! I'm planning to use this for a mod, so thanks for helping out other modders.
Tutorial List on the Wiki and Installing Mods
Get on Discord for mod help and general chat
Image
Image
Der Tod ist der zeitlose Frieden und das leben ist der Krieg
Wir müssen wissen — wir werden wissen!
I don't want any sort of copyright on my Transcendence mods. Feel free to take/modify whatever you want.
shanejfilomena
Fleet Officer
Fleet Officer
Posts: 1533
Joined: Tue Mar 22, 2011 8:43 pm
Location: Alaska
Contact:

with the only exception to the original having an glitch in the mining : I still use the original ( just don't activate the mining mission ) and enjoy it totally. it is a great diversion and i think a wonderful item for new players .
I have the new one: but I am so attached to the original, Ill just keep the new one in my saving foder :)
Flying Irresponsibly In Eridani......

I don't like to kill pirates in cold blood ..I do it.. but I don't like it..
giantcabbage
Militia Lieutenant
Militia Lieutenant
Posts: 104
Joined: Thu Apr 07, 2011 9:05 pm

Just to clarify, I consider the mission framework to be a derivative of the Transcendence XML sources. For example, the example missions are mostly existing Transcendence missions rewritten to use the framework. As such it is bound by whatever license George uses for his XML code.

Any unique parts of the framework should be considered as unlicensed - so feel free to do what you want with it.

BTW - I’m still planning to work on the code again one day. So if anyone starts using it let me know if you have any questions / suggestions / find any bugs etc.
shanejfilomena
Fleet Officer
Fleet Officer
Posts: 1533
Joined: Tue Mar 22, 2011 8:43 pm
Location: Alaska
Contact:

I am evil; i just grabbed ANOTHER copy :) I love this work in my games :)
Flying Irresponsibly In Eridani......

I don't like to kill pirates in cold blood ..I do it.. but I don't like it..
giantcabbage
Militia Lieutenant
Militia Lieutenant
Posts: 104
Joined: Thu Apr 07, 2011 9:05 pm

I've updated the framework again. It has a couple of small bugfixes and I've added a basic implementation of the Centauri occupation mission - it's currently at the testing stage so it will always show up in the mission computer so you can easily find the station if theres one in the system.
giantcabbage
Militia Lieutenant
Militia Lieutenant
Posts: 104
Joined: Thu Apr 07, 2011 9:05 pm

Another update.

Lots of fixes to the mining survey mission - it should now be playable again.
I've split the wingman behavior into two separate event handlers - one for the general mining AI and one for the mission specific AI. This doesn't make much difference at the moment, but the mining AI could be reused to send other ships mining for ore.

I've also implemented an "interval" condition for missions. The first survey mission will appear 9000 to 18000 ticks after the game starts
Post Reply