About
--------
This is a trivially simple and small mod, whose intention is to provide a sort of a framework for other mods to work with.
It allows modders to create events that are only executed once at the start of the game.
While it's not hard to do this yourself, a standarized "framework" will allow greater compatibility between mods.
Why Would This Be Useful?
-----------------------------------
The problem with the START_GAME and START_BEACON is that the START_GAME event does nothing but replace the first beacon's <text> tag with its own. Its <choices> or <events> have no effect whatsoever.
START_BEACON, on the other hand, is triggered at the start of the game like you'd expect, but is also triggered every time the player enters a civillian sector. Initially, it just has its <text> replaced by the one in START_GAME.
To circumvent that, the mod changes the starting sector's starting event to its own custom one, that only happens once at the beginning of the game.
Why Should I Care?
-------------------------
It's an easy, ready solution to the problem. *shrug*
Also, with the advent of the preprocessed tags that Vhati and I have worked on, introduced in SMM 1.2, mods can be much more modular and hence more compatible with each other.
Agreeing on a common standard will benefit everyone.
How To Use
----------------
Tell people to download this framework and load it before your mod - do not include it in your mod, as that will cause it to overwrite previous mods and completely defeat the purpose of the framework.
Then, use one or both of the examples below in your mod, as you need them:
- If your mod has some optional choices or actions you want the player to make at the beginning, append them to the START_GAME_CHOICES event:
Code: Select all
<mod:findName type="event" name="START_GAME_CHOICES">
<mod-append:choice>
<!-- Example -->
<text>Go about your business</text>
<event>
<text>Suddenly, someone appears on your ship and demands to join your crew!</text>
<crewMember amount="1" />
</event>
</mod-append:choice>
</mod:findName> - If your mod has some important actions that are critical to your mod's workings, chain-load the START_GAME_BEACON event:
Code: Select all
<mod:findName type="event" name="START_GAME_BEACON">
<!-- Proposed naming convention to keep things compatible and tidy -->
<mod:setAttributes name="(mod-name)_START_GAME_BEACON" />
</mod:findName>
<event name="START_GAME_BEACON">
<text>Example</text> <!-- You must have some text here, otherwise the choices are not loaded and the framework breaks entirely -->
<choice>
<text>Example</text>
<event load="(mod-name)_START_GAME_BEACON" />
</choice>
</event>
Requirements
-------------------
This mod uses special pre-processed tags that were introduced in SMM 1.2 -- it will not work with GMM or previous versions of SMM.
As an extension, if you decide to use this, your mod will have the same requirements as this mod.
You can download Slipstream Mod Manager (SMM) here.
Download
-------------
[ Universal Starting Beacon 1.2 ]
For it to work correctly, load it before any other mods that use the framework, but after any mods that change the starting sector.
Changelog
--------------
Code: Select all
1.2
- fixed a bug that would prevent the START_GAME_CHOICES from being triggered whenever the START_GAME_BEACON was chain-loaded.
- this also fixed an issue where your START_GAME_BEACON's event text would not be visible if it happened to be the first event.
- if your START_GAME_BEACON has no event text, you need to give it one, otherwise the framework breaks.
1.15
- fixed a small bug that would prevent the framework from working
1.1
- split the single starting event into two separate events - one for appended choices, one for chain-loading.
1.0
- initial release