hrochland
Prince
Yes, here is but I´m not sure if my lava animations is useless
http://hrochland.valka.cz/prog/sopka3.zip

http://hrochland.valka.cz/prog/sopka3.zip


Great stuff!
Just a little question, is it compatible with good old v3.13?
Hmmm..strange. Reminds me of an earlier version I made in which I consciously let the volcano (and peak) disappear with use of the <iDisappearance> tag.
Could you check the value of this tag in your version of CIV4FeatureInfo.xml (in my modular version: Volcano_CIV4FeatureInfos.xml)? The value should be 0, but in your example it looks like this tag still has 50, which I was using before.
<FeatureInfo>
<Type>FEATURE_VOLCANO</Type>
<Description>TXT_KEY_FEATURE_VOLCANO</Description>
<Civilopedia>TXT_KEY_FEATURE_VOLCANO_PEDIA</Civilopedia>
<ArtDefineTag>ART_DEF_FEATURE_VOLCANO</ArtDefineTag>
<YieldChanges/>
<RiverYieldChange/>
<HillsYieldChange/>
<iMovement>0</iMovement>
<iSeeThrough>0</iSeeThrough>
<iHealthPercent>0</iHealthPercent>
<iDefense>0</iDefense>
<iAppearance>0</iAppearance>
[COLOR="Red"]<iDisappearance>0</iDisappearance>[/COLOR]
<iGrowth>0</iGrowth>
<iTurnDamage>0</iTurnDamage>
<bNoCoast>0</bNoCoast>
<bNoRiver>0</bNoRiver>
<bNoAdjacent>0</bNoAdjacent>
<bRequiresFlatlands>0</bRequiresFlatlands>
<bRequiresRiver>0</bRequiresRiver>
<bAddsFreshWater>0</bAddsFreshWater>
<bImpassable>1</bImpassable>
<bNoCity>0</bNoCity>
<bNoImprovement>0</bNoImprovement>
<bVisibleAlways>0</bVisibleAlways>
<bNukeImmune>0</bNukeImmune>
<OnUnitChangeTo/>
<TerrainBooleans/>
<FootstepSounds>
<FootstepSound>
<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN</FootstepAudioType>
<FootstepAudioScript>AS3D_UN_FOOT_UNIT_MUD</FootstepAudioScript>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN_LOW</FootstepAudioType>
<FootstepAudioScript>AS3D_UN_FOOT_UNIT_LOW_MUD</FootstepAudioScript>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL</FootstepAudioType>
<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_MUD</FootstepAudioScript>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL_LOW</FootstepAudioType>
<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_LOW_MUD</FootstepAudioScript>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>FOOTSTEP_AUDIO_HORSE</FootstepAudioType>
<FootstepAudioScript/>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>LOOPSTEP_WHEELS</FootstepAudioType>
<FootstepAudioScript/>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>ENDSTEP_WHEELS</FootstepAudioType>
<FootstepAudioScript/>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>LOOPSTEP_WHEELS_2</FootstepAudioType>
<FootstepAudioScript/>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>ENDSTEP_WHEELS_2</FootstepAudioType>
<FootstepAudioScript/>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>LOOPSTEP_TANK</FootstepAudioType>
<FootstepAudioScript/>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>ENDSTEP_TANK</FootstepAudioType>
<FootstepAudioScript/>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>LOOPSTEP_MOD_ARMOUR</FootstepAudioType>
<FootstepAudioScript/>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>ENDSTEP_MOD_ARMOUR</FootstepAudioType>
<FootstepAudioScript/>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>LOOPSTEP_ARTILLERY</FootstepAudioType>
<FootstepAudioScript/>
</FootstepSound>
<FootstepSound>
<FootstepAudioType>ENDSTEP_ARTILLERY</FootstepAudioType>
<FootstepAudioScript/>
</FootstepSound>
</FootstepSounds>
<WorldSoundscapeAudioScript>ASSS_OASIS_SELECT_AMB</WorldSoundscapeAudioScript>
<EffectType>NONE</EffectType>
<iEffectProbability>0</iEffectProbability>
<iAdvancedStartRemoveCost>0</iAdvancedStartRemoveCost>
</FeatureInfo>
<iPercentGamesActive>100</iPercentGamesActive>
<iWeight>-1</iWeight>
Ok, I have another idea. The 3rd screenshot is the actual result of EVENT_VOLCANO_DORMANT_1. In the XML of that event the feature (volcano) is removed and the plot highlighted. Most likely you would also have the +1bonus in The Hague.
######## VOLCANO DORMANT ###########
def canTriggerVolcanoDormant1(argsList):
if gc.getGame().getSorenRandNum(100, "Volcano event dormant") < 25:
return true
return false
def applyVolcanoDormant1(argsList):
iEvent = argsList[0]
kTriggeredData = argsList[1]
plot = gc.getMap().plot(kTriggeredData.iPlotX, kTriggeredData.iPlotY)
plot.setPlotType(PlotTypes.PLOT_PEAK, True, True)
######## VOLCANO DORMANT ###########
def canTriggerVolcanoDormant1(argsList):
if gc.getGame().getSorenRandNum(100, "Volcano event dormant") < 25:
return true
return false
def applyVolcanoDormant1(argsList):
iEvent = argsList[0]
kTriggeredData = argsList[1]
plot = gc.getMap().plot(kTriggeredData.iPlotX, kTriggeredData.iPlotY)
plot.setPlotType(PlotTypes.PLOT_PEAK, True, True)
Not triggered, the volcano feature itself is defined as impassable.