Tripped's minor bugfixes

All events should have their relative probability to occur tweaked a lot. (large XML number project.)
The problem is in the coding as much I believe because if you don't have many defined events then it tends to hit on just one or two or so and keeps repeating them.
 
The problem is in the coding as much I believe because if you don't have many defined events then it tends to hit on just one or two or so and keeps repeating them.
True, We might need a <iMinTurnsPerTrigger>10</iMinTurnsPerTrigger>, so that the event won't be called again before at least 10 turns have passed. We can already do interesting things by making an event ( Volcano became active) have a follow up event (volcano became dormant) with a number of turns delay in XML; but I don't think we can make that number of turns be random, perhaps with python but not in XML.
 
True, We might need a <iMinTurnsPerTrigger>10</iMinTurnsPerTrigger>, so that the event won't be called again before at least 10 turns have passed. We can already do interesting things by making an event ( Volcano became active) have a follow up event (volcano became dormant) with a number of turns delay in XML; but I don't think we can make that number of turns be random, perhaps with python but not in XML.
I could do that easily in the code. I suppose that's probably the only way really. Just disqualify the event trigger until the min turns countdown has been exhausted... That's probably a good way to fix it.

I was wondering about the python side of the equation which I don't know much about here. It would seem that the minimum amount of turns between volcanic events of any kind needs to be limited on a given plot (and should this be adapted to gamespeed?) and that's a little more complicated than just min turns between a particular event trigger, though that's something that could help with runaway fire events too.
 
I haven't really explored the possibilities of python for events so I wouldn't know.

The volcano example I used in my last post is possible in XML now and it will be constrained to one tile.
Code:
<EventInfo>
     <Type>EVENT_X</Type>
     <AdditionalEvents>

        <EventChance>
           <Event>EVENT_Y</Event>
           <iEventChance>50</iEventChance>
        </EventChance>
     </AdditionalEvents>
means that EVENT_Y will be triggered on the same tile as event X with a likelihood of 50%.

EventTimes - if non-empty, it can be used to set up delayed events. Has to be used along with <AdditionalEvents> above. Fill as follows:
Code:
<EventTimes>
   <EventTime>
        <Event>EVENT_MOTOR_OIL_1</Event>
        <iEventTime>5</iEventTime>
    </EventTime>
</EventTimes>
In case the event filled in <AdditionalEvents> does not trigger due to the random roll, the event timer will kick in, making it occur later.
 
We might also want event X to be able to increase/decrease its chance of occurring based on if or how many times another specific event have happened which is reset when:
Code:
<ClearEvents>
    <EventChance>
        <Event>EVENT_Y</Event>
        <iEventChance>100</iEventChance>
    </EventChance>
</ClearEvents>
is used and even X == Y should be possible.
So many eruption events would increase the chance for a volcano to go dormant; or one eruption would make another one less likely until something else happens like it going dormant or something.
 
I haven't really explored the possibilities of python for events so I wouldn't know.

The volcano example I used in my last post is possible in XML now and it will be constrained to one tile.
Code:
<EventInfo>
     <Type>EVENT_X</Type>
     <AdditionalEvents>

        <EventChance>
           <Event>EVENT_Y</Event>
           <iEventChance>50</iEventChance>
        </EventChance>
     </AdditionalEvents>
means that EVENT_Y will be triggered on the same tile as event X with a likelihood of 50%.

EventTimes - if non-empty, it can be used to set up delayed events. Has to be used along with <AdditionalEvents> above. Fill as follows:
Code:
<EventTimes>
   <EventTime>
        <Event>EVENT_MOTOR_OIL_1</Event>
        <iEventTime>5</iEventTime>
    </EventTime>
</EventTimes>
In case the event filled in <AdditionalEvents> does not trigger due to the random roll, the event timer will kick in, making it occur later.
Is that how the additional volcanic events are taking place already? if that's the case then we may only need to extend out the event time tag a bit...
So many eruption events would increase the chance for a volcano to go dormant; or one eruption would make another one less likely until something else happens like it going dormant or something.
Are you saying this is a tag to develop or one to employ to assist us with this issue?
 
Is that how the additional volcanic events are taking place already? if that's the case then we may only need to extend out the event time tag a bit...
No that is not how volcanic events are happening now, they are completely random triggered.
Without being able to get some kind of random variation to the delay, then I don't see it as a good option for any events.

