Fantastic Worlds' Events Quirks
From Scenario League Wiki
The 'ins and outs' of editing the events.txt file using both the Fantastic Worlds editor and notepad. Co-ordinating between both editors can be tricky because of problems with 'embedded events'.
by Carl Fritz (February 1999)
The Events.txt File Figured Out
Let me say at the outset that I didn't have to figure out EVENTS.TXT until I bought Fantastic Worlds! The inclusion of events in Conflicts in Civilization is what got me interested in scenario creation in the first place. So when FW came out, I thought event creation would be better and easier. I was half right. It was better, but not necessarily easier. That was where figuring it out came in.
So, what's better about it?
FW doubled the number of events you could have.
- It added a new trigger: ReceivedTechnology.
- It added two new actions: ChangeTerrain and GiveTechnology.
Why Isn't It Necessarily Easier?
First, you have to make a choice between doing events in the FW editor or doing it the old fashioned way with a text editor, e.g. Notepad. For actions such as CreateUnit, where you're going to create a bunch of them, it's easier to use Notepad. That's because the FW editor has no cut and paste tool. The lack of a cut and paste tool also means you can't reorganize your events later on. I like to group related events together. After you've play tested, you often decide that for reasons of balance you need to create some more units. In FW the new events go to the end of the line.
Finally, if you want to create barbarian units, you cannot use the FW editor. Barbarians just don't show up the lists.
Two Things the Fantastic Worlds Editor Makes Easier
It's definitely easier to use GiveTechnology and ReceivedTechnology In FW, you see the name of the technology, in Notepad you have to specify the technology by number.
You can't make typos in FW when entering Civ Names and Unit Names. These are all contained in lists.
Known Bugs in the Events Handler
- The TurnInterval trigger.
- This is a well-known bug.
- The MoveUnit action.
- If you are creating units to attack a certain city, create them right next to it. Again, this is a well-known bug.
- The Anybody parameter.
- It doesn't work properly - it WILL work the first time, but the second time Anybody becomes whoever triggered the event the first time. So the event won't occur if another Civ triggers it, but will occur if the first Civ to trigger it does. If you have a recurring event that can be triggered by different Civs, don't use the Anybody parameter, but code a trigger for each Civ separately. If it's a one time event, you can get away with using Anybody.
Problems Surrounding Embedded Events
In FW, you can see the events in two places: within the scenario editor and in the EVENTS.TXT file. I assumed wrongly that the EVENTS.TXT file was always read into the editor. The key fact in all of this is that sometimes the events are embedded in the SAV or SCN file; sometimes they are not! The reason for this is that the game needs to keep track of things like firing only once.
When events are embedded, the EVENTS.TXT file you see in your SCENARIO directory is a copy that the game writes out when you play the scenario. You know this is true because EVENTS.TXT will have the current date as its last modified date. When events are NOT embedded the EVENTS.TXT file you see in your SCENARIO directory are read into the game only when you start a scenario (SCN). They are not read in when you load a saved game (SAV).
How do events get embedded into the SAV or SCN files? The first way is by entering events using the FW editor. The second way is by executing this sequence of events:
- Create a SCN file from a SAV file where you didn't enter events in FW.
- Create the EVENTS.TXT using Notepad.
- Start a scenario. This loads the SCN file.
- Play a turn, then save the game. This creates a SAV file. This SAV file will now have the events embedded in it. At this point any changes you make to EVENTS.TXT using Notepad will have NO EFFECT on that particular SAV file.
- If you create a SCN file based on that particular SAV file, you will now have a SCN with embedded events.
Now this could be a BIG PROBLEM if you want to create barbarian units with events after you have embedded events in your SCN and SAV files. Fortunately, there is a way around this. Load your SAV game, letting it create the copy of EVENTS.TXT. At this point, make a backup copy of EVENTS.TXT just in case anything goes wrong below. Now go into the FW events editor and delete all of the events. Save the game and create a scenario.
Edit EVENTS.TXT using Notepad to add or change events. From now on when you load a SAV file, you won't see events in the game, but you will see them whenever you load a SCN file. You can use the FW events editor to VIEW your events. You might want to do this to check out a GiveTechnology event you've created. If you CANCEL out of the editor, your EVENTS.TXT should remain unmodified. If you forget to CANCEL out of the editor, your EVENTS.TXT will be overwritten. That's why you need the backup!
The Delevent.exe File - An Alternative Approach
The Delevent.exe file in the main Civ2 directory may be used to address embedded events. Drag and drop your SAV file onto the delevent.exe program or a shortcut to it and it will strip out all embedded events.
So which method should you use for creating events?
It all depends on you personal preferences. Because I like to create barbarian units using events and also tend to create lots of similar units with a single event, I prefer using a text editor. On the other hand, if I was doing a scenario that had mostly technology events and no barbarians, I would probably use the FW editor. I might even live dangerously and enter the technology events in FW, save the game, reload the game, delete the events, save the game, and then finish up events in Notepad.
Unless you've got lots of hair to pull out, it's probably best to stick to one method or the other.