Keen:Planet Modding/Fast Travel: Difference between revisions

From Medieval Engineers Wiki
Jump to navigation Jump to search
mNo edit summary
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Introduction==
<noinclude>{{SEO|image_url=http://www.medievalengineerswiki.com/images/b/b7/KeenLogoBig.png|description=In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.}}
{{Keen:OCH}}
 
 
{{Version <!-- Do not change the version until the entire page is up-to-date -->
|release=0|major=4|minor=X|suppress=true}}
[[Category:Keen_Modding_Guides]]</noinclude>
==[[Keen:Planet Modding/Fast Travel|Fast travel settings modding]]==
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.
In this section of the guide we will show you how to mod which sectors are blocked.
In this section of the guide we will show you how to mod which sectors are blocked.
There are 2 ways you can go about it:
There are 2 ways you can go about it:
==Generate fast travel map automatically based on terrain shape==
 
 
===1 Generate automatically based on terrain shape===
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a <code>MyObjectBuilder_TerrainReachabilityProviderDefinition</code>.
<pre>
 
<Definition xsi:type="MyObjectBuilder_TerrainReachabilityProviderDefinition">
<code><RiseThreshold></code> - Sets min. terrain height change which will cause that area is unreachable.
<Id Type="MyObjectBuilder_TerrainReachabilityProviderDefinition" Subtype="Terra"/>


<RiseThreshold>.14</RiseThreshold>
<code><HeightThreshold></code> - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1.  
<HeightThreshold>.6</HeightThreshold>
   
<OverrideForward>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png</OverrideForward>
<OverrideBackward>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Back_ForbiddenAreas.png</OverrideBackward>
<OverrideLeft>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Left_ForbiddenAreas.png</OverrideLeft>
<OverrideRight>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Right_ForbiddenAreas.png</OverrideRight>
<OverrideUp>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Up_ForbiddenAreas.png</OverrideUp>
<OverrideDown>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Down_ForbiddenAreas.png</OverrideDown>
</Definition>
</pre>
'''<RiseThreshold>''' - Sets min. terrain height change which will cause that area is unreachable.


'''<HeightThreshold>''' - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1.  
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: <OverrideNAMEOFFACE>. You will learn more about these overrides in the next part of Fast travel modding.


If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are used to override the generated fast travel map. You will learn more about these overrides in the next part of Fast travel modding.


==Creating fast travel texture override==
===2 Creating fast travel texture override===
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas. This is how the current system of travel only by roads is done. The texture override matches the roads on the map.


The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance.  
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance.  


When you have the texture, select route to it in the definition:
When you have the texture, select route to it in the definition:
<pre><OverrideForward>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png</OverrideForward></pre>
<syntaxhighlight lang="xml"><OverrideForward>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png</OverrideForward></syntaxhighlight>
Reachability definition example:
Reachability definition example:
<pre>
<syntaxhighlight lang="xml" line>
<Definition xsi:type="MyObjectBuilder_TerrainReachabilityProviderDefinition">
<Definition xsi:type="MyObjectBuilder_TerrainReachabilityProviderDefinition">
<Id Type="MyObjectBuilder_TerrainReachabilityProviderDefinition" Subtype="Terra"/>
    <Id Type="MyObjectBuilder_TerrainReachabilityProviderDefinition" Subtype="Terra"/>
<RiseThreshold>.14</RiseThreshold>
    <RiseThreshold>.14</RiseThreshold>
<HeightThreshold>.6</HeightThreshold>
    <HeightThreshold>.6</HeightThreshold>
<OverrideForward>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png</OverrideForward>
    <OverrideForward>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png</OverrideForward>
</Definition>
</Definition>
</pre>
</syntaxhighlight>
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.


==Development reachability==
===Development reachability===
Claimable area size, border highlight, contested timer modding
Claimable area size, border highlight, contested timer modding, Size of the area and highlight properties are moddable as well.
Size of the area and highlight properties are moddable as well.
 


===Area borders highlight===
===Area borders highlight===
<NeutralColor R="225" G="32" B="0" A="64" /> - Set color of an unowned territory
<syntaxhighlight lang="xml" line>
<SelfColor R="0" G="255" B="0" A="64" /> - Sets color of area border owned by you
<NeutralColor R="225" G="32" B="0" A="64" /> <!-- Set color of an unowned territory -->
<AliedColor R="65" G="105" B="225" A="64" /> - Sets color of area border that belongs to allies  
<SelfColor R="0" G="255" B="0" A="64" /> <!-- Sets color of area border owned by you -->
<EnemyColor R="225" G="32" B="0" A="64" /> - Sets color of area border that is hostile
<AliedColor R="65" G="105" B="225" A="64" /> <!-- Sets color of area border that belongs to allies -->
<WallSettings Depth="15" Rise="3" SegmentCount"71" End="115" /> - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border.  
<EnemyColor R="225" G="32" B="0" A="64" /> <!-- Sets color of area border that is hostile -->
<Fade Start="71" End="115" /> - This sets at which point the border starts to fade.  
<WallSettings Depth="15" Rise="3" SegmentCount"71" End="115" /> <!-- Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. -->
Contested timer
<Fade Start="71" End="115" /> <!-- This sets at which point the border starts to fade. -->
</syntaxhighlight>
 
 
===Contested timer===
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of <ContestedTimeInMinutes> parameter.
 
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of <code><ContestedTimeInMinutes></code> parameter.




[[Category:Keen_Modding_Guides]]
<noinclude>View the full [[Keen:Planet Modding - Full Guide|Planet Modding Guide]]</noinclude>

Latest revision as of 20:24, 18 July 2022



Version: 0.4

Fast travel settings modding

In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around. In this section of the guide we will show you how to mod which sectors are blocked. There are 2 ways you can go about it:


1 Generate automatically based on terrain shape

Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness. You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.

<RiseThreshold> - Sets min. terrain height change which will cause that area is unreachable.

<HeightThreshold> - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1.

If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: <OverrideNAMEOFFACE>. You will learn more about these overrides in the next part of Fast travel modding.


2 Creating fast travel texture override

If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas. This is how the current system of travel only by roads is done. The texture override matches the roads on the map.

The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance.

When you have the texture, select route to it in the definition:

<OverrideForward>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png</OverrideForward>

Reachability definition example:

<Definition xsi:type="MyObjectBuilder_TerrainReachabilityProviderDefinition">
    <Id Type="MyObjectBuilder_TerrainReachabilityProviderDefinition" Subtype="Terra"/>
    <RiseThreshold>.14</RiseThreshold>
    <HeightThreshold>.6</HeightThreshold>
    <OverrideForward>Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png</OverrideForward>
</Definition>

This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.

Development reachability

Claimable area size, border highlight, contested timer modding, Size of the area and highlight properties are moddable as well.


Area borders highlight

<NeutralColor R="225" G="32" B="0" A="64" /> <!-- Set color of an unowned territory -->
<SelfColor R="0" G="255" B="0" A="64" /> <!-- Sets color of area border owned by you -->
<AliedColor R="65" G="105" B="225" A="64" /> <!-- Sets color of area border that belongs to allies -->
<EnemyColor R="225" G="32" B="0" A="64" /> <!-- Sets color of area border that is hostile -->
<WallSettings Depth="15" Rise="3" SegmentCount"71" End="115" /> <!-- Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. -->
<Fade Start="71" End="115" /> <!-- This sets at which point the border starts to fade. -->


Contested timer

When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.

Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of <ContestedTimeInMinutes> parameter.


View the full Planet Modding Guide