Master of Magic

Master of Magic

Not enough ratings
Event Editor: The Complete Guide
By KunoNoOni
The new Master of Magic comes with an Event Editor but there are no instructions on how to use it, until now. This guide will explain everything you need to know about how to use the Event Editor.
   
Award
Favorite
Favorited
Unfavorite
1. Event Editor Main Menu
On the main menu for Master of Magic there is this button called Editor. If you've ever wondered what it did then you are in the right place. Once you click that button you will be presented with a screen like this.


The items with the checkmarks are called modules. Within those modules are Adventures, and within the Adventures are the Events. The icons on the left of the screen are pretty intuitive but I will explain what each one is and what it does.


This is the Add button. It is used to add a new module to the list. When you press it you will be asked for a name of the Module.


This is the Copy button. It is used to duplicate a Module, there is no confirmation when you click it. The copy is immediate.


This is the Edit button. It allows you to edit the name of your Module.


This is the import button. It says its used to import only text for the selected module. It can also import a BundleBlock file.


This is the export button. It is used to either export a single module keeping its text structure or it will export all of the checked modules to a BundleBlock file.

Note: When you click either the Import or the Export at the top it mentions that these are not the buttons used to copy your modules to give to another person. It is also recommended that you use the import/export in single mode. Lastly the text files for imported/exported files can be found here \Steam\steamapps\common\Master-Of-Magic\MoM_Data\StreamingAssets\Exported Modules


This button is the module check button. It is used to check the chosen module for errors. It only works in Unity.


This is the delete button. It is used to remove a Module. When you click it you will get a confirmation screen asking if you are sure.

At the bottom of the screen are two buttons labelled Exit and Save and Edit Module. If you haven't made any changes clicking Exit and Save will take you back to the Main Menu. If you did make some changes then clicking Exit and Save brings up a dialog box where you can choose Discard and Exit, Save and Exit, and Stay and Edit. Clicking Discard and Exit will exit the Event Editor and NOT save any of the work you did. Clicking Save and Exit will save any changes made and then take you back to the Main Menu. Clicking Stay and Edit will save your changes and allow you to continue to work in the Event Editor.

Clicking the Edit Module button will take you to the Adventure screen. More about that next!
2. Event Editor Adventure Menu

Here is where we can create new adventure or edit existing ones. Let me go through the menu icons, most of them will look very familiar.


This is the add button. It will create a new adventure and clicking it prompts you for a name of your adventure.


This is the copy button. It allows you to copy an existing adventure. Just like on the module screen the copy is immediate.


This is the clone button. It is used to copy an adventure into a different module. Clicking it presents you with a dialog box asking which module you want to clone to. There is a dropdown that lets you choose the module.


This is the edit button. It allows you to edit the name of the adventure.


This is the delete button and it functions exactly like it does on the module menu.


This is the save button. It is located at the top left of the screen. Clicking this button will save any changes you have made. This is something you want to use often.

To the right of the Delete button there is a search field. This does exactly what you think it does. It lets you search for adventures that contain a certain word. For example if you edit the Original Modified module and type Moon into the search box the list of adventures would be filtered to just show Dark Moon, Light Moon, Blue Moon, Red Moon, and Green Moon.

There are two buttons at the bottom of the screen Back to Modules and Edit Adventure. Clicking Back to Modules takes you back to the previous screen. Clicking the Edit Adventure button takes you into the adventure and allows you to create or edit the adventure. If you are editing a new adventure then this screen will be a blank canvas ready for you to add the Nodes needed for the Event. If you are editing an adventure then the Nodes that make up the Event will be shown.

The left and right arrows are used to scroll the adventures if there are too many to display on the screen.


This is the Event Editor window. This is what it will look like when you are creating a new event. On the screen you will see the Start node. All new events begin with this node. If you were editing an existing Adventure you'd see more nodes and they would be connected.



The arrow pointing down in the top left corner like on the previous screen is the Save button. Next to it is a Node Search box. Instead of search by name you search by number. Each node will have a number next to its name. Just type the number into the search box and click the magnifying glass. In the top middle you will see the name of the adventure with the edit icon next to it. In the top right there is a dropdown and two arrows pointing left and right. Neither one of these work as of yet.

In the bottom right you will see four arrows that are used to move the event nodes if it becomes to big to fit on the screen. They will move all of the nodes in unison. Lastly there is a button in the bottom middle of the screen. This is the Leave button and clicking it will take you back to the Adventure menu.


Right-clicking anywhere in an open area will bring up a context box where you can choose a node to add. These nodes are Adventure, Battle, Trade, Enchantment, Spawn_Location, Location_Award, Relay, and End. In the coming sections I will explain in detail what each of these nodes, including the start node, do.
3. Start Node


The start node is where every event will begin. If not filled out correctly the event will not trigger. If the event is only supposed to run once the whole game then check the Trigger Once option. If an even is supposed to trigger based on some prerequisites then check the Generic Event option.

The box in the top right is for an image. The top drop down has 2 options to choose from. They are None or Per Player. For the most part you will always use Per Player but if you have the event attached as a spawned event then you should select None.

The bottom dropdown contains the values Neutral, Positive, and Negative. This is used to define what type of event this is. At this time it is not currently in use.

Initial Delay (turns) tells the game not to trigger this event before this turn. It can trigger any time after though. Cooldown (turns) is how many turns must pass before the even can trigger again. Again it can trigger any time after though. For example, in the image you can see that initial delay and cooldown are both set to 50. This means the event will not trigger until at least turn 51 and then once it does trigger is won't trigger again for at least another 50 turns.

I will explain what the Enter Logic Editor button is for in its own section. As this is the heart of creating an event and deserves its own section.

The Add New Output button will add a new section that has the text box with Enter Text in it. Don't enter anything in the text box it as it needs to be blank.

The output section is used to connect the Start node to another node. You can have multiple outputs but if you do then you need to change the dropdown from None to G1. When you click the dropdown you will notice G1 through G8. These are dialog groups. They allow you to have multiple paths and the system will check each output, from the top one, to see if the path can be triggered. It will check each output until it finds one that can be triggered. It is recommended to make the last output free of any prerequisites else the event will crash if none of the paths can be triggered.

The best example to fully understand how multiple outputs work is the New Mineral event. This is an event designed to give a random city a new mineral within 2 spaces of the town. All of the 7 outputs have a dialog group set to G1. When the event triggers it checks the first dialog group which is Adamantine and it has a 5% chance of being picked. Next is Gold at a 10%, Gems at 25%, Mithril at 23%, Silver at 33%, Iron at 50% and finally if none of those are chosen the town gets coal.
4. Adventure Node


The Adventure node serves 2 purposes. First it allows you to add text to your event. Second, and most importantly it will keep your event from crashing because the Adventure node must be the first node connected to the Start node. Doesn't matter if you have a huge 50 node event or a small 3 node event, the order of the nodes must be Start then Adventure then all other nodes.

