Moving Bases - Vanilla-Expanded/VanillaExpandedFramework GitHub Wiki

<- Back

With the moving bases system, you can make faction bases that don't stay stationary in the world map, but move around over time.

The system is handled through a Def, MovingBaseDef, which inherits from WorldObjectDef, therefore having all the fields from that, plus its own:

	 public FactionDef baseFaction;

 	 public int ticksPerMove = 3300;

 	 public IntRange initialSpawnCount;

	 public bool initialSpawnScalesWithPopulation;

 	 public string attackConfirmationMessage;

How do I use this code?

You need to make a Def in an xml file. For example, here are the merchant guilds in VFE Medieval 2:

<VEF.Planet.MovingBaseDef>
		<defName>VFEM2_MerchantGuildCaravan</defName>
		<label>merchant's guild</label>
		<description>A group of traveling people.</description>
		<baseFaction>VFEM2_MerchantGuild</baseFaction>
		<worldObjectClass>VFEMedieval.MerchantGuild</worldObjectClass>
		<texture>MapIcons/TradingGuild</texture>
		<useDynamicDrawer>true</useDynamicDrawer>
		<expandingIcon>true</expandingIcon>
		<expandingIconTexture>MapIcons/Expanding/TradingGuildExpanding</expandingIconTexture>
		<expandingIconPriority>10</expandingIconPriority>
		<initialSpawnCount>6</initialSpawnCount>
		<initialSpawnScalesWithPopulation>True</initialSpawnScalesWithPopulation>
		<attackConfirmationMessage>You are about to attack the Merchants' Guild, which will make that faction hostile. Are you sure you want to do that?</attackConfirmationMessage>
</VEF.Planet.MovingBaseDef>

Bear in mind that extra functionality for it is provided in its custom worldObjectClass, which you can see here

⚠️ **GitHub.com Fallback** ⚠️