We might also want event X to be able to increase/decrease its chance of occurring based on if or how many times another specific event have happened which is reset when:
Code:
<ClearEvents>
   <EventChance>
        <Event>EVENT_Y</Event>
        <iEventChance>100</iEventChance>
    </EventChance>
</ClearEvents>
is used and even X == Y should be possible.
So many eruption events would increase the chance for a volcano to go dormant; or one eruption would make another one less likely until something else happens like it going dormant or something.
Are you saying this is a tag to develop or one to employ to assist us with this issue?
That was a a suggestion for what might need to be developed further down the line.
 
Events that happens on a tile in the fog of war should not give a pop-up message. (I believe this would require some dll event code changes.)
Can be done in python but requires that you remove the message from the event XML and put it in the python. At one stage I did have it only showing for players who could actually see the volcano, either by having a unit near it or from espionage/religion view from a foreign city.
 
Can be done in python but requires that you remove the message from the event XML and put it in the python. At one stage I did have it only showing for players who could actually see the volcano, either by having a unit near it or from espionage/religion view from a foreign city.
Good to know it's possible; come to think about it I think I remember volcano events working like that at one time long ago.
Why was it changed to be like it is now where event messages that means nothing to the player is shown?
 
Where's Tripped at these days? I figure he should really be part of this conversation as he was the last one to manipulate the volcanic stuff. I know he's trying to make it right. Hope he doesn't take this as lambasting or anything along those lines.
 
Been busy in real life lately, and for some stupid reason I can't reliably access CFC or the SVN from home the last week or so. Posting from phone is a pain.

I agree that the events could use some frequency adjustments, I just haven't had the time to really do anything recently. My goal with the obsidian/sulfur + rocky tiles becoming volcanoes was to have an increased chance of volcanic activity in locations that were once active, but it looks like it's overtuned. If a separate volcano - extinct feature is made, that would be great. I started messing with volcanoes in the first place because there was a very strong tendency for every volcano on the map to disappear by mid to late prehistoric and never reappear, making the assorted vicinity buildings unavailable in 99% of games.

What I was actually planning to do is add the aforementioned extinct volcano as a feature that allows the volcano vicinity buildings and acts as a peak otherwise, then tying all the volcano events to the features entirely, with only a very small chance of completely new volcanoes. Another planned project is oceanic eruptions that leave behind a small island.
 
Last edited:
Good to know it's possible; come to think about it I think I remember volcano events working like that at one time long ago.
Why was it changed to be like it is now where event messages that means nothing to the player is shown?
Multiple people working on it without consulting each other I expect :D Typical of a hobby programming environment.
 
If a separate volcano - extinct feature is made, that would be great
We do. It's called a Peak.

I'm glad you're still looking into smoothing over issues with this. I mostly wanted to bring up the feedback to let you know how play on current assets has experienced it. I'm hoping this can be ironed out before release (goal of X-mas on that.)
 
We do. It's called a Peak.
The problem then is there's no distinction between a volcanic peak and a tectonic one, again only relevant for vicinity buildings, most notably the lava rock quarry. It's never made any sense to me that it stops functioning if the volcano goes extinct.

That said, I might as well just clone the peak for a distinct extinct volcano feature. Would that cause any problems with Usable Mountains option, or otherwise?
 
That said, I might as well just clone the peak for a distinct extinct volcano feature. Would that cause any problems with Usable Mountains option, or otherwise?
There is a bActsAsPeak tag (or something like that - I'm pulling it from memory here) that makes the feature act as if it was a peak. However, it cannot fix the graphic issue where units will disappear into the peak, so you should still make the plot a peak, WITH the feature that states it's an extinct volcano.
 
There is a bActsAsPeak tag (or something like that - I'm pulling it from memory here) that makes the feature act as if it was a peak. However, it cannot fix the graphic issue where units will disappear into the peak, so you should still make the plot a peak, WITH the feature that states it's an extinct volcano.
Ah, yeah. I suppose an invisible permanent feature so volcanoes go from Volcano-active, to Volcano-dormant, to Volcano-extinct/Peak would work best. For that matter, making the active and dormant volcanoes stack on Peaks as well rather than replace them would be preferable, but would need new art assets or some kind of workaround to look right.
 
For that matter, making the active and dormant volcanoes stack on Peaks as well rather than replace them would be preferable, but would need new art assets or some kind of workaround to look right.
That was my suggestion a while back but I'm not sure if anyone can or would do anything with that or not.
 
I intend to make new volcano art and my current plan is to make it look right on the peak terrain..
I'm so very glad you're back on board Toffer! Thanks!
 
Back
Top Bottom