Let's talk about the makeup of this node. It has a copy button that makes an exact copy of the node, including all modifications made and puts it into the current event. Next to this button is the clone button. This does the same thing as the copy button but instead of putting it in the current event it will put the node into another event within the same event module. So if you are working in the Original Modified module and cloned this node you could only put it into another event in the Original Modified module.

The copy and clone buttons will be on the rest of the nodes I talk about. So I'll make mention of them but I won't go into detail on what they do.

There is a trigger once checkbox that functions like the trigger once checkbox on the Start node. There is an image field that allows you to choose an image for this event that will appear in the game. The text box where it says Enter Text is where you would put the text for the even. This is the text that will appear in game and you can also use [ ] with a list you are using in the logic editor to get the name of a city for example. I will go into more detail about the logic editor in its own section. There must be some text in an Adventure node or you will get an error.

Just like the copy and clone buttons the Enter Logic button is also on the rest of the nodes we will talk about and as previously mentioned will be explained in its own section.

There is an Add New Output button that functions like it does on the Start node. This button exists on all but one node will will talk about and they all function the same.

Going forward I am not going to list elements of a node that I have already explained. Unless there is something special about it that is different.
5. Battle Node


The Battle Node is use to initiate a pre-determined battle. Say for example you had an event where the players strongest is to be challenged. Well you would use the Battle Node to setup that battle.

The Opponent dropdown is where you choose from a predefined group of opponents. The Parameter dropdown contains several options DefaultLocationGroup, WeakGroup, MediumGroup, StrongGroup, VStrongGroup, and HeroGroup. If you choose the DefaultLocationGroup then you don't need to selecting anything in the opponent dropdown.

The other options set the level of difficulty for the group you will fight. The Parameter text box is not used. List is used to select the players group for the battle. If it is left empty then the group that triggered the event will be used. This dropdown is filled with lists created in the Logic Editor.

Power is scalable is used to make the opponent groups power will scale with the current game turn. The Level text box is not used. Normally a node comes with a blank output but the Battle Node comes with three predetermined outputs. These are to define what happens when you Win, Surrender or Lose the battle.
6. Trade Node


The Trade Node has a heavy dependency on the Logic Editor. The Player's Wares dropdown is filled with a group/list that is created in the Logic Editor and is used as the players trade currency. The field can also be left blank if you just want to Gold/Mana. The Parameter dropdown is also currency that the player will use for trade but its values are Gold, Mana, or Both. The Parameter text box, the Trader's Wares, and the Parameter dropdown are all not used. The second Parameter text box is used to set the price the player needs to reach before the trade will conclude. The number put into this box should be negative.

Like the Battle Node the Trade Node also comes with predefined outputs. They are Accepted and Canceled. The Accepted output is used when the player has satisfied the set price and the Canceled output is used when the player fails to meet the set price.

To give you an example say there was an event that offered an artifact and you were given the option of spending 1500 gold or mana to purchase it. The Parameter text box would contain the number -1500. If the player chose to pay gold then the accepted path would be chosen and 1500 gold would be taken from the player. The same goes for the mana, but if the player decided not to purchase the item then the canceled path would be taken. Admittedly there would be 2 Trade Nodes in this example. One for Gold and one for Mana.
7. Enchantment Node


The Enchantment Node is used to cast an enchantment on all wizards, the current wizard, a unit or a city. The baby boom event is an example of the Enchantment Node in action. The Target dropdown has the options of All Wizards, Current Wizards (this is the recommended option to choose), or any group that you create via the Logic Editor like a unit or a city.

The Enchantment dropdown is where you choose the enchantment you want to cast on the target. It will list all of the enchantments in the game but fair warning not every enchantment works with certain targets. For example, if a spell is a combat spell it will not work from the editor. Some enchantments will only work on a unit, some only work on a city and some are global enchantments that will only work for a wizard. There are some enchantments that will work on both a wizard and a city.

The Parameter text box takes a number and depending on the enchantment it could be used to set the power of the enchantment or it to set the amount. For example if the enchantment is Death Moon then the Parameter would set the power of this enchantment. If the enchantment is take gold then the Parameter would be the amount to take.

The Duration text box is used to define the number of turns the enchantment will last. If you want a range use a ;. For example if you want an enchantment to last 5 to 20 turns you would enter it as 5;20. Fair warning if you set the duration to 0 or leave it blank then the enchantment will last forever and it can't be dispel.
8. Spawn_Location Node


NOTE: Prior to the new DLC being released this node was broken and would crash the game. So I'm still doing research on what this node is all about.

This node is used to spawn different types of locations and groups. The dropdown What to Spawn contains all of the places and groups that you can spawn. The list is extensive so I won't list it here but they are pretty self explanatory.

Spawn Anchor will normally just be set to NONE but if you are spawning a group then you can set it to a public variable like a city.

Spawn Script allows you to choose predefined scripts. The names are very descriptive so you shouldn't have a hard time understanding what they do.

Event right now is only used for Tech Dungeons.

Distance at this time is unknown what it does or even if it is being used. The same goes for Destroy Event Owner.


9. Location_Award Node


The Location_Award Node is used to give the reward that is assigned to a particular location, like ruins, fallen temples, etc.
10. Relay Node


The Relay node is an empty node that is used if you want to create branching paths in the event but you don't want to add any extra text or functionality. That is not to say you cannot have functionality setup in the logic editor it just means there is nothing to add outside of the logic editor expect more outputs.
11. End Node


The End Node is the last node used in any event. The Navigate to Event allows you to chain events together and the Destroy Event checkbox is used to remove the event so it only shows up once. This would normally be used if the event is attached to a location.
12. Color coding
Connector strings are RED by default, but when they connect to a node that has prerequisites set up, the color will become BLUE. The name of the node appears in brown by default, but it becomes GREEN when the node uses the logic editor to modify something using the results section. These functions are useful when trying to quickly identify areas of the event that were modified.
13. Event Logic Editor
<insert image LogicEditor.png>

Every node has access to the Logic Editor. When you click on the 'Enter Logic Editor' you will see a screen with 3 drop downs.



The purpose of this screen is to create list, process them, and create groups that can then be used for the event logic. The first dropdown is the Filters. It contains the following items:

LEEntryCity is used for searching through city criteria (owned by the chosen Wizard)
LEEntryEnchantment is used for searching through enchantments on the selected target (like the active wizard)
LEEntryHero is used for searching through heroes (owned by the chosen wizard)
LEEntryUnit is used for searching through units (all units owned, processing needed to search for units in specific location)
LEEntryWizard is used for searching through wizard criteria
LEEntryEquipment is used for searching through equipment
LEEntryGroup is used for searching through groups (units or heroes)

The next dropdown is Processing. This is where you can refine your lists. It contains the following items:

LEProcessingAdd is a function that will allow you to search for common/shared elements within previously made lists, providing the lists are of the same type i.e. 2 city lists. 1 city list and 1 hero list would be invalid.

