<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://motmod.ctp2.info/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Modern Times Mod</title>
	<link>http://motmod.ctp2.info/</link>
	<description>Modern Times Mod is a modification to Call To Power II, specifically being developed for the Apolyton Edition, taking advantage of the enhanced modding features and improved performance introduced by the Source Code Project.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="http://motmod.ctp2.info/spip.php?page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="en">
		<title>Missile Silos</title>
		<link>http://motmod.ctp2.info/missile-silos.html</link>
		<guid isPermaLink="true">http://motmod.ctp2.info/missile-silos.html</guid>
		<dc:date>2022-12-07T14:11:45Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>BureauBert</dc:creator>



		<description>
&lt;p&gt;The concept of missile silos is similar to pillboxes: If you build the tile improvement &#034;missile silo&#034; the script creates a &#034;missile silo&#034;-unit that is able to carry up to 12 missiles (nukes or cruise missiles). As in Activision's &#034;Nuclear Detente&#034;-scenario the nukes stored in the silos may be targeted for an automated nuclear counter-strike. &lt;br class='autobr' /&gt;
The script is also intended to make the AI move their nukes into those silos. &lt;br class='autobr' /&gt;
The advantage of storing missiles in silos instead of cities consists (&#8230;)&lt;/p&gt;


-
&lt;a href="http://motmod.ctp2.info/-various-features-.html" rel="directory"&gt;Various Features&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;The concept of missile silos is similar to &lt;a href='http://motmod.ctp2.info/pillbox-and-barbed-wire.html' class=&#034;spip_in&#034;&gt;pillboxes&lt;/a&gt;: If you build the tile improvement &#034;missile silo&#034; the script creates a &#034;missile silo&#034;-unit that is able to carry up to 12 missiles (nukes or cruise missiles). As in Activision's &#034;Nuclear Detente&#034;-scenario the nukes stored in the silos may be targeted for an automated nuclear counter-strike.&lt;/p&gt;
&lt;p&gt;The script is also intended to make the AI move their nukes into those silos.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;advantage&lt;/strong&gt; of storing missiles in silos instead of cities consists in not weakening the garrisons of your cities.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;The Script&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;//-------------------------------------------------------------------------- // MoT Mod for CTP2 (Apolyton Edition) by BureauBert // v1.1 // http://motmod.ctp2.info //-------------------------------------------------------------------------- //////////////////////////////////////////////////////////////////////////// // Nuclear Warfare features // by BureauBert // Makes missile silos functional, and makes the AI store their nukes there //////////////////////////////////////////////////////////////////////////// ///////////////////////////////// // MISSILE SILOS ///////////////////////////////// // Creates/removes silo unit HandleEvent(ImprovementComplete) 'ActivateSilo' post { location_t silTmpLoc; int_t silSiloOwner; silTmpLoc = location[0]; silSiloOwner = CellOwner(location[0]); // If the tile has a silo ti, create silo unit if(TileHasImprovement(silTmpLoc, TerrainImprovementDB(TILEIMP_MISSILE_SILO))) { CreateUnit(silSiloOwner, UnitDB(MISSILE_SILO), silTmpLoc, 0); } } HandleEvent(CutImprovements) 'DeActivateSilo1' post { location_t silTmpLoc; unit_t silTmpUnit; int_t silNumUnits; int_t silCount; int_t silSiloOwner; silTmpLoc = location[0]; // If the tile has a Pillbox, kill the silo unit if(!TileHasImprovement(silTmpLoc, TerrainImprovementDB(TILEIMP_MISSILE_SILO))) { silSiloOwner = CellOwner(silTmpLoc); silNumUnits = GetUnitsAtLocation(silTmpLoc); for(silCount = 0; silCount &lt; silNumUnits; silCount = silCount + 1) { GetUnitFromCell(silTmpLoc, silCount, silTmpUnit); if(silTmpUnit.valid &amp;&amp; IsSiloUnit(silTmpUnit)) { KillUnit(silTmpUnit); } } } } HandleEvent(ImprovementComplete) 'DeActivateSilo2' post { location_t silTmpLoc; unit_t silTmpUnit; int_t silNumUnits; int_t silCount; int_t silSiloOwner; silTmpLoc = location[0];	// start location // If the tile has no Pillbox, kill the pillbox unit if(!TileHasImprovement(silTmpLoc, TerrainImprovementDB(TILEIMP_MISSILE_SILO))) { silSiloOwner = CellOwner(silTmpLoc); silNumUnits = GetUnitsAtLocation(silTmpLoc); for(silCount = 0; silCount &lt; silNumUnits; silCount = silCount + 1) { GetUnitFromCell(silTmpLoc, silCount, silTmpUnit); if(silTmpUnit.valid &amp;&amp; IsSiloUnit(silTmpUnit)) { KillUnit(silTmpUnit); } } } } HandleEvent(KillUnit) 'DeActivateSiloTileimp' pre { location_t silTmpLoc; unit_t silTmpUnit; silTmpUnit = unit[1]; silTmpLoc = silTmpUnit.location; if(silTmpUnit.valid &amp;&amp; IsSiloUnit(silTmpUnit)) { Event:CutImprovements(silTmpLoc); } } HandleEvent(BeginTurnUnit) 'SiloChangeOwner' pre { location_t silTmpLoc; unit_t silTmpUnit; int_t silUnitOwner; int_t silTileOwner; silTmpUnit = unit[0]; silTmpLoc = silTmpUnit.location; silUnitOwner = silTmpUnit.owner; silTileOwner = CellOwner(silTmpLoc); if(silTmpUnit.valid &amp;&amp; IsSiloUnit(silTmpUnit)) { if(silUnitOwner != silTileOwner) { if(TileHasImprovement(silTmpLoc, TerrainImprovementDB(TILEIMP_MISSILE_SILO))) { KillUnit(silTmpUnit); CreateUnit(silTileOwner, UnitDB(PILLBOX), silTmpLoc, 0); } } } } // Move our boom-booms to the store HandleEvent(AddUnitToArmy) 'MoveBoomBoomToStore' post { unit_t nucUnit; int_t nucCountA; int_t nucCountB; int_t nucPlayer; location_t	nucLoc; location_t	nucLocations[]; location_t	nucSiloLoc; int_t nucDist; int_t nucCheckDist; army_t nucArmy; nucUnit = unit[0]; nucPlayer = unit[0].owner; nucLoc = unit[0].location; nucArmy = army[0]; nucCountB = 0; nucDist = 999999; if(!IsHumanPlayer(nucPlayer)) { if(nucUnit.type == UnitDB(UNIT_NUKE)) { for(nucCountA = 0; nucCountA &lt; MOD_MAPLOCATIONS.#; nucCountA = nucCountA + 1) { if(CellOwner(MOD_MAPLOCATIONS[nucCountA]) == nucPlayer &amp;&amp; TileHasImprovement(MOD_MAPLOCATIONS[nucCountA], TerrainImprovementDB(TILEIMP_MISSILE_SILO))) { nucLocations[nucCountB] = MOD_MAPLOCATIONS[nucCountA]; nucCountB = nucCountB + 1; } } for(nucCountA = 0; nucCountA &lt; nucLocations.#; nucCountA = nucCountA + 1) { nucCheckDist = Distance(nucLoc, nucLocations[nucCountA]); if(nucCheckDist &lt; nucDist &amp;&amp; UnitsInCell(nucLocations[nucCountA]) &lt; 13) { nucDist = nucCheckDist; nucSiloLoc = nucLocations[nucCountA]; } } if(nucDist &lt; 999999) { MoveArmyToTarget(nucArmy, nucSiloLoc); } } } }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Air Units</title>
		<link>http://motmod.ctp2.info/air-units-219.html</link>
		<guid isPermaLink="true">http://motmod.ctp2.info/air-units-219.html</guid>
		<dc:date>2022-12-07T13:43:15Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>BureauBert</dc:creator>



		<description>&lt;p&gt;Air Unit script to make AI move air units back to base.&lt;/p&gt;

-
&lt;a href="http://motmod.ctp2.info/-strategy-tactics-.html" rel="directory"&gt;Strategy &amp; Tactics&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Air Unit script to make AI move air units back to base &#8212; originally written by Dale.&lt;/p&gt;
&lt;p&gt;The Script:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;//-------------------------------------------------------------------------- // MoT Mod for CTP2 (Apolyton Edition) by BureauBert // v1.1 // http://motmod.ctp2.info //-------------------------------------------------------------------------- //////////////////////////////////////////////////////////////////////////// // Based upon: // Air Unit script to make AI move air units back to base. // by Dale // Version 1.1 14-May-2001 // // 22-April-2006: // - added !IsHumanPlayer check // - added usage of MoT common functions: // -- IsAircraft // -- IsLandingLocation // -- MoveArmyToTarget //////////////////////////////////////////////////////////////////////////// /////////////////////////////////// // Common Functions /////////////////////////////////// // IsAircraft(), IsLandingLocation() and MoveArmyToTarget() in main.slc /////////////////////////////////// // Move Unit event /////////////////////////////////// HandleEvent(MoveOrder) 'AirMove' pre { int_t airPlayer; int_t airCountA; int_t airCountB; int_t airCountC; int_t airX; int_t airY; int_t airNumCities; int_t airArmyCount; int_t airTmpCityIdx; city_t airTmpCity; unit_t airTmpUnit; army_t airTmpArmy; army_t airTmpArmy1; location_t airTmpLoc; location_t airTmpLoc1; location_t airTmpLoc3; location_t airTmpLoc4; location_t airArmyLoc; airArmyCount = 0; airTmpArmy = army[0]; airArmyLoc = airTmpArmy.location; airTmpLoc3 = airArmyLoc; airPlayer = army[0].owner; if(!IsHumanPlayer(airPlayer)) { for(airCountA = 0; airCountA &lt; airTmpArmy.size; airCountA = airCountA + 1) { if(GetUnitFromCell(airArmyLoc, airCountA, airTmpUnit)) { if(IsAircraft(airTmpUnit)) { airNumCities = PlayerCityCount(airPlayer); airTmpCityIdx = GetCapital(airPlayer); if(GetCityByIndex(airPlayer, airTmpCityIdx, airTmpCity)) { airTmpLoc = airTmpCity.location; } for(airCountC = 0; airCountC &lt; airNumCities; airCountC = airCountC + 1) { if(GetCityByIndex(airPlayer, airCountC, airTmpCity)) { airTmpLoc1 = airTmpCity.location; } if(Distance(airTmpUnit.location, airTmpLoc1) &lt; Distance(airTmpUnit.location, airTmpLoc)) { airTmpLoc = airTmpLoc1; } } for(airCountB = 0; airCountB &lt; 10; airCountB = airCountB + 1) { if(GetNeighbor(airTmpLoc3, 3, airTmpLoc4)) { airTmpLoc3 = airTmpLoc4; } } if(IsLandingLocation(airTmpLoc3)) { if(Distance(airTmpUnit.location, airTmpLoc3) &lt; Distance(airTmpUnit.location, airTmpLoc)) { airTmpLoc = airTmpLoc3; } } for(airX = 0; airX &lt; 10; airX = airX + 1) { for(airY = 0; airY &lt; 21; airY = airY + 1) { if(GetNeighbor(airTmpLoc3, 2, airTmpLoc4)) { airTmpLoc3 = airTmpLoc4; if(IsLandingLocation(airTmpLoc3)) { if(Distance(airTmpUnit.location, airTmpLoc3) &lt; Distance(airTmpUnit.location, airTmpLoc)) { airTmpLoc = airTmpLoc3; } } } } if(GetNeighbor(airTmpLoc3, 7, airTmpLoc4)) { airTmpLoc3 = airTmpLoc4; if(IsLandingLocation(airTmpLoc3)) { if(Distance(airTmpUnit.location, airTmpLoc3) &lt; Distance(airTmpUnit.location, airTmpLoc)) { airTmpLoc = airTmpLoc3; } } for(airY = 0; airY &lt; 21; airY = airY + 1) { if(GetNeighbor(airTmpLoc3, 5, airTmpLoc4)) { airTmpLoc3 = airTmpLoc4; if(IsLandingLocation(airTmpLoc3)) { if(Distance(airTmpUnit.location, airTmpLoc3) &lt; Distance(airTmpUnit.location, airTmpLoc)) { airTmpLoc = airTmpLoc3; } } } } } if(GetNeighbor(airTmpLoc3, 7, airTmpLoc4)) { airTmpLoc3 = airTmpLoc4; if(IsLandingLocation(airTmpLoc3)) { if(Distance(airTmpUnit.location, airTmpLoc3) &lt; Distance(airTmpUnit.location, airTmpLoc)) { airTmpLoc = airTmpLoc3; } } } } if(airArmyLoc != airTmpLoc) { ClearOrders(airTmpUnit); Event:UngroupOrder(airTmpArmy); Event:AddUnitToArmy(airTmpUnit, airTmpArmy1, airArmyCount); airArmyCount = airArmyCount + 1; MoveArmyToTarget(airTmpArmy1, airTmpLoc); } } } } } return CONTINUE; }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Monuments</title>
		<link>http://motmod.ctp2.info/monuments.html</link>
		<guid isPermaLink="true">http://motmod.ctp2.info/monuments.html</guid>
		<dc:date>2015-07-26T20:52:28Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>BureauBert</dc:creator>



		<description>
&lt;p&gt;This is another &#8220;eyecandy&#8221;-script, which builds monuments on the player's territory when he accomplishes certain features: Recapture of a City Sailed Around the World Enemy Defeated by Conquest First to Enter a Modern Government &lt;br class='autobr' /&gt;
The Script &lt;br class='autobr' /&gt; //-------------------------------------------------------------------------- // MoT Mod for CTP2 (Apolyton Edition) by BureauBert // v1.1 // http://motmod.ctp2.info //-------------------------------------------------------------------------- (&#8230;)&lt;/p&gt;


-
&lt;a href="http://motmod.ctp2.info/-historical-features-and-events-.html" rel="directory"&gt;Historical Features And Events&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;This is another &#8220;eyecandy&#8221;-script, which builds monuments on the player's territory when he accomplishes certain features:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Recapture of a City&lt;/li&gt;&lt;li&gt; Sailed Around the World&lt;/li&gt;&lt;li&gt; Enemy Defeated by Conquest&lt;/li&gt;&lt;li&gt; First to Enter a Modern Government&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;The Script&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='slic spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;//-------------------------------------------------------------------------- // MoT Mod for CTP2 (Apolyton Edition) by BureauBert // v1.1 // http://motmod.ctp2.info //-------------------------------------------------------------------------- //////////////////////////////////////////////////////////////////////////// // Monuments Code // by BureauBert // This script places monuments on the map when player achieve certain features. //////////////////////////////////////////////////////////////////////////// /////////////////////////////////// // Functions /////////////////////////////////// void_f InitMonuments() { int_t monCount; for(monCount = 0; monCount &lt; g.max_players; monCount = monCount + 1) { MON_GovernmentTracker[monCount] = -1; } } void_f CreateMonument(int_t thePlayer, location_t theLocation, int_t theMonument) { int_t monVisiPlayer; location_t monVisiCityLoc; int_t monCountB; int_t monCountC; int_t monVisiToBuild; location_t monVisiTmpLoc; location_t monVisiBuildLoc; int_t monLookLoc; location_t monCheckLoc; monVisiPlayer = thePlayer; monVisiCityLoc = theLocation; monVisiToBuild = theMonument; int_t check; int_t timp; int_t rand; monVisiBuildLoc = monVisiCityLoc; for(monCountB = 7; monCountB &gt; -1; monCountB = monCountB - 1){ if(GetNeighbor(monVisiCityLoc, monCountB, monVisiTmpLoc)) { timp = 0; if(TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_PLAINS) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_GRASSLAND) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_DESERT) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_TUNDRA) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_HILL) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_FOREST) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_JUNGLE) ){ for(monCountC = 0; monCountC &lt; MOD_NUMOFTILEIMPS; monCountC = monCountC + 1) { if(TileHasImprovement(monVisiTmpLoc, monCountC) &amp;&amp; monCountC != TerrainImprovementDB(TILEIMP_TERRAFORM_GRASSLAND)) { timp = timp + 1; } if(TileHasWonder(monVisiTmpLoc) || TileHasNaturalWonder(monVisiTmpLoc) || TileHasCapital(monVisiTmpLoc) || TileHasMonument(monVisiTmpLoc)) { timp = timp + 10; } if(HasGood(monVisiTmpLoc) &gt; -1) { timp = timp + 10; } } if(timp &lt; 1) { monVisiBuildLoc = monVisiTmpLoc; monCountB = -1; } } } } if(monVisiBuildLoc == monVisiCityLoc) { for(monCountB = 7; monCountB &gt; -1; monCountB = monCountB - 1){ if(GetNeighbor(monVisiCityLoc, monCountB, monVisiTmpLoc)) { timp = 0; if(TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_MOUNTAIN) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_BROWN_HILL) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_BROWN_MOUNTAIN) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_WHITE_HILL) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_WHITE_MOUNTAIN) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_GLACIER) || TerrainType(monVisiTmpLoc) == TerrainDB(TERRAIN_SWAMP) ){ for(monCountC = 0; monCountC &lt; MOD_NUMOFTILEIMPS; monCountC = monCountC + 1) { if(TileHasImprovement(monVisiTmpLoc, monCountC) &amp;&amp; monCountC != TerrainImprovementDB(TILEIMP_TERRAFORM_GRASSLAND)) { timp = timp + 1; } if(TileHasWonder(monVisiTmpLoc) || TileHasNaturalWonder(monVisiTmpLoc) || TileHasCapital(monVisiTmpLoc) || TileHasMonument(monVisiTmpLoc)) { timp = timp + 10; } if(HasGood(monVisiTmpLoc) &gt; -1) { timp = timp + 10; } } if(timp &lt; 1) { monVisiBuildLoc = monVisiTmpLoc; monCountB = -1; } } } } } if(monVisiBuildLoc == monVisiCityLoc){ check = 0; GetRandomNeighbor(monVisiCityLoc, monVisiTmpLoc); while(check &lt; 8) { timp = 0; if(IsWater(monVisiTmpLoc) || TileHasWonder(monVisiTmpLoc) || TileHasCapital(monVisiTmpLoc) || TileHasMonument(monVisiTmpLoc) || HasGood(monVisiTmpLoc) &gt; -1) { timp = timp + 1; } if(timp == 0){ for(monCountB = 0; monCountB &lt; MOD_NUMOFTILEIMPS; monCountB = monCountB + 1) { if(TileHasImprovement(monVisiTmpLoc, monCountB)) { Event:CutImprovements(monVisiTmpLoc); } } monVisiBuildLoc = monVisiTmpLoc; check = 8; } else { GetRandomNeighbor(monVisiCityLoc, monVisiTmpLoc); check = check + 1; } } } if(monVisiBuildLoc != monVisiCityLoc) { rand = Random(2); if(rand == 1) { Terraform(monVisiBuildLoc, TerrainDB(TERRAIN_PLAINS)); FinishImprovements(monVisiBuildLoc); } elseif(rand == 0) { Terraform(monVisiBuildLoc, TerrainDB(TERRAIN_GRASSLAND)); FinishImprovements(monVisiBuildLoc); } } if(monVisiBuildLoc != monVisiCityLoc) { if(monVisiToBuild &gt; -1) { VIS_VisiStuffPlacement = 1; GrantAdvance(monVisiPlayer, AdvanceDB(ADVANCE_SUBNEURAL_ADS)); Event:CreateImprovement(monVisiPlayer, monVisiBuildLoc, monVisiToBuild, 0); } FinishImprovements(monVisiBuildLoc); } } /////////////////////////////////// // Featured Events /////////////////////////////////// // Recapture City HandleEvent(CaptureCity) 'CityRecaptureTracker' post { MON_RecaptureCity = city[0]; MON_RecapturePlayer = city[0].owner; } HandleEvent(AccomplishFeat) 'CityRecaptureMonument' post { int_t monTheFeature; int_t monThePlayer; location_t monTheLocation; int_t monTheMonument; monTheFeature = value[0].value; if(monTheFeature == FeatDB(FEAT_CITY_RECAPTURED)) { monTheLocation = MON_RecaptureCity.location; monThePlayer = MON_RecapturePlayer; monTheMonument = TerrainimprovementDB(TILEIMP_RECAPTURED); CreateMonument(monThePlayer, monTheLocation, monTheMonument); // DisableTrigger('CityRecaptureTracker'); // DisableTrigger('CityRecaptureMonument'); } } // Sailed around the world HandleEvent(AccomplishFeat) 'SailedAroundTheWorldMonument' post { int_t monTheFeature; int_t monThePlayer; location_t monTheLocation; int_t monTheMonument; int_t monCities; int_t monCityCycle; city_t monCheckCity; city_t monCity; int_t monCitySize; monTheFeature = value[0].value; monThePlayer = value[1].value; if(monTheFeature == FeatDB(FEAT_SAILED_AROUND_WORLD)) { monTheMonument = TerrainimprovementDB(TILEIMP_SAILED); monCities = Cities(monThePlayer); monCitySize = 0; for(monCityCycle = 0; monCityCycle &lt; monCities; monCityCycle = monCityCycle + 1) { if(GetCityByIndex(monThePlayer, monCityCycle, monCheckCity)) { if(IsCoastalCity(monCheckCity) &amp;&amp; monCheckCity.population &gt; monCitySize) { monCitySize = monCheckCity.population; monTheLocation = monCheckCity.location; monCity = monCheckCity; } } } if(CityIsValid(monCity)) { CreateMonument(monThePlayer, monTheLocation, monTheMonument); } // DisableTrigger('SailedAroundTheWorldMonument'); } } // Conquered enemy by force HandleEvent(AccomplishFeat) 'ConqueredByForceMonument' post { int_t monTheFeature; int_t monThePlayer; location_t monTheLocation; int_t monTheMonument; int_t monCityIdx; city_t monCity; monTheFeature = value[0].value; monThePlayer = value[1].value; if(monTheFeature == FeatDB(FEAT_CONQUERED_BY_FORCE)) { monTheMonument = TerrainimprovementDB(TILEIMP_CONQUERED); monCityIdx = GetCapital(monThePlayer); if(GetCityByIndex(monThePlayer, monCityIdx, monCity) &amp;&amp; CityIsValid(monCity)) { monTheLocation = monCity.location; CreateMonument(monThePlayer, monTheLocation, monTheMonument); } // DisableTrigger('ConqueredByForceMonument'); } } // First players to adopt modern governments HandleEvent(BeginTurn) 'GovernmentMonumentsGovTracker' pre { int_t monThePlayer; monThePlayer = player[0].owner; MON_GovernmentTracker[monThePlayer] = player[0].government; return CONTINUE; } HandleEvent(EndTurn) 'FirstSocialistMonument' pre { int_t monThePlayer; int_t monNewGovernment; location_t monTheLocation; int_t monTheMonument; int_t monCityIdx; city_t monCity; monThePlayer = player[0].owner; monNewGovernment = player[0].government; if(monNewGovernment != MON_GovernmentTracker[monThePlayer] &amp;&amp; monNewGovernment == GovernmentDB(GOVERNMENT_COMMUNISM) ) { monTheMonument = TerrainimprovementDB(TILEIMP_SOCIALIST); monCityIdx = GetCapital(monThePlayer); if(GetCityByIndex(monThePlayer, monCityIdx, monCity) &amp;&amp; CityIsValid(monCity)) { monTheLocation = monCity.location; CreateMonument(monThePlayer, monTheLocation, monTheMonument); } DisableTrigger('FirstSocialistMonument'); } return CONTINUE; } HandleEvent(EndTurn) 'FirstDemocratMonument' pre { int_t monThePlayer; int_t monNewGovernment; location_t monTheLocation; int_t monTheMonument; int_t monCityIdx; city_t monCity; monThePlayer = player[0].owner; monNewGovernment = player[0].government; if(monNewGovernment != MON_GovernmentTracker[monThePlayer] &amp;&amp; monNewGovernment == GovernmentDB(GOVERNMENT_DEMOCRACY) ) { monTheMonument = TerrainimprovementDB(TILEIMP_DEMOCRATIC); monCityIdx = GetCapital(monThePlayer); if(GetCityByIndex(monThePlayer, monCityIdx, monCity) &amp;&amp; CityIsValid(monCity)) { monTheLocation = monCity.location; CreateMonument(monThePlayer, monTheLocation, monTheMonument); } DisableTrigger('FirstDemocratMonument'); } return CONTINUE; } HandleEvent(EndTurn) 'FirstFundamentalistMonument' pre { int_t monThePlayer; int_t monNewGovernment; location_t monTheLocation; int_t monTheMonument; int_t monCityIdx; city_t monCity; monThePlayer = player[0].owner; monNewGovernment = player[0].government; if(monNewGovernment != MON_GovernmentTracker[monThePlayer] &amp;&amp; monNewGovernment == GovernmentDB(GOVERNMENT_FUNDAMENTALISM) ) { monTheMonument = TerrainimprovementDB(TILEIMP_FUNDAMENTALIST); monCityIdx = GetCapital(monThePlayer); if(GetCityByIndex(monThePlayer, monCityIdx, monCity) &amp;&amp; CityIsValid(monCity)) { monTheLocation = monCity.location; CreateMonument(monThePlayer, monTheLocation, monTheMonument); } DisableTrigger('FirstFundamentalistMonument'); } return CONTINUE; } HandleEvent(EndTurn) 'FirstFascistMonument' pre { int_t monThePlayer; int_t monNewGovernment; location_t monTheLocation; int_t monTheMonument; int_t monCityIdx; city_t monCity; monThePlayer = player[0].owner; monNewGovernment = player[0].government; if(monNewGovernment != MON_GovernmentTracker[monThePlayer] &amp;&amp; monNewGovernment == GovernmentDB(GOVERNMENT_FASCISM) ) { monTheMonument = TerrainimprovementDB(TILEIMP_FASCIST); monCityIdx = GetCapital(monThePlayer); if(GetCityByIndex(monThePlayer, monCityIdx, monCity) &amp;&amp; CityIsValid(monCity)) { monTheLocation = monCity.location; CreateMonument(monThePlayer, monTheLocation, monTheMonument); } DisableTrigger('FirstFascistMonument'); } return CONTINUE; } /////////////////////////////////// // Pillage Protection /////////////////////////////////// HandleEvent(PillageOrder) 'MonumentsPillageProtectA' pre { location_t monLoc; monLoc = army[0].location; if(TileHasMonument(monLoc)) { return STOP; } else { return CONTINUE; } } HandleEvent(PillageUnit) 'MonumentsPillageProtectB' pre { location_t monLoc; monLoc = unit[0].location; if(TileHasMonument(monLoc)) { return STOP; } else { return CONTINUE; } } HandleEvent(CutImprovements)'MonumentsPillageProtectC' pre { location_t monLoc; monLoc = location[0]; if(TileHasMonument(monLoc)) { return STOP; } else { return CONTINUE; } } // prevent overbuilding of visible wonders HandleEvent(CreateImprovement) 'MonumentsOverbuildProtection' pre { if(TileHasMonument(location[0])) { return STOP; } return CONTINUE; }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Natural Wonders</title>
		<link>http://motmod.ctp2.info/natural-wonders.html</link>
		<guid isPermaLink="true">http://motmod.ctp2.info/natural-wonders.html</guid>
		<dc:date>2015-07-26T20:11:02Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>BureauBert</dc:creator>



		<description>
&lt;p&gt;Implementation of The Immortal Wombat's Mod: &lt;br class='autobr' /&gt;
&#8220;This mod makes the world a little more interesting by adding up to 7 new features onto the map &#8212; seven of the most beautiful natural features of earth (in theory at least. my art's not up to much). &lt;br class='autobr' /&gt;
They are: Ayers Rock, the Great Barrier Reef, the Grand Canyon, Angel Falls, Lake Baikal, the Guillin Hill, the Urgup Cones.&#8221; &lt;br class='autobr' /&gt;
The Script &lt;br class='autobr' /&gt; //-------------------------------------------------------------------------- // MoT Mod for CTP2 (Apolyton (&#8230;)&lt;/p&gt;


-
&lt;a href="http://motmod.ctp2.info/-various-features-.html" rel="directory"&gt;Various Features&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Implementation of &lt;a href=&#034;http://iw.ctp2.info/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;The Immortal Wombat's&lt;/a&gt; Mod:&lt;/p&gt;
&lt;p&gt;&#8220;This mod makes the world a little more interesting by adding up to 7 new features onto the map &#8212; seven of the most beautiful natural features of earth (in theory at least. my art's not up to much).&lt;/p&gt;
&lt;p&gt;They are: Ayers Rock, the Great Barrier Reef, the Grand Canyon, Angel Falls, Lake Baikal, the Guillin Hill, the Urgup Cones.&#8221;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;The Script&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='slic spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;//-------------------------------------------------------------------------- // MoT Mod for CTP2 (Apolyton Edition) by BureauBert // v1.1 // http://motmod.ctp2.info //-------------------------------------------------------------------------- //========================================================= // Natural Wonders // Another tile mod by the Immortal Wombat // // Thanks to Dale for the idea, and Martin G&#252;hmann, for // GoodMod, from which the idea of using 'special' tile // improvements and from which some of this code came. //========================================================= HandleEvent (CreateImprovement)'IWN_TimpOnNaturalWonderStop' pre { int_t IWN_tilimpcreate; location_t tmpLoc; IWN_tilimpcreate = value[0]; tmpLoc = location[0]; if (!IsHumanPlayer(player[0])&amp;&amp;(GetCurrentRound () &gt; 1)) { if (TileHasNaturalWonder(tmpLoc)){ return STOP; } } return CONTINUE; } //--------------------------------------- // Plant the wonders on the map // int_f DoNW(location_t NWonderLoc) { location_t	tmpLoc; unit_t	BarbUnit; tmpLoc = NWonderLoc; CreateUnit(0, UnitDB(UNIT_BOMBER), tmpLoc, 1, BarbUnit); Event:CreateImprovement(0,tmpLoc, TerrainImprovementDB(TILEIMP_BORDER), 0); Event: DisbandUnit(BarbUnit); return 1; } int_f IWN_AllDone(int_t tilecounter) { if(IWN_AYERS &amp;&amp; IWN_REEF &amp;&amp; IWN_CANYON &amp;&amp; IWN_FALL &amp;&amp; IWN_GUILLIN &amp;&amp; IWN_BAIKAL &amp;&amp; IWN_URGUP) { return 1; } if(tilecounter &gt;= GetMapWidth() * GetMapHeight()) { return 1; } else { return 0; } } HandleEvent(BeginTurn) 'IWN_placeborders' pre { int_t i; int_t j; int_t k; int_t rnd; int_t count; int_t total; location_t tmpLoc; location_t tmp2Loc; location_t tmp3Loc; location_t BorderLoc; IWN_AYERS = 0; IWN_REEF = 0; IWN_CANYON = 0; IWN_FALL = 0; IWN_GUILLIN = 0; IWN_BAIKAL = 0; IWN_URGUP = 0; if(GetCurrentRound () == 0) { if(!HasAdvance(0, ID_ADVANCE_SUBNEURAL_ADS)) { GrantAdvance(0, AdvanceDB(ADVANCE_SUBNEURAL_ADS)); } total = 0; while(!IWN_AllDone(total)) { i = random(GetMapWidth() - 1); j = random(GetMapHeight() - 1); MakeLocation(tmpLoc, i, j); total = total + 1; if(TerrainType(tmpLoc) == TerrainDB(TERRAIN_WATER_BEACH) &amp;&amp; IWN_BAIKAL == 0) { count = 0; for(k = 0; k &lt; 8; k = k + 1){ if(GetNeighbor(tmpLoc, k, tmp2Loc)) { if(IsWater(tmp2Loc)){ count = count + 1; } } } if(count == 0){ if(GetNeighbor(tmpLoc, 7, BorderLoc)) { IWN_BAIKAL_LOC = tmpLoc; IWN_BAIKAL = DoNW(BorderLoc); } } } // Find any single tile of beach surrounded by land // elseif(TerrainType(tmpLoc) == TerrainDB(TERRAIN_PLAINS) &amp;&amp; UnitsInCell(tmpLoc) &lt; 1 &amp;&amp; IWN_AYERS == 0 &amp;&amp; !TileHasImprovement(tmpLoc, TerrainImprovementDB(TILEIMP_NW_CANYON))) { if(GetNeighbor(tmpLoc, 7, BorderLoc)) { IWN_AYERS_LOC = tmpLoc; IWN_AYERS = DoNW(BorderLoc); } } // any plains tile // elseif(TerrainType(tmpLoc) == TerrainDB(TERRAIN_PLAINS) &amp;&amp; UnitsInCell(tmpLoc) &lt; 1 &amp;&amp; IWN_CANYON == 0 &amp;&amp; !TileHasImprovement(tmpLoc, TerrainImprovementDB(TILEIMP_NW_AYERS))) { if(GetNeighbor(tmpLoc, 7, BorderLoc)) { IWN_CANYON_LOC = tmpLoc; IWN_CANYON = DoNW(BorderLoc); } } // any plains tile // elseif(TerrainType(tmpLoc) == TerrainDB(TERRAIN_WATER_REEF) &amp;&amp; IWN_REEF == 0) { if(GetNeighbor(tmpLoc, 7, BorderLoc)) { for(k = 0; k &lt; 8; k = k + 1) { if(GetNeighbor(tmpLoc, k, tmp2Loc)) { if(TerrainType(tmp2Loc) == TerrainDB(TERRAIN_WATER_REEF)) { IWN_REEF_DIR = k; IWN_REEF_LOC = tmpLoc; IWN_REEF = DoNW(BorderLoc); } } } } } // start on any reef tile, then move in a random direction, placing up to 4 more reef tile imps, // to create a line of them // elseif(TerrainType(tmpLoc) == TerrainDB(TERRAIN_GRASSLAND) &amp;&amp; UnitsInCell(tmpLoc) &lt; 1 &amp;&amp; IWN_GUILLIN == 0) { if(GetNeighbor(tmpLoc, 7, BorderLoc)) { IWN_GUILLIN_LOC = tmpLoc; IWN_GUILLIN = DoNW(BorderLoc); } } // any grassland tile // elseif(TerrainType(tmpLoc) == TerrainDB(TERRAIN_HILL) &amp;&amp; UnitsInCell(tmpLoc) &lt; 1 &amp;&amp; IWN_FALL == 0 &amp;&amp; HasRiver(tmpLoc)) { if(GetNeighbor(tmpLoc, 6, tmp2Loc)) { if(HasRiver(tmp2Loc)) { count = 0; for(k = 1; k &lt; 5; k = k + 1) { if(GetNeighbor(tmpLoc, k, tmp3Loc)) { if(k != 2 &amp;&amp; HasRiver(tmp3Loc)) { count = count + 1; } } if(count == 0){ if(GetNeighbor(tmpLoc, 7, BorderLoc)) { IWN_FALL_LOC = tmpLoc; IWN_FALL = DoNW(BorderLoc); } } } } } } // // Complicated one. Only creates falls when the neighbouring tile to the south west has a river, and // the other surrounding tiles do not. This creates the falls as an end-point at the source of a river // hence the placement in the hills. // elseif(TerrainType(tmpLoc) == TerrainDB(TERRAIN_DESERT) &amp;&amp; UnitsInCell(tmpLoc) &lt; 1 &amp;&amp; IWN_URGUP == 0) { if(GetNeighbor(tmpLoc, 7, BorderLoc)) { IWN_URGUP_LOC = tmpLoc; IWN_URGUP = DoNW(BorderLoc); } } // any desert tile // } Disabletrigger('IWN_placeborders'); return CONTINUE; } } HandleEvent(BeginTurnProduction)'IWN_finishborders' post { int_t i; int_t j; location_t tmpLoc; location_t BorderLoc; for(i = 0; i &lt; GetMapWidth() - 1; i = i + 1) { for(j = 0; j &lt; GetMapHeight() - 1; j = j + 1) { MakeLocation(tmpLoc, i, j); if(tmpLoc == IWN_AYERS_LOC || tmpLoc == IWN_REEF_LOC || tmpLoc == IWN_CANYON_LOC || tmpLoc == IWN_FALL_LOC || tmpLoc == IWN_GUILLIN_LOC || tmpLoc == IWN_BAIKAL_LOC || tmpLoc == IWN_URGUP_LOC) { if(GetNeighbor(tmpLoc, 7, BorderLoc)) { FinishImprovements(BorderLoc); } } } } Disabletrigger('IWN_finishborders'); } HandleEvent(BeginTurnImprovements) 'IWN_place_nw' pre{ int_t k; location_t BorderLoc; location_t tmp2Loc; location_t tmpLoc; if(GetCurrentRound () &lt;= 1) { if(IWN_BAIKAL) { Event:CreateImprovement(0, IWN_BAIKAL_LOC, TerrainImprovementDB(TILEIMP_NW_BAIKAL), 0); if(GetNeighbor(IWN_BAIKAL_LOC, 7, BorderLoc)) { Event:CutImprovements(BorderLoc); } } if(IWN_AYERS) { Event:CreateImprovement(0, IWN_AYERS_LOC, TerrainImprovementDB(TILEIMP_NW_AYERS), 0); if(GetNeighbor(IWN_AYERS_LOC, 7, BorderLoc)) { Event:CutImprovements(BorderLoc); } } if(IWN_CANYON) { Event:CreateImprovement(0, IWN_CANYON_LOC, TerrainImprovementDB(TILEIMP_NW_CANYON), 0); if(GetNeighbor(IWN_CANYON_LOC, 7, BorderLoc)) { Event:CutImprovements(BorderLoc); } } if(IWN_REEF) { Event:CreateImprovement(0, IWN_REEF_LOC, TerrainImprovementDB(TILEIMP_NW_REEF), 0); tmpLoc = IWN_REEF_LOC; for(k=0; k &lt; 4; k = k + 1) { if(GetNeighbor(tmpLoc, IWN_REEF_DIR, tmp2Loc)) { tmpLoc = tmp2Loc; if(TerrainType(tmpLoc) == TerrainDB(TERRAIN_WATER_REEF)) { Event:CreateImprovement(0, tmpLoc, TerrainImprovementDB(TILEIMP_NW_REEF), 0); } else { k = 4; } } } if(GetNeighbor(IWN_REEF_LOC, 7, BorderLoc)) { Event:CutImprovements(BorderLoc); } } if(IWN_GUILLIN) { Event:CreateImprovement(0, IWN_GUILLIN_LOC, TerrainImprovementDB(TILEIMP_NW_GUILLIN), 0); if(GetNeighbor(IWN_GUILLIN_LOC, 7, BorderLoc)) { Event:CutImprovements(BorderLoc); } } if(IWN_FALL) { Event:CreateImprovement(0, IWN_FALL_LOC, TerrainImprovementDB(TILEIMP_NW_FALL), 0); if(GetNeighbor(IWN_FALL_LOC, 7, BorderLoc)) { Event:CutImprovements(BorderLoc); } } if(IWN_URGUP) { Event:CreateImprovement(0, IWN_URGUP_LOC, TerrainImprovementDB(TILEIMP_NW_URGUP), 0); if(GetNeighbor(IWN_URGUP_LOC, 7, BorderLoc)) { Event:CutImprovements(BorderLoc); } } } Disabletrigger('IWN_place_nw'); return CONTINUE; } //--------------------------------------------------------- // finish imp and remove advance functions have to fire // on separate handlers to place tile imp and grant advance // HandleEvent(BeginTurn) 'IWN_remove_sub_ads' post { int_t i; int_t j; location_t tmpLoc; if(HasAdvance(player[0], ID_ADVANCE_SUBNEURAL_ADS)) { RemoveAdvance(player[0], AdvanceDB(ADVANCE_SUBNEURAL_ADS)); } for(i = 0; i &lt; GetMapWidth() - 1; i = i + 1){ for(j = 0; j &lt; GetMapHeight() - 1; j = j + 1){ MakeLocation(i, j, tmpLoc); if(TileHasNaturalWonder(tmpLoc)) { FinishImprovements(tmpLoc); } } } }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Barbarian Warrior</title>
		<link>http://motmod.ctp2.info/barbarian-warrior.html</link>
		<guid isPermaLink="true">http://motmod.ctp2.info/barbarian-warrior.html</guid>
		<dc:date>2015-07-26T18:28:53Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>BureauBert</dc:creator>


		<dc:subject>New</dc:subject>

		<description>
&lt;p&gt;Prerequisites &lt;br class='autobr' /&gt;
Requires Tool Making Can only be built by &#034;Barbarian&#034; cultures&lt;/p&gt;


-
&lt;a href="http://motmod.ctp2.info/-infantry-units-.html" rel="directory"&gt;Infantry Units&lt;/a&gt;

/ 
&lt;a href="http://motmod.ctp2.info/+-new-+.html" rel="tag"&gt;New&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Requires&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Tool Making&lt;/li&gt;&lt;li&gt; Can only be built by &#034;Barbarian&#034; cultures&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Commissar</title>
		<link>http://motmod.ctp2.info/commissar.html</link>
		<guid isPermaLink="true">http://motmod.ctp2.info/commissar.html</guid>
		<dc:date>2015-07-26T18:23:54Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>BureauBert</dc:creator>


		<dc:subject>New</dc:subject>

		<description>
&lt;p&gt;Prerequisites &lt;br class='autobr' /&gt;
Requires: Communism Only buildable by socialist governments &lt;br class='autobr' /&gt;
Summary Is no Stealth Unit, but can see Stealth Units Causes Unhappiness Incites Revolutions Investigates Cities Plants Nukes Steals Technologies &lt;br class='autobr' /&gt;
Historical &lt;br class='autobr' /&gt;
The political commissar (also politruk Russian: &#1087;&#1086;&#1083;&#1080;&#1090;&#1088;&#1091;&#1082; from &#1087;&#1086;&#1083;&#1080;&#1090;&#1080;&#1095;&#1077;&#1089;&#1082;&#1080;&#1081; &#1088;&#1091;&#1082;&#1086;&#1074;&#1086;&#1076;&#1080;&#1090;&#1077;&#1083;&#1100;: political officer) is the supervisory political officer responsible for the political education (ideology) and organization, and committed to the civilian control of (&#8230;)&lt;/p&gt;


-
&lt;a href="http://motmod.ctp2.info/-special-units-.html" rel="directory"&gt;Special Units&lt;/a&gt;

/ 
&lt;a href="http://motmod.ctp2.info/+-new-+.html" rel="tag"&gt;New&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Requires:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Communism&lt;/li&gt;&lt;li&gt; Only buildable by socialist governments&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Summary&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Is no Stealth Unit, but can see Stealth Units&lt;/li&gt;&lt;li&gt; Causes Unhappiness&lt;/li&gt;&lt;li&gt; Incites Revolutions&lt;/li&gt;&lt;li&gt; Investigates Cities&lt;/li&gt;&lt;li&gt; Plants Nukes&lt;/li&gt;&lt;li&gt; Steals Technologies&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Historical&lt;/h2&gt;
&lt;p&gt;The political commissar (also politruk Russian: &#1087;&#1086;&#1083;&#1080;&#1090;&#1088;&#1091;&#1082; from &#1087;&#1086;&#1083;&#1080;&#1090;&#1080;&#1095;&#1077;&#1089;&#1082;&#1080;&#1081; &#1088;&#1091;&#1082;&#1086;&#1074;&#1086;&#1076;&#1080;&#1090;&#1077;&#1083;&#1100;: political officer) is the supervisory political officer responsible for the political education (ideology) and organization, and committed to the civilian control of the military. Historically, the commissaire politique (political commissary) first appeared in the French Revolution (1789&#8211;99), guarding it against anti-Revolutionary thought and action, and so ensuring the Republican victory.&lt;/p&gt;
&lt;p&gt;Despite a French Republican origin, the political commissar usually is associated historically with the Soviet Union (1917&#8211;91), where the Russian Provisional Government of 1917 introduced them to the military forces to ensure the government's political control. In the communist regime established by the October Revolution, the political commissar remained in the Red Army until 1942.&lt;/p&gt;
&lt;p&gt;In the Red Army and the Soviet Army, the political commissar existed, by name, only during 1918&#8211;1924, 1937-40, and 1941&#8211;42 periods; not every Red Army political officer was a commissar. The political commissar held military rank equaling that of the unit commander to whom he was attached; moreover, the commissar also had the military authority to countermand the unit commander's orders when required. In the periods of the Red Army's history when political officers were militarily subordinate to unit commanders, the position of political commissar did not exist.&lt;/p&gt;
&lt;p&gt;The political supervision of the Russian military was effected by the political commissar, who was introduced to every unit and formation, from company- to division-level, including the navy. Revolutionary Military Councils (or Revvoyensoviets- RVS) were established at army-, front-, fleet-, and flotilla-level, comprising at least three members &#8212; commander and two political workers. The political workers were denominated &#034;members of the RVS&#034;, not &#034;commissars&#034;, despite being official political commissars.&lt;/p&gt;
&lt;p&gt;In 1919, the title politruk (Russian: &#1087;&#1086;&#1083;&#1080;&#1090;&#1088;&#1091;&#1082;, from &#1087;&#1086;&#1083;&#1080;&#1090;&#1080;&#1095;&#1077;&#1089;&#1082;&#1080;&#1081; &#1088;&#1091;&#1082;&#1086;&#1074;&#1086;&#1076;&#1080;&#1090;&#1077;&#1083;&#1100;, political leader) was assigned to political officers at company level. Despite being official political commissars, they were not addressed as &#034;commissar&#034;. Beginning in 1925, the politico-military doctrinal course towards edinonachalie (Russian: &#1077;&#1076;&#1080;&#1085;&#1086;&#1085;&#1072;&#1095;&#1072;&#1083;&#1080;&#1077;, single command) was established, and the political commissar, as a military institution, was gradually abolished. The introduction of edinonachalie was twofold, either the military commander joined the Communist Party and became his unit's political officer, or a pompolit (Russian: &#1087;&#1086;&#1084;&#1087;&#1086;&#1083;&#1080;&#1090;, assistant commander for political work) officer was commissioned sub-ordinate to him. Earlier, in 1924, the RVSs were renamed as Military Councils, such high-level political officers were known as ChVS (Chlen Voennogo Soveta, Member of the Military Council), they were abolished in 1934.&lt;/p&gt;
&lt;p&gt;On 10 May 1937 the political commissar was reinstated to the Red Army, and Military Councils were created. These events derived from the political purges that began in the Soviet armed forces. Again, in August 1940, the political commissars was abolished, yet the Military Councils continued throughout the German-Soviet War (1941&#8211;45), and afterwards. Below army level, the edinonachalie (single command) system was restored. In July 1941, consequent to the Red Army's defeats at war's start, the position of political commissar reappeared. The commissar had an influential role as a &#034;second commander&#034; within the military units during this time. When this proved less-than-effective, General Konev asked Stalin to subordinate the political officer to commanding officers: the commissars' work was refocused to morale-related functions. The term &#034;commissar&#034; itself was formally abolished in August 1942, and at the company- and regiment-level, the pompolit officer was replaced with the zampolit (deputy for political matters). Though no longer known by the original &#034;commissar&#034; title, political officers were retained by all the Soviet armed forces, e.g., Soviet Army, Soviet Navy, Soviet Air Force, Soviet Strategic Rocket Forces, et al, until the Soviet dissolution in 1991.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Colonist</title>
		<link>http://motmod.ctp2.info/colonist.html</link>
		<guid isPermaLink="true">http://motmod.ctp2.info/colonist.html</guid>
		<dc:date>2015-07-26T18:04:47Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>BureauBert</dc:creator>


		<dc:subject>New</dc:subject>

		<description>
&lt;p&gt;Prerequisites &lt;br class='autobr' /&gt;
Requires: CitizenshipSummary Creates land cities Can move on mountains&lt;/p&gt;


-
&lt;a href="http://motmod.ctp2.info/-special-units-.html" rel="directory"&gt;Special Units&lt;/a&gt;

/ 
&lt;a href="http://motmod.ctp2.info/+-new-+.html" rel="tag"&gt;New&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Requires:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Citizenship&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Summary&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Creates land cities&lt;/li&gt;&lt;li&gt; Can move on mountains&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Berserker</title>
		<link>http://motmod.ctp2.info/berserker.html</link>
		<guid isPermaLink="true">http://motmod.ctp2.info/berserker.html</guid>
		<dc:date>2015-07-26T18:04:07Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>BureauBert</dc:creator>


		<dc:subject>New</dc:subject>

		<description>
&lt;p&gt;Prerequisites &lt;br class='autobr' /&gt;
Requires: Iron Working Only buildable for &#034;Castle&#034;, &#034;Palace&#034;, and &#034;Balkan&#034; cultures &lt;br class='autobr' /&gt;
Historical &lt;br class='autobr' /&gt;
Berserkers (or berserks) were Norse warriors who are primarily reported in the Old Norse literature to have fought in a nearly uncontrollable, trance-like fury, a characteristic which later gave rise to the English word berserk. Berserkers are attested to in numerous Old Norse sources. &lt;br class='autobr' /&gt;
The &#218;lfh&#233;&#240;nar (singular &#218;lfhe&#240;inn), another term associated with berserkers, mentioned in (&#8230;)&lt;/p&gt;


-
&lt;a href="http://motmod.ctp2.info/-infantry-units-.html" rel="directory"&gt;Infantry Units&lt;/a&gt;

/ 
&lt;a href="http://motmod.ctp2.info/+-new-+.html" rel="tag"&gt;New&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Requires:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Iron Working&lt;/li&gt;&lt;li&gt; Only buildable for &#034;Castle&#034;, &#034;Palace&#034;, and &#034;Balkan&#034; cultures&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Historical&lt;/h2&gt;
&lt;p&gt;Berserkers (or berserks) were Norse warriors who are primarily reported in the Old Norse literature to have fought in a nearly uncontrollable, trance-like fury, a characteristic which later gave rise to the English word berserk. Berserkers are attested to in numerous Old Norse sources.&lt;/p&gt;
&lt;p&gt;The &#218;lfh&#233;&#240;nar (singular &#218;lfhe&#240;inn), another term associated with berserkers, mentioned in the Vatnsd&#230;la saga, Haraldskv&#230;&#240;i and the V&#246;lsunga saga, were said to wear the pelt of a wolf when they entered battle. &#218;lfh&#233;&#240;nar are sometimes described as Odin's special warriors: &#034;[Odin's] men went without their mailcoats and were mad as hounds or wolves, bit their shields...they slew men, but neither fire nor iron had effect upon them. This is called 'going berserk.'&#034; In addition, the helm-plate press from Torslunda depicts (below) a scene of Odin with a berserker&#8212;&#034;a wolf skinned warrior with the apparently one-eyed dancer in the bird-horned helm, which is generally interpreted as showing a scene indicative of a relationship between berserkgang... and the god Odin&#034;&#8212;with a wolf pelt and a spear as distinguishing features.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Swordsman</title>
		<link>http://motmod.ctp2.info/swordsman.html</link>
		<guid isPermaLink="true">http://motmod.ctp2.info/swordsman.html</guid>
		<dc:date>2015-07-26T17:59:32Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>BureauBert</dc:creator>


		<dc:subject>New</dc:subject>

		<description>
&lt;p&gt;Prerequisites &lt;br class='autobr' /&gt;
Requires: Infantry Tactics Only buildable by &#034;Castle&#034;, &#034;Palace&#034;, and &#034;Balkan&#034; cultures &lt;br class='autobr' /&gt;
Historical &lt;br class='autobr' /&gt;
Little is known about early medieval fencing techniques save for what may be concluded from archaeological evidence and artistic depiction (see Viking Age arms and armour). What little has been found, however, shows the use of the sword was limited during the Viking age, especially among the Vikings themselves and other northern Germanic tribes. Here, the spear, axe and (&#8230;)&lt;/p&gt;


-
&lt;a href="http://motmod.ctp2.info/-infantry-units-.html" rel="directory"&gt;Infantry Units&lt;/a&gt;

/ 
&lt;a href="http://motmod.ctp2.info/+-new-+.html" rel="tag"&gt;New&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Requires:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Infantry Tactics&lt;/li&gt;&lt;li&gt; Only buildable by &#034;Castle&#034;, &#034;Palace&#034;, and &#034;Balkan&#034; cultures&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Historical&lt;/h2&gt;
&lt;p&gt;Little is known about early medieval fencing techniques save for what may be concluded from archaeological evidence and artistic depiction (see Viking Age arms and armour). What little has been found, however, shows the use of the sword was limited during the Viking age, especially among the Vikings themselves and other northern Germanic tribes. Here, the spear, axe and shield were prominent weapons, with only wealthy individuals owning swords. These weapons, based on the early Germanic spatha, were made very well. The technique of pattern welding of composite metals, invented in the Roman Empire around the end of the 2nd century A.D., provided some of these northern weapons superior properties in strength and resilience to the iron gladius of early Rome.&lt;/p&gt;
&lt;p&gt;As time passed, the spatha evolved into the arming sword, a weapon with a notable cruciform hilt common among knights in the Medieval Age. Some time after this evolution, the earliest known treatises (Fechtb&#252;cher) were written, dealing primarily with arming sword and buckler combat. Among these examples is the I.33, the earliest known Fechtbuch. The German school of swordsmanship can trace itself most closely to Johannes Liechtenauer and his students, who later became the German masters of the 15th century, including Sigmund Ringeck, Hans Talhoffer, Peter von Danzig and Paulus Kal. It is possible that the Italian fencing treatise Flos Duellatorum, written by the Italian swordmaster Fiore dei Liberi around 1410, has ties to the German school.[citation needed] During this period of time, the longsword grew out of the arming sword, eventually resulting in a blade comfortably wielded in both hands at once. Armour technology also evolved, leading to the advent of plate armour, and thus swordsmanship was further pressed to meet the demands of killing a very well protected enemy.&lt;/p&gt;
&lt;p&gt;For much of the early medieval period, the sword continued to remain a symbol of status. During later years, production techniques became more efficient, and so, while the sword remained a privilege, it was not so heavily confined to only the richest individuals, but rather to the richest classes.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Cossack Cavalry</title>
		<link>http://motmod.ctp2.info/cossack-cavalry.html</link>
		<guid isPermaLink="true">http://motmod.ctp2.info/cossack-cavalry.html</guid>
		<dc:date>2015-07-26T16:48:14Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>BureauBert</dc:creator>


		<dc:subject>New</dc:subject>

		<description>
&lt;p&gt;Prerequisites &lt;br class='autobr' /&gt;
Requires: Cavalry Tactics Only buildable by &#034;Balkan&#034; cultures &lt;br class='autobr' /&gt;
Historical &lt;br class='autobr' /&gt;
Cossacks (Ukrainian: &#1082;&#1086;&#1079;&#1072;&#1082;&#1080;&#769;, koza'ky; Russian: &#1082;&#1072;&#1079;&#1072;&#1082;&#1080;&#769; pronounced [k&#601;z&#592;&#712;k&#690;i] or &#1082;&#1072;&#1079;&#1072;&#769;&#1082;&#1080; [k&#592;&#712;zak&#690;&#618;], kazaki are a group of predominantly East Slavic people who became known as members of democratic, semi-military communities,[1] predominantly located in Ukraine and in Russia. They inhabited sparsely populated areas and islands in the lower Dnieper, Don, Terek, and Ural river basins and played an (&#8230;)&lt;/p&gt;


-
&lt;a href="http://motmod.ctp2.info/-mounted-units-.html" rel="directory"&gt;Mounted Units&lt;/a&gt;

/ 
&lt;a href="http://motmod.ctp2.info/+-new-+.html" rel="tag"&gt;New&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Requires:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Cavalry Tactics&lt;/li&gt;&lt;li&gt; Only buildable by &#034;Balkan&#034; cultures&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Historical&lt;/h2&gt;
&lt;p&gt;Cossacks (Ukrainian: &#1082;&#1086;&#1079;&#1072;&#1082;&#1080;&#769;, koza'ky; Russian: &#1082;&#1072;&#1079;&#1072;&#1082;&#1080;&#769; pronounced [k&#601;z&#592;&#712;k&#690;i] or &#1082;&#1072;&#1079;&#1072;&#769;&#1082;&#1080; [k&#592;&#712;zak&#690;&#618;], kazaki are a group of predominantly East Slavic people who became known as members of democratic, semi-military communities,[1] predominantly located in Ukraine and in Russia. They inhabited sparsely populated areas and islands in the lower Dnieper, Don, Terek, and Ural river basins and played an important role in the historical and cultural development of both Russia and Ukraine.&lt;/p&gt;
&lt;p&gt;The origins of the first Cossacks are disputed, though the 1710 Constitution of Pylyp Orlyk claimed Khazar origin. The traditional post-imperial historiography dates the emergence of Cossacks to the 14th or 15th centuries, when two connected groups emerged, the Zaporozhian Sich of the Dnieper and the Don Cossack Host.&lt;/p&gt;
&lt;p&gt;The Zaporizhian Sich were a vassal people of Poland&#8211;Lithuania during feudal times. Under increasing social and religious pressure from the Polish&#8211;Lithuanian Commonwealth, in the mid-17th century the Sich declared an independent Cossack Hetmanate, initiated by a rebellion under Bohdan Khmelnytsky. Afterwards, the Treaty of Pereyaslav (1659) brought most of the Ukrainian Cossack state under Russian rule. The Sich with its lands became an autonomous region under the Russian-Polish protectorate.&lt;/p&gt;
&lt;p&gt;The Don Cossack Host, which had been established by the 16th century, allied with the Tsardom of Russia. Together they began a systematic conquest and colonisation of lands in order to secure the borders on the Volga, the whole of Siberia (see Yermak Timofeyevich), and the Yaik and the Terek Rivers. Cossack communities had developed along the latter two rivers well before the arrival of the Don Cossacks.&lt;/p&gt;
&lt;p&gt;By the 18th century, Cossack hosts in the Russian Empire occupied effective buffer zones on its borders. The expansionist ambitions of the Empire relied on ensuring the loyalty of Cossacks, which caused tension given their traditional exercise of freedom, democratic self-rule, and independence. Cossacks such as Stenka Razin, Kondraty Bulavin, Ivan Mazepa, and Yemelyan Pugachev, led major anti-imperial wars and revolutions in the Empire in order to abolish slavery and odious bureaucracy and to maintain independence. The Empire responded by ruthless executions and tortures, the destruction of the western part of the Don Cossack Host during the Bulavin Rebellion in 1707&#8211;1708, the destruction of Baturyn after Mazepa's rebellion in 1708, and the formal dissolution of the Lower Dnieper Zaporozhian Host in 1775, after Pugachev's Rebellion.&lt;/p&gt;
&lt;p&gt;By the end of the 18th century, Cossack nations had been transformed into a special military estate (Sosloviye), &#034;a military class&#034;. Similar to the knights of medieval Europe in feudal times or the tribal Roman Auxiliaries, the Cossacks came to military service having to obtain charger horses, arms, and supplies at their own expense. The government provided only firearms and supplies for them. Cossack service was considered the most rigorous one.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
