I have a theory and to test it I created this looping scenerio. I also watched the FPS counter with the Shift-F in place (thanks for mentioning that Railnut!)
This scenerio runs daily. For comparison I first ran my computer without the scenerio in place and watch the FPS counter on both my computers.
System Low FPS Avg FPS High FPS 2.66 Ghz 34ish 45-55 60ish
400 Mhz 2ish 5 7
*A note on the 400, I miscalled my wifes system as a 600, it is actually a 400. I have a 600, but we put that in the kids room for school. I had mixed that up, sorry.
Once I ran the scenerio I found the numbers for framerate changed very little and actually increased if anything. The 2.66 hovered more between 50 and 55 and my wifes averaged around 7. There was no discernable change in the movement speeds between the script and non script run.
I also had the script set up to not run the first year, run for all of 1951, then shut off in 1952. I used Ctrl-ONEYEAR to force this issue after running for a few months and also ran with extremly fast time speed. There was no alteration in movement speed on either computer. The FPS didnt make any noticeable change in average speed.
One thing I noticed was that on my computer, even tho the loop is setup to run 1000 times per call, it only ran 30 times. On my wifes computer it only ran 28 times per. This leads me to believe that there is an internal limit of how many times it can run dependant on some factor.
LagIt.evtCheckFrequencyDayBegin
Condition Year=1951
GeneralEffect SetTo GroupVariable1 1000
GeneralEffect CallEvent Lagit1
GeneralEffect AddTo GroupVariable2 1
MessageTypeBottomRight
MessageText "This test has run [Trigger_Group_Variable_2] times for [Trigger_Group_Variable_3] Loops."
Lagit1.evtCheckFrequencyOnlyWhenCalled
Condition GroupVariable1 > 0
GeneralEffect CallEvent Lagit2
GeneralEffect CallEvent Lagit1 :**<---Had originally forgot this line, sorry
Lagit2.evtCheckFrequencyOnlyWhenCalled
LoopThroughAllBuildings
Condition Money != 1000000
GeneralEffect AddTo GroupVariable1 -1 ;Decrease Count
GeneralEffect Addto GroupVariable3 1 ;Count Loops
Does anyone have a scenerio that can bog the system down? I'm assuming that has happened before because its been mentioned alot. Just trying to find the limits. Right now I'm starting to think :
1- The game limits loops internally to control bog down
2- The game Loops one time naturally and the script loop calls dont actually create a loop but make a call/s within that one loop
3- Simply dont eat up as much processor time as people think.
And to get back on the original topic now
We never lost the topic. The original question asked if there was a way to call the internal random events. While you cant simply call "MaritimeStrike" you can still manage to simulate pretty much exactly the same effect. A little more involved than a simple call, but still quite on topic.
The hurricane is quite doable, however I dont know about the increased cloud part. While there is a event called "CloudRate" I've tinkered with it with many numbers (small and large) and still have yet to make it make the number of clouds in the sky change. Still, declaring a hurricane and randomly knocking down buildings is quite doable. Just cant seem to get the pretty storm

Anyway, theres the script I tried. Anyone get different results? Btw, the money check in the script was only to have some query during the loop - wasnt sure how the loop would act without some condition check. Was worried if I checked for a specific building that it would only run the loop as many times as buildings there were.