LEProcessingFilter is used to fine tune your lists. It can be used for all sorts of complex functions that will allow you to target specific game situations

LEProcessingMultiply will create a list that contains either LIST A or LIST B, or it may contain both LIST A and LIST B

LEProcessingSubtract will create a list that does not have an undesired element (LIST A minus LIST B)

The last dropdown is the Results. This dropdown is used to set prerequisites for the event node to trigger. When they are set in the Start Node the entire event will only trigger if the prerequisites are met. When these are set in any other node in the event editor, that node will only be 'opened' when the prerequisites are met. It contains the following items:

LERequirementChance sets chance as the prerequisite
LERequirementCheckSharedTag is to set a shared tag (a tag shared between players) as the prerequisite
LERequirementCityCriteria sets city criteria as the prerequisite
LERequirementFame sets fame as the prerequisite
LERequirementFamiliar sets the wizard's familiar as the prerequisite
LERequirementFood sets current Food that the active Wizard has as the prerequisite
LERequirementGold sets current Gold that the active Wizard has as the prerequisite
LERequirementHero sets a hero as the prerequisite
LERequirementListSize1 sets a previously defined (via filters/processing) list as a prerequisite (this script will look for 1+)
LERequirementListSize2 sets a previously defined (via filters/processing) list as a prerequisite (this script will look for X+/- )
LERequirementMagic sets the type of Magic Book used by the active Wizard as the prerequisite
LERequirementMana sets current Mana that the active Wizard has as the prerequisite
LERequirementTurn sets a specific turn as the prerequisite
LERequirementWizardCriteria sets Wizard criteria as the prerequisite
LERequirementOtherCriteria sets other criteria as the prerequisite (currently checks for FRA_IsGarrisonInLocation)



In the upper right corner of the screen you will see 2 buttons. Currently you are on the filter screen. If you click the pencil button it will switch to the second screen. The names of the dropdowns don't change but the items in the Results do change. This screen is used for modifications/rewards/consequences. The new items in the Results drop are:

LEModificationReward is used to apply various modifications (example: add/take resources/gold/mana/fame/food etc)
LEModificationRewardHero is used to modify/add Hero/Champion units (allows for allocation of hero type/power/amount)
LEModificationRewardItem is used to modify/add items (allows for allocation of item type/power/amount)
LEModificationRewardUnits is used to modify/add units (allows for allocation of unit type/power/amount)

To actually start using these items click on one of them in the dropdown and press the + button to open it.

With the general overview out of the way let's take a deep dive into how each option works.
- LEEntryCity


The List Name textbox is for the name of your group/list. The Make Public checkbox is used to allow the use of the list in other connected nodes within the path. Example, node 1 has the list you want to use in node 5. Node 5 must have path back to node 1. The up/down arrows are used to move the box within the stack. Example, you have 3 options selected and city is the first option but you would rather have it be the last option. click the down arrow twice.

Active Player is the current player i.e. the one who triggered the event. Also within this dropdown is NonNeutralPlayer which is all players/wizards but not the neutral ones like the cities or units. OpponentPlayer is the enemy wizards but not you. Any Player is all wizards including you. Neutral Player refers to the neutral cities and units.

The dropdown below says None but is used to select the type of city you want to target. Choose All if this is not a criteria that you need. Script to select city offers
FwT_AnyCity which is used to filter any city.
FwT_CityByRace is used to filter through cities by race.
FwT_CityByPlane will finter through cities on the selected plane (Arcanus/Myrror).
FwT_CityByBuilding filters through cities with the specific building (ie all cities with a shrine).
FwT_CityByTerrainType filters through cities built on certain terrain types (ie cities built in the mountains). FwT_CityByUnrest filters through cities with a given unrest percentage.
FwT_CityByEnchantment filters through cities that have an active enchantment of a chosen type.
FwT_CityByPopulation filters through cities with the selected number of population.

The next dropdown's choices will depend on the Script to select city. One note about this is that if you previous dropdown was By Unrest or By Population then your options will be Equal, MoreOrEqualThan, LessOrEqualThan, MoreThan, and LessThan. The Parameter textbox is used if a number is needed else it will be left blank. Debug Script is not used.
- LEEntryEnchantment


You'll notice several fields are the same as on the Entry City. I'm not going to list those, I will only document the new fields from now on.

Script to Select Enchantment offers
FwT_AnyEnchantment which filters through any enchantment of the selected wizard.
FwT_AllEnchantments which filters through all enchantments of the selected wizard.
FwT_EnchantmentByName which filters through enchantments of the selected wizard by the name of the enchantment.
- LEEntryHero


Script to Select Hero offers
FwT_AnyHero which filters though all heroes/champions of the previously selected wizard.
FwT_HeroByTag filters through heroes of the previously selected wizard by a tag (tags can be added in the database). FwT_HeroBySkill filters through heroes of the previously selected wizard by the skill they have.
FwT_HeroByAnyEquipment filters though heroes of the previously selected wizard by those who have any equipment on them. FwT_HeroByName filters through heroes of the previously selected wizard by the hero/champion name.

Select Parameter could offer these options in the other from the previous dropdown. None, List of tags, List of skills, None, Specific Hero names. As you know Parameters is for numbers, well if by tag was selected then a number will be required. This number is how many of the tags that have. Normally this will be 1.
- LEEntryUnit


Script to Select Unit offers
FwT_AnyUnit filters through all units of the previously selected Wizard.
FwT_UnitByRace filters through all units of the previously selected Wizard by race (barbarian, troll etc).
FwT_UnitBySubrace filters through all units of the previously selected Wizard by the subrace (class: swordsmen, shamans etc).
FwT_UnitByTag filters through all units of the previously selected Wizard by a tag.
FwT_UnitByLevel filters through all units of the previously selected Wizard by unit level (veteran etc).
FwT_UnitByTerrain filters through all units of the previously selected Wizard by the terrain type they are on? (not currently in use).
FwT_UnitByEnchantment filters through all units of the previously selected Wizard by an active enchantment on the unit. FwT_UnitByLearnedSpell filters through all units of the previously selected Wizard by a spell that have. FwT_UnitByHealingSpell filters through all units of the previously selected Wizard by any healing spell they have. FwT_FantasticUnit filters through all units of the previously selected Wizard by their type, i.e all fantastic units. FwT_NormalUnit filters through all units of the previously selected Wizard by their type, i.e all normal units. FwT_UnitBySkill filters through all units of the previously selected Wizard by the skill they have.

Select Parameter will have these options None, List of Races, List of classes, List of tags, Equal, MoreOrEqualThan, LessOrEqualThan, MoreThan, LessThan, List of terrain types, List of enchantments, List of spells, None, List of skills, None, None, List of skills. For Parameter tags require a number.
- LEEntryWizard


Script to Select Wizard offers

