I am looking for help for volcano minimod

I reworked your files as NO modular mod. No error messages, all right but volcano no reveal in game. Finally I had to paste volcano from WorldBuilder. Do you have checked if will be this minimod work in no modular version? Or is probability of volcano reveal too a little so volcano no must be revealed allways. Take me advice about, please :please::please:
this morning I modified volcano base, alpha and move smoke nodes more up. I will add link here for you :)
In my test I find that model over peak is placed high up too ...

Sorry I downloaded Fall from Heaven more than 20 months ago and I had a bit of time... I didn't know that you worked on volcano already.
 
It shouldn't matter if the XML is modular or not, it's just how I prefer to make it. The default probability of the volcano event is pretty high, but still very random. For that reason I added the eventtrigger XML, so you can set it that it always happens (when the requirements are met).

When you place the volcano on a peak (or hill) with worldbuilder, it doesn't look right. The volcano only works on flat land (or ocean!). In my modification of the BTS event I remove the peak first and make the plot land, before the feature volcano is added.

I haven't worked on volcanoes before, it's just that johny smith told me there was one already in FFH.

If you want I can take a look at your non-modular version. You can post it here or send it to me in a PM.
 
wow :eek: it is possible reveal volcano on coast? It is Awesome!!
As regards water: Need code some specifications witch improvements should be destroyed or volcano destroy all improvements in the surrounding? I have in my mod more water improvements.
My mod is no modular and that´s why I made no modular version for easy including to my mod.

here is no modular version if you have time for checking...
thank you very much, Fierabras. If you want, give volcano minimod to the Modcomp section. It is your work, I think :thumbsup:
http://hrochland.valka.cz/prog/VCHF.zip

EDIT: modified volcano model included
SDIT 2: I tested it on duel map, quick, settler, it maybe make lower chance to volcano reveal...
 
Great stuff!

Just a little question, is it compatible with good old v3.13?

It is. While updating the Python part, I noticed there weren't any incompatibilities between 3.13 and 3.17. You can use it with 3.13, but then the 3.17 improvements to the Python code for the BTS events will be included (which is a good thing IMO).
 
Hey Fierabras,

I tried to merge the volcano in my mod (non-modular) in v3.13. I triggered it with the in-game python-editor. This is what happened:

Spoiler :

Trigger the event
temptriggervolcano1zs1.jpg


So far so good. Looks good, feels good :)
temptriggervolcano2kc2.jpg


But then, next turn: POOF!!! Volcano gone, peak gone, all gone :confused:
temptriggervolcano3eo4.jpg


I must be doing something wrong but I have absolutely no clue. Is it 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.

Edit: as this is just XML/Python, the BTS version should not matter.
 
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.

Here is the Volcano entry in my CIV4FeatureInfo.xml:
Spoiler :
Code:
<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>

Just a standard copy and paste from your latest version (13 july). Seems alright to me.
 
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 +1 :) bonus in The Hague.

Somehow the Python parts for the 'volcano dormant' trigger and event are not executed. I wonder if triggering the volcano event through the Python console is interfering with the evaluation of canTriggerVolcanoDormant1 and applyVolcanoDormant1

Maybe you could test again by triggering the volcano event by gifting the prereq techs through worldbuilder and temporarily set

Code:
<iPercentGamesActive>100</iPercentGamesActive>
<iWeight>-1</iWeight>

for the BTS default EVENTTRIGGER_VOLCANO in CIV4EventTriggerInfos.xml

Edit: on second thought, maybe the 3.17 version of the file CvRandomEventInterface.py isn't fully compatible with 3.13 and somehow the additions (canTriggerVolcanoDormant1 and applyVolcanoDormant1) I made at the bottom are ignored ?!?
 
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 +1 :) bonus in The Hague.

The highlight is from the eventtrigger. There no message about volcano going dormant neither is there the happiness bonus.

The EVENTTRIGGER_VOLCANO seem to trigger correctly.

EVENT_VOLCANO_1 happens, canApplyVolcano1 counts the improvements and applyVolcano1 destroys the improvements. Works correctly. The peak changes into a volcano: OK

EVENTTRIGGER_VOLCANO_DORMANT doesn't seem to trigger (no message: "The volcano near %s2_city has stopped spewing deadly ash clouds, lava flows, and mud- and debris-filled snow melts.")

The code that removes the volcano is immediately activated the next turn.

EDIT: It seems it cannot trigger because there's no volcano??
 
Just to make sure: have you merged the latest version of CVRandomEventInterface.py ? In particular the Python code for the volcano going dormant?

Code:
######## 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)

I ask this, because what you get is very similar to what you would get when these definitions are missing...
 
Yep, this is it:

Code:
######## 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)

Copy n paste straight from your CVRandomEventInterface.py
 
Very cool! Thanks for making this, Fierabras and hrochland! :goodjob:

Just one question, when the peak turns into a plain with the volcano feature on it, wouldn't units be able to walk over it? Or have you triggered it so that it's impassable?
 
Back
Top Bottom