FwT_AnyWizard the script will filter any Wizard
FwT_WizardByRace the script will filter through Wizards by their race (not currently in use)
FwT_WizardByTrait the script will filter through Wizards by their trait
FwT_WizardByMagic the script will filter through Wizards by their magic books (made redundant by Wizard criteria in results)
FwT_WizardByFame the script will filter through Wizards by their Fame
FwT_WizardByFamiliar the script will filter through Wizards by their familiar
FwT_WizardByNumberOfCity the script will filter through Wizards by the number of cities they own (not currently in use)
FwT_WizardByPopulation Overall the script will filter through Wizards by the general population (not currently in use)
FwT_WizardByMana the script will filter through Wizards by their current Mana (made redundant by Wizard criteria in results)
FwT_WizardByManaPerTurn the script will filter through Wizards by their Mana per turn
FwT_WizardByGold the script will filter through Wizards by their current Gold (made redundant by Wizard criteria in results)
FwT_WizardByGoldPerTurn the script will filter through Wizards by their Gold per turn
FwT_WizardByFoodPerTurn the script will filter through Wizards by their Food per turn
FwT_WizardByName the script will filter through Wizards by their name
FwT_WizardByEnchantment the script will filter through Wizards by any active enchantments
FwT_WizardByLearnedSpell the script will filter through Wizards by their owned spells
FwT_WizardByHealingSpell the script will filter through Wizards by any healing spells
- LEEntryEquipment


Script to Seloect Equipment offers

FwT_AnyEquipment filters through any equipment of the selected wizard.
FwT_EquipmentByEquipped filters through the equipment of the selected Wizard that is currently equipped by a hero/champion.
FwT_EquipmentByUnEquipped filters through the equipment of the selected Wizard that is currently not equipped by a hero/champion.

Select Parameter None should be selected unless something requires an entry.
- LEEntryGroup


Script to Select Unit

FwT_AllGroups filters through all groups
FwT_GroupsByHero filters through the groups by a specific hero
FwT_GroupsByStrongest filters through the groups based on their strength
FwT_GroupsBySize filters through the groups based on their size

Select Parameter when FwT_GroupsByStrongest is selected leave this and Parameter blank.
- LEProcessingAdd


List A will choose from a list of previously made groups. The chosen group/list will be checked with List B to see if they have a shared element.
List B will choose from a list of previously made groups. The chosen group/list will be checked with List A to see if they have a shared element. You can only process lists of the same type, so once you choose a list of cities in either List A or List B, only lists of other cities will show up as options in the drop down.
- LEProcessingFilter


List A dropdown will show previously made lists available for filtering. Some scripts will require a specific type of LIST A for the script to work, not just any. For example, when you use the script for units at location, the LIST A needs to be a location.

Select Rule for a new List offers
FLP_GetRandomXelements selects one random element from the selected LIST A
FLP_GetRandomXPercentElements selects a percentage from the selected LIST A
FLP_FilterByTag filters from the selected LIST A checking for a specific Tag
FLP_FilterByRace filters from the selected LIST A checking for a specific race (used for units)
FLP_FilterBySubrace filters from the selected LIST A checking for a specific subrace (used for units)
FLP_FilterByTerrain filters from the selected LIST A checking for a specific type of terrain (like a city by the sea)
FLP_FilterByPlane filters from the selected LIST A checking for a chosen plane (Arcanus/Myrror)
FLP_FilterBySkill filters from the selected LIST A checking for a specific skill
FLP_FilterByLearnedSpell filters from the selected LIST A checking for a learned spell
FLP_FilterByHealingSpell filters from the selected LIST A checking for any healing spells
FLP_FilterByEnchantment filters from the selected LIST A checking for an enchantment
FLP_FilterByAnyResource filters from the selected LIST A checking for a resource
FLP_FilterByMinedResource filters from the selected LIST A checking for a specific mined resource
FLP_FilterByAnyMinedResource filters from the selected LIST A checking for a mined resource
FLP_FilterByBuilding filters from the selected LIST A checking for specific buildings
FLP_OpposingCityInTheRangeOf filters checking for opposing Wizard cities in the range of LIST A (should be a city)
FLP_NeutralCityInTheRangeOf filters checking for neutral cities in the range of LIST A (should be a city) (non Wizard cities in the range of your cities, used for example, for the ‘Marriage’ event to see if there are cities in range that can be ‘gifted’)
FLP_ActivePlayerCityInTheRangeOf filters checking for active player cities in the range of LIST A (should be a city) (your city in X range of another city, like maybe in the range of your capitol, or an enemy city etc)
FLP_FilterByResourceInRangeOf filters checking for resources in the range of LIST A (should be a city)
FLP_UnitsFromLocation filters checking for units in the city (specified in LIST A)
- LEProcessingMultiply


List A will choose from a list of previously made groups.
List B will choose from a list of previously made groups. You can only process lists of the same type, so once you choose a list of cities in either List A or List B, only lists of other cities will show up as options in the drop down.
- LEProcessingSubtract


List A will choose from a list of previously made groups.
List B will choose from a list of previously made groups. The chosen group/list will be checked with List A to make sure that List B is NOT a part of List A. You can only process lists of the same type, so once you choose a list of cities in either List A or List B, only lists of other cities will show up as options in the drop down.
- LERequirementChance


None You can select G1, G2 etc. from the drop down menu when you have more than one prerequisite, and would like to group the prerequisites together, so that only one out of the group needs to be fulfilled. when no such group is selected ALL of the prerequisites in the Results column MUST be fulfilled.
Value (0-100) Set the x% chance for the node to be triggered.
- LERequirementCheckSharedTag


Select script to test tag offers

FRA_HaveSharedTag checks if the player has a tag
FRA_DoesNotHaveSharedTag checks if the player does not have a tag

Parameter dropdown is for a list of tags and the Parameter textbox is for the number of tags you are checking for.
- LERequirementCityCriteria
<insert image LERequirementCityCriteria.png>

List A containing City(ies) selects a previously created list (in the Filter and/or Processing) of the city/cities you want to check. The list chosen MUST be a City list, even if others appear in the dropdown, only City lists will work!

Criteria offers

FRA_CityOnTerrain checks for LIST A City that lies on chosen terrain type (like mountains, seashore etc)
FRA_Unrest checks for LIST A City with a chosen unrest percentage (requires both Parameters and the number stands for % of Unrest)
FRA_Population checks for LIST A City with a chosen population count (requires both Parameters)
FRA_GoldProduction checks for LIST A City with a certain gold production output
FRA_GarrisonInCity checks for LIST A City to see if the city has a garrison (units in the city)
FRA_HeroInCity checks for LIST A City to see if the city has a hero/champion stationed there
FRA_ResourceInCityRange checks for LIST A City to see if there is a resource within its range
FRA_ResourceIInRangeOf
- LERequirementFame


This one is pretty self explanatory.
- LERequirementFamiliar


Script only has one option and it is FRA_FamiliarOfMagic. This lets you choose which type of familiar you want to check for (there is only one type in the base game - based on magic school)

Parameter allows you to select a familiar from the list

There is a Parameter textbox that does nothing so leave it blank
- LERequirementFood


Equal lets you choose the criteria you want to use for the check: Equal, MoreOrEqualThan, LessOrEqualThan, MoreThan, and LessThan

Parameter dropdown is not used but the Parameter textbox is for you to set the value you want to check for
- LERequirementGold
<insert image LERequirementGold.png>

This works the same as the above Food trigger
- LERequirementHeroCriteria


Criteria offers

FRA_HeroHaveTag checks for LIST A, a Hero, to see if they have tag (tags can be added via rewards, or assigned in the database)
FRA_HeroDoesNotHaveTag checks for LIST A, a Hero, to see if they do not have a tag
FRA_HeroHasSkill checks for LIST A, a Hero, to see if they have a skill
FRA_HeroDoesNotHaveSkill checks for LIST A, a Hero, to see if they do not have a skill
FRA_HeroOnTerrain checks for LIST A, a Hero, to see if they are currently on a terrain type

Parameter dropdown allow you to choose a parameter if the Criteria demands it. For example, when checking for a tag, you should choose a tag you are searching for from the dropdown. The parameter textbox as usual is for a number.
- LERequirementListSize1


List A is for a previously created list.
- LERequirementListSize2


This trigger works like the trigger above but it gives you a few more options to work with.
- LERequirementMagic


The parameter dropdown let you choose the magic book tag you would like to search for.
- LERequirementMana


There is nothing on this trigger you haven't already seen
- LERequirementTurn


This trigger is pretty straightforward
- LERequirementWizardCriteria


Criteria offers

FRA_WizardHaveTag checks for LIST A, a Wizard, to see if they have tag (tags can be added via rewards, or assigned in the database)
FRA_WizardDoesNotHaveTag checks for LIST A, a Wizard, to see if they do not have a tag
FRA_WizardHaveLearnedSpell checks for LIST A, a Wizard, to see if they have a spell
FRA_WizardHaveEnchantment checks for LIST A, a Wizard, to see if they have an enchantment
FRA_WizardHaveWorldEnchantment checks for LIST A, a Wizard, to see if they have a world enchantment
FRA_WizardDoesNotHaveWorldEnchantments checks for LIST A, a Wizard, to see if they do not have any world enchantments on them
FRA_WizardDoesNotHaveLearnedSpell checks for LIST A, a Wizard, to see if they do not have a spell
FRA_WizardDoesNotHaveEnchantment checks for LIST A, a Wizard, to see if they do not have an enchantment
FRA_WizardHaveMagicNode checks for LIST A, a Wizard, to see if they are in possession of a magic node (if a ghost has merged with a node)
FRA_WizardIsReserchingSpell checks for LIST A, a Wizard, to see if they are currently researching any spells
- LERequirementOtherCriteria


Script only has one option and it is FRA_IsGarrisonInLocation which checks if there are defenders/units in the location that triggered this node (most often used in pre-generated locations on the map, like ruins, temples etc)
- LEModificationReward


List A is for selecting a previous created list. Make sure the list you choose is compatible with the reward you are going to give. For example only choose a city list if you want to modify population, choose a wizard list if you want to modify their mana.

Select Bonus Type offers

FMO_AddTag adds a tag (chosen in the first Parameter)
FMO_SetTag a tag (chosen in the first Parameter) to the number given in the last Parameter.
FMO_AddPopulation adds population to List A city.
FMO_TakePopulation takes population from List A city.
FMO_AddPopulationPercentage adds population percentage to List A city.
FMO_TakePopulationPercentage takes population percentage from List A city.
FMO_AddGold adds Gold to List A Wizard.
FMO_TakeGold takes Gold from List A Wizard.
FMO_AddGoldPercentage adds Gold percentage to List A Wizard.
FMO_TakeGoldPercentage takes Gold percentage from List A Wizard.
FMO_AddGoldPerTurn adds Gold per turn to List A Wizard or city, permanently.
FMO_TakeGoldPerTurn takes Gold per turn from List A Wizard or city, permanently.
FMO_AddFoodPerTurn adds Food per turn to List A Wizard or city, permanently.
FMO_TakeFoodPerTurn takes Food per turn from List A Wizard or city, permanently.
FMO_AddMana adds Mana to List A Wizard.
FMO_TakeMana takes Mana from List A Wizard.
FMO_AddManaPercentage adds Mana percentage to List A Wizard.
FMO_TakeManaPercentage takes Mana percentage from List A Wizard.
FMO_AddManaPerTurn adds Mana per turn to List A Wizard, permanently.
FMO_TakeManaPerTurn takes Mana per turn from List A Wizard, permanently.
FMO_TakeHero takes List A hero/champion.
FMO_TakeUnit takes List A unit/s
FMO_TakeEquipment takes List A equipment
FMO_AddBuilding adds a selected building to List A (a city)
FMO_TakeBuilding takes a selected building from List A (a city)
FMO_TakeAnyBuilding takes List A (a city) a random building/s
FMO_TakeResource takes a selected resource from List A (a city)
FMO_TakeMinedResource takes a selected mined resource from List A (a city)
FMO_TakeAnyResource takes any resource from List A (a city)
FMO_TakeAnyMinedResource takes any mined resource from List A (a city)
FMO_ConvertCity converts an enemy city List A, into yours
FMO_LoseCity converts your city List A, into a neutral one
FMO_DestroyCity destroys a city from List A
FMO_AddResourceWithinRangeOf adds a resource within the range of List A city.
FMO_AddMinedResourceWithinRangeOf adds a mined resource within the range of List A city.
FMO_AddUnrestPercentage adds unrest percentage to List A city. (applies a permanent enchantment)
FMO_LowerUnrestPercentage lowers unrest percentage to List A city. (applies a permanent enchantment)
FMO_AddResearchPoints adds research points
FMO_TakeResearchPointsPerc takes a % of your current research progress
FMO_AddCity Production add production to List A city. The effect is permanent.
FMO_TakeCity Production take production from List A city. The effect is permanent.
FMO_AddLearnedSpell adds a spell to the spellbook
FMO_AddTrait adds a trait to a wizard
FMO_AddSkill adds a skill to a hero/champion or unit
FMO_Heal heals a unit/hero
FMO_AddFly adds flight to a hero/unit
FMO_AddSwim adds water walking to a hero/unit
FMO_AddXP adds XP to a hero/unit
FMO_AddSpellbook adds a spellbook to a Wizard.
FMO_AddFame adds Fame to a Wizard.
FMO_TurnToRuin destroys a city and makes it a ruin. (this option will cause an error)
FMO_RemoveGlobalEnchantments removes all global enchantments.
FMO_DisjunctionEvent Unknown as I wasn't able to get it to work
FMO_RemoveEnchantment removes an enchantment
- LEModificationRewardHero


Spawn Location must be a city list, as this serves as the anchor to spawning the unit/hero
Requirement Group allows you to select additional requirements for the hero you want to add. Currently, this is used to select hero by name.
Power Value sets the power value of the unit (this will not work if you choose the hero/unit by name)
Power is scalable is a checkbox that if checked then the reward will scale in power. (Will not work with heroes chosen by name, as they have a set value)
Number of Units will reward the number of units entered
- LEModificationRewardUnits


This is exactly like the Hero trigger except it also includes units from the different races.
- LEModificationRewardItem


Again this is like the Hero trigger except it is for rewarding items
- Power Values
One note about all 3 of these triggers is the Power Value. You are able set a range like for unit you could put 100;1500 or for item it could be 500;1000.

Below are the power values for units
UNIT-D_ELF_SETTLER 28
UNIT-ORC_ENGINEERS 74
UNIT-BSTM_SETTLER 76
UNIT-H_MEN_ENGINEERS 79
UNIT-ORC_SETTLER 87
UNIT-BARB_SETTLER 87
UNIT-H_ELF_SETTLER 87
UNIT-HALF_SETTLER 87
UNIT-GNO_SETTLER 87
HERO-ZALDRON 87
UNIT-H_MEN_SETTLER 88
UNIT-NOM_SETTLER 90
UNIT-KLKN_SETTLER 91
UNIT-LIZ_SETTLER 97
UNIT-DWRF_SETTLER 97
UNIT-TRLL_SETTLER 97
UNIT-SOR_FLOATING_ISLAND 97
UNIT-H_MEN_SPEARMEN 116
UNIT-ORC_SPEARMEN 119
UNIT-NOM_SPEARMEN 122
HERO-JAER 125
HERO-GREYFAIRER 128
UNIT-KLKN_ENGINEERS 131
UNIT-H_ELF_SPEARMEN 140
UNIT-BARB_BOWMEN 145
UNIT-NOM_BOWMEN 155
UNIT-ORC_BOWMEN 155
UNIT-H_MEN_BOWMEN 157
UNIT-DRCN_ENGINEERS 172
UNIT-ORC_SHAMANS 172
UNIT-BARB_SPEARMEN 174
UNIT-HALF_SPEARMEN 186
UNIT-GNO_BOWMEN 187
HERO-MORGANA 189
UNIT-BARB_SHAMANS 195
UNIT-DWRF_ENGINEERS 195
UNIT-D_ELF_SPEARMEN 200
HERO-MALLEUS 202
UNIT-KLKN_SPEARMEN 203
UNIT-NOM_SWORDSMEN 205
HERO-SHURI 206
HERO-SERENA 206
UNIT-SOR_PHANTOM_WARRIORS 206
UNIT-H_MEN_SWORDSMEN 207
UNIT-ORC_SWORDSMEN 208
HERO-ELANA 209
HERO-REYWIND 212
HERO-BSHAN 213
UNIT-BSTM_ENGINEERS 215
UNIT-DRCN_BOWMEN 215
UNIT-DRCN_SETTLER 217
UNIT-DRCN_SHAMANS 219
HERO-VALANA 221
UNIT-BARB_SWORDSMEN 221
HERO-RAKIR 228
UNIT-HALF_SHAMANS 228
UNIT-HALF_BOWMEN 229
UNIT-LIZ_SPEARMEN 241
UNIT-H_ELF_SWORDSMEN 241
UNIT-D_ELF_SWORDSMEN 243
UNIT-ARC_MAGIC_SPIRIT 244
UNIT-GNO_SPEARMEN 245
UNIT-LIZ_SHAMANS 249
UNIT-ORC_HALBERDIERS 253
HERO-MYSTIC_X 255
HERO-AERIE 260
UNIT-DRCN_SPEARMEN 260
HERO-YRAMRAG 261
UNIT-KLKN_SWORDSMEN 262
UNIT-GNO_SWORDSMEN 264
UNIT-BSTM_BOWMEN 271
UNIT-TRLL_SPEARMEN 272
UNIT-HALF_SWORDSMEN 272
HERO-BRAX 275
HERO-TAKI 277
HERO-AUREUS 279
HERO-GUNTHER 280
UNIT-BSTM_SPEARMEN 280
HERO-THERIA 282
UNIT-D_ELF_HALBERDIERS 283
UNIT-TRIREME 284
HERO-BAHGTRU 284
UNIT-NTR_SPRITES 287
UNIT-H_ELF_HALBERDIERS 297
UNIT-DRCN_SWORDSMEN 299
HERO-SPYDER 307
UNIT-D_ELF_CAVALRY 308
HERO-MARCUS 312
UNIT-DTH_SKELETONS 314
UNIT-GNO_HALBERDIERS 318
UNIT-LIZ_SWORDSMEN 320
UNIT-BSTM_SWORDSMEN 321
UNIT-H_MEN_CAVALRY 322
UNIT-ORC_CAVALRY 323
HERO-SHIN_BO 324
HERO-TUMU 330
UNIT-KLKN_HALBERDIERS 330
HERO-SHALLA 332
HERO-DETH_STRYKE 335
UNIT-LIF_GUARDIAN_SPIRIT 336
UNIT-HALF_SLINGERS 336
UNIT-NOM_HORSEBOWMEN 341
UNIT-BARB_CAVALRY 342
UNIT-NOM_PRIESTS 343
HERO-SIR_HAROLD 344
UNIT-DWRF_SWORDSMEN 344
HERO-ALORRA 348
UNIT-H_MEN_PRIESTS 348
UNIT-DRCN_HALBERDIERS 351
UNIT-ORC_MAGICIANS 355
UNIT-CHA_FIRE_ELEMENTAL 367
UNIT-D_ELF_NIGHTBLADES 367
UNIT-TRLL_SWORDSMEN 368
HERO-FANG 369
UNIT-H_ELF_PEGASAI 369
UNIT-H_ELF_LONGBOWMEN 371
UNIT-NOM_RANGERS 371
UNIT-H_ELF_CAVALRY 372
UNIT-BSTM_HALBERDIERS 372
UNIT-LIZ_HALBERDIERS 373
UNIT-NTR_WAR_BEARS 375
HERO-RAVASHACK 378
UNIT-DRCN_MAGICIANS 379
UNIT-H_MEN_PIKEMEN 380
UNIT-NOM_PIKEMEN 381
UNIT-BSTM_CENTAURS 384
UNIT-DTH_GHOULS 385
UNIT-TRLL_SHAMANS 387
UNIT-SOR_NAGAS 391
UNIT-DWRF_HALBERDIERS 394
UNIT-GALLEY 394
UNIT-TRLL_HALBERDIERS 395
UNIT-CATAPULT 399
UNIT-CHA_HELL_HOUNDS 402
HERO-ROLAND 407
UNIT-BSTM_MAGICIANS 469
UNIT-BSTM_PRIESTS 500
HERO-MORTU 548
UNIT-LIZ_JAVELINEERS 548
UNIT-H_ELF_MAGICIANS 560
UNIT-GNO_WOLF_RIDERS 579
UNIT-NTR_GIANT_SPIDERS 591
UNIT-DWRF_STEAM_CANNON 597
UNIT-BSTM_MANTICORES 609
HERO-WARRAX 637
UNIT-D_ELF_PRIESTS 637
UNIT-DTH_ZOMBIES 680
UNIT-H_MEN_MAGICIANS 680
UNIT-D_ELF_WARLOCKS 736
UNIT-DRCN_DOOM_DRAKES 978
UNIT-D_ELF_NIGHTMARES 978
UNIT-LIZ_DRAGON_TURTLE 1008
UNIT-TRLL_WAR_TROLLS 1051
HERO-TORIN 1092
UNIT-ORC_WYVERN_RIDERS 1122
UNIT-LIF_UNICORNS 1122
UNIT-CHA_GARGOYLES 1150
UNIT-DRCN_AIR_SHIP 1193
UNIT-BARB_BERSERKERS 1193
UNIT-H_ELF_ELVEN_LORDS 1221
UNIT-CHA_FIRE_GIANT 1307
UNIT-TRLL_WAR_MAMMOTHS 1365
UNIT-DWRF_GOLEM 1378
UNIT-H_MEN_PALADINS 1378
UNIT-SOR_PHANTOM_BEAST 1449
UNIT-NTR_COCKATRICES 1464
UNIT-DTH_DEMON 1507
UNIT-NOM_GRIFFINS 1507
UNIT-KLKN_STAG_BEETLE 1550
UNIT-DTH_WEREWOLVES 1550
UNIT-DTH_NIGHT_STALKER 1578
UNIT-DWRF_HAMMERHANDS 1606
UNIT-BSTM_MINOTAURS 1734
UNIT-CHA_DOOM_BAT 1764
UNIT-SOR_AIR_ELEMENTAL 1835
UNIT-WARSHIP 1921
UNIT-DTH_SHADOW_DEMONS 1934
UNIT-LIF_ANGEL 1949
UNIT-NTR_EARTH_ELEMENTAL 2285
UNIT-CHA_EFREET 2324
UNIT-CHA_CHIMERAS 2324
UNIT-DTH_WRAITHS 2630
UNIT-NTR_STONE_GIANT 2630
UNIT-NTR_BASILISK 2665
UNIT-LIF_ARCH_ANGEL 2895
UNIT-SOR_STORM_GIANT 3010
UNIT-NTR_BEHEMOTH 3049
UNIT-SOR_DJINN 3164
UNIT-CHA_CHAOS_SPAWN 3199
UNIT-NTR_GORGONS 3389
UNIT-CHA_HYDRA 3504
UNIT-NTR_GREAT_WYRM 3544
UNIT-DTH_DEMON_LORD 3700
UNIT-DTH_DEATH_KNIGHTS 4004
UNIT-SOR_SKY_DRAKE 4195
UNIT-NTR_COLOSSUS 4195
UNIT-CHA_GREAT_DRAKE 4425
14. Let's Design An Event Or Two!
Now it is time to put all of this knowledge to the test by creating some events! I have designed 2 events that I will explain step by step how to build. These events are a little over the top, one more than the other. Mostly they should only used to get familiar with the Event Editor but feel free to use them in your games if you want.
- Event One: Benevolent Entity
The first event is called Benevolent Entity. From the main menu click on the Editor button. Now we need to decide where to put the put the new events. We could make a new group but it might be easier to put them under the New group. Select the second group labeled New and then click the Edit Module button.

Now click the + button on the left and type in the name 'Benevolent Entity' then click the confirm button. Now click the right arrow in the bottom middle of the screen to goto the second page. Select the event and click the Edit Adventure button.

Once inside the editor you will see a 1:Start node.

With this node do the following
1. Check Trigger Once
2. Click Set Image and select Adventure021
3. First dropdown select PerPlayer
4. Second dropdown select Neutral
5. Set Initial Delay (turns) to 150
6. Set Cooldown (turns) to 0
7. Click the Enter Logic Editor
8. Under Filters select LEEntryWizard and click the + button
9. Select LEEntryCity and click the + button
10. On Wizard type 'currentPlayer' in the textbox
11. Select FwT_AnyWizard in the Script to Select Wizard dropdown
12. In City type 'anyCity' in the textbox
13. Select All in the Capitol/All dropdown
14. In Script to Select City select FwT_AnyCity
15. Under Processing select LEProcessingFilter then click the + button
16. Type '1 city' in the textbox and check Make Public
17. Select anyCity under ListA dropdown
18. Select FLP_GetRandomXelements for Select Rule for a new List dropdown
19. Type 1 in the Parameter textbox
20. Under Result select LERequirementMana and click the + button
21. Select LERequirementMana again and click the + button
22. Change Equal in the first mana box to LessThan
23. Type 500 in the Parameter textbox
24. Change Equal in the second mana box to MoreOrEqualThan
25. Type 500 in the Parameter textbox

Click the Exit Logic button

In an open spot right-click and select Adventure then link the 1:Start to 2:Adventure. The only thing to do with this node is to enter this into the textbox 'A benevolent entity has taken pity on your city of [1 city] and has cast several beneficial enchantments on it.' and type 'Accept' where it says 'Enter text...'.

Right-click again in an open spot and click Enchantment. For this node do the following
1. Set Target to 1 city
2. Set Enchantment to ENCH-GAIS_BLESSING
3. Set Parameter to 100
4. Set Duration to 0
5. Type Accept where it says 'Enter text...'.

Link 2:Adventure to 3:Enchantment. Click the copy button on the Enchantment node. Move this duplicate Enchantment node and change Enchantment to ENCH-ALTAR_OF_BATTLE then link 3:Enchantment to 4:Enchantment. Click the copy button on the 4:Enchantment node and move the new duplicate node out.

Change Enchantment to ENCH-INSPIRATIONS and link 4:Enchantment to 5:Enchantment then click the copy button on the 5:Enchantment node and change Enchantment to ENCH-PROSPERITY then link 5:Enchantment to 6:Enchantment.

Now right-click in an open spot and click on Relay. Link 6:Enchantment to 7:Relay. Lastly right click in an open spot and click on End. Then link 7:Relay to 8:End.

Now you have an event that will trigger once on or after turn 150 if the player has less than 500 mana and all of the AI wizards have mana that is more than or equal to 500. Once it does trigger one of the players cities will be heavily enchanted permanently with no possibility of being disenchanted.
- Event Two: The Challenge
Click the Leave button to go back to the module. Next we will build a much more indepth event. Click the + Button on the left and enter the name 'The Challenge' then click the Confirm button. Select the new event and click the Edit Adventure button.

You will see the familiar Start node again. Here is how to setup this node
1. Choose PerPlayer
2. Choose Neutral
3. Initial Delay (turns) should be 100
4. Cooldown (turns) should be 50
5. Click Enter Logic Editor
6. Under Filters choose LEEntryWizard
7. Choose LEEntryGroup
8. For Wizard enter 'currentPlayer' in textbox and check Make Public
9. Select FwT_AnyWizard
10. For Group enter 'strongGroup' in the textbox and check Make Public
11. Select FwT_GroupStrongest
12. Under Results choose LERequirementGold
13. Change Equal to MoreOrEqualThan
14. Set Parameter textbox to 1000 then click the Exit Logic button
15. In the output change None to G1 then click the Add New Output button
16. With the new output change None to G1 then click the Add New Output button
17. Do this 4 more times

Since this event is much more in depth than the previous one we did I will explain what each node does. This node is used to check if the event itself will trigger. This node will only trigger if the player has at least 1000 gold. If it does trigger then it finds the players strongest group of units.

The next node you will need is the Adventure node. Right click on an open spot and select Adventure. Setup this as follows
1. Set the image to Adventure052.
2. In the textbox type this 'Master your friend and competitive rival comes to you with a challenge. They bet you 1000 gold that you cannot defeat their strongest army with our strongest army.'
3. In the output at the bottom type 'Agree to the challenge'
4. Click the Add new Output button and in the new output type 'Tell them to come back later'.
5. Click the Enter Logic Editor button
6. Under Results select LERequirementFamiliar
7. Change Script to FRA_FamiliarOfMagic
8. In the Parameter dropdown choose Life
9. Click the Exit Logic button

Now you need to copy 2:Adventure 5 times changing the image and the Parameter dropdown for each realm of magic. The order I did them in is Death, Nature, Chaos, Sorcery and Synergy. If you forget to change the dropdown you will get an error when the event runs if your familiar isn't the Dove.

These nodes are just to offer the player a challenge based on the familiar the player has.

Now you need to link each output of 1:Start to each Adventure node. The order doesn't really matter but to help you follow the guide do it in this order. First output to 2:Adventure (Life), 2nd output to 3:Adventure (Death), 3rd output to 4:Adventure (Nature), 4th output to 5:Adventure (Chaos), 5th output to 6:Adventure (Sorcery), and the last output to 7:Adventure (Synergy).

As I look at the event I realized I made some nodes and closed them so my numbering system has many holes. To counter this I won't be using numbers anymore. I will just tell you the node so there is no confusion.

With that right click an open spot and select Relay then do it again and select End. We now need to hook up those 6 Adventure nodes to both the Relay and End nodes. Link the output 'Tell them to come back later' to the End node. Then hook up the 'Accept the challenge' to the Relay node.

On the Relay node change the dropdown on the output to G1 then make 3 more outputs changing their dropdowns to G1. Don't put anything into the textbox as it is not needed.

We use a Relay node to funnel many nodes into one node. Each output can only link to one node but one node can have many outputs linked to it. We used the End node to end the event if the player chooses 'Tell them to come back later' dialog option.

Right click on an open spot and select Battle. This node comes with 3 predefined outputs Win, Surrender and Lost. Set it up like this
1. Set Opponent to GROUP-HIGH_ELVES
2. Set Parameter to VStrongGroup
3. Set List to strongGroup (if you don't see it in the dropdown go back to the logic editor of Start and select Make Public)
4. Check Power is scalable
5. Level should be defaulted to 0 if no set it to 0
6. Click Enter Logic Editor
7. Under Results select LERequirementChance
8. In the Parameter textbox type 25
9. Click Exit Logic button

Now copy Battle 3 more times and the only thing you need to change is the Opponent. The 3 Opponents you want are GROUP-HIGH_MEN, GROUP-DARK_ELVES, and GROUP-DRACONIANS.

These Battle nodes are the heart of the event. Each one has a 25% chance to appear.

Link one output on Relay to one Battle. Next right click an open spot and select a Relay. Set it up by selecting G1 in the output dropdown then add 5 more selecting G1 for each of them. Again nothing needs to be entered into the text box.

Copy the Relay. With each of the Battle nodes link the 'Win' to one of the Relay nodes and 'Surrender' and 'Lost' to the other Relay node.

Now we need to make the 6 Adventure nodes for each of the schools of magic. The easiest thing to do is copy each of the ones we already made and just change the text. Here is the text you need to use in the textbox 'Master you won! What an amazing victory. I will add your winnings to the treasury.' Once you create those 6 new Adventure nodes. Copy each of them again and change the textbox to 'Master you lost! I'm so sorry, I will take the money from the treasury to pay off the bet.'

At this point you have have 18 Adventure nodes 3 for each school of magic.

Link the outputs on the Relay linked with the Win output of the Battle node to the Adventure node with the win message. Do the same for the other Relay node but link it to the Adventure node with the lost message.

Right click an open spot and select Relay, then do it again. Link the win Adventure nodes to one Relay and the lost Adventure nodes to the other Relay.

Right click an open spot and select End. Link the win Relay to the End node. Then click the Enter Logic Editor button. Inside the logic editor click the pencil icon in the upper right corner. Under Results select LEModificationReward set it up like this
1. Change List A to currentPlayer (if its not in the list make sure Make Public is checked in the Start node)
2. Change Select Bonus Type to FMO_AddGold
3. In the Parameter textbox enter in 1000
4. Click the Exit Logic button

Now click the copy button on the End node. Link the lost Relay to the new End node. Enter the Logic Editor of the new End node and change FMO_AddGold to FMO_TakeGold then click the Exit Logic button.

And you are done! If everything was done correctly starting on turn 100 and beyond when the player has at least 1000 gold they should get this event. If they are able to win then they can gain 1000 gold, else they will lose 1000 gold.

Go ahead and click the Leave button then click the Back to Modules button and then the Exit and Save button. A warning will popup. Click the Save and Exit button to save all your hard work.
15. Closing Notes
If you made it here congrats! Hopefully you found this guide useful and will refer back to it when you are making your own events. Don't forget to checkout how the other events in the game are made as well. I look forward to seeing all the new events that are made!

As changes are made to the Event Editor I will make updates to this guide .
16. Special Thanks
I wanted to give a huge thank you to Yuuki of MuHa Games. Everything I know about the Event Editor I owe to her!
3 Comments
eddieballgame 30 Aug, 2023 @ 3:17pm 
A huge thank you for this.
Normandiai 30 Aug, 2023 @ 7:57am 
It is an excellent guide! Thank you!
Don't you guys have problems with modules that when you add/edit them in the editor, the module is often corrupted? I regularly have additional characters not written/requested saved to the file that it can't interpret afterwards. I can fix it by opening it in notepad++, finding the extra string and deleting it.
Xeth Nyrrow 28 Aug, 2023 @ 4:15pm 
Amazing work, this looks scary to handle but this makes it seem easy. Thanks!