Event Reference
Introduction[edit | edit source]
This page is a reference for all the available actions and conditions available in Tuxemon. You can use this reference to create new map events for your own maps. All action and condition parameters are separated with a comma (,).
Condition Reference[edit | edit source]
Action Reference[edit | edit source]
Variables[edit | edit source]
The following are the "main" variables generated by the game and these can be useful to trigger specific events.
These can be used with the condition:
is variable_set name_variable:result_variable
[edit | edit source]
battle_last_monster_namename of the last monster fought.battle_last_monster_levellevel of the last monster fought.battle_last_monster_typetype of the last monster fought.battle_last_monster_categorycategory of the last monster fought.battle_last_monster_shapeshape of the last monster fought.
trainer battles:
battle_last_trainerslug of the last trainer fought
battles PC vs NPC (eg player vs npc_maple or npc_maple vs player)
battle_last_result: the result can bewonordraw
battles NPC vs NPC (eg npc_maple vs npc_apple) or PC vs NPC (eg player vs npc_maple or npc_maple vs player)
battle_last_loserslug of the last trainer fought ("player" for the player)battle_last_winnerslug of the last trainer fought ("player" for the player)
[edit | edit source]
weekdaytracks the day of the week (Monday, Tuesday, etc.)hourtracks the hourday_of_yeartracks the days in a year (1 to 365/366)yeartracks the yearleap_yearthe result can betrueorfalsedaytimethe result can betrueorfalse(truebetween from 06:00 to 18:00,falseduring the rest of the day).stage_of_daythe result can bedawn(from 4 to 8),morning(from 8 to 12),afternoon(from 12 to 16),dusk(from 16 to 20) ornight(from 20 to 04).seasonthe result can bewinter,spring,summerorautumn
[edit | edit source]
gender_choicethe result can begender_maleorgender_female, depending on the player's choice at the beginning. Useful to create different events for gender.
[edit | edit source]
party_level_lowestthe result shows the lowest level in the player's party (weakest monster).party_level_highestthe result shows the highest level in the player's party (strongest monster).party_level_averagethe result shows the average level in the player's party.
Examples[edit | edit source]
Battle[edit | edit source]
Let's say you want to trigger different events based on the output of the fight:
is variable_set battle_last_result:won
or
is variable_set battle_last_result:lost
Date[edit | edit source]
Let's say you want to trigger an event in a specific date (mom's birthday, anniversary, etc.), eg. on the 25th May (day nr 145 or 146 if leap year or not):
is variable_set day_of_year:146is variable_set leap_year:true
or
is variable_set day_of_year:145is variable_set leap_year:false
but if the specific date is before (included) the 28th February (day nr 59):
is variable_set day_of_year:59
Season[edit | edit source]
Let's say you want to grant access to a location only in summer:
is variable_set season:summer
Stage of the day[edit | edit source]
Let's say you want to block the access during the night:
not variable_set stage_of_day:night
while if you want to grant the access only during the night:
is variable_set stage_of_day:night
Steps Countdown[edit | edit source]
Let's say you want to trigger an event after 1234 steps:
set_variable steps_whatever:1234
steps_ followed by your variable whatever.
is variable_is steps_whatever,equals,0.0: Checking for the results, separate event.
Note: you can replace equals with: less_than, less_or_equal, greater_than, greater_or_equal, and not_equals.
Trading[edit | edit source]
Let's say you want to set up and event for trading monsters. You need 3 events after creating the NPC in map.
monster1(monster desired by the NPC)monster2(monster the NPC wants to trade in exchange)
1st: if the player has the monster
<property name="act10" value="translated_dialog dialog_npc1"/> <property name="act20" value="translated_dialog_choice yes:no,npc_willtrade"/> <property name="behav10" value="talk npc_slug"/> <property name="cond10" value="is has_monster player,monster1"/> <property name="cond20" value="not variable_set npc_hastraded:yes"/>
2nd: if the player hasn't the monster
<property name="act10" value="translated_dialog dialog_npc1"/> <property name="act20" value="translated_dialog dialog_npc_nomonster1"/> <property name="behav10" value="talk npc_slug"/> <property name="cond10" value="not has_monster player,monster1"/> <property name="cond20" value="not variable_set npc_hastraded:yes"/>
3rd: trading part
<property name="act10" value="translated_dialog dialog_npc_willtrade"/> <property name="act20" value="get_player_monster name_variable"/> <property name="act30" value="trading name_variable,traded_monster"/> <property name="act40" value="set_variable npc_hastraded:yes"/> <property name="cond10" value="is has_monster player,monster1"/> <property name="cond20" value="is variable_set npc_willtrade"/> <property name="cond30" value="not variable_set npc_hastraded"/>
Get Party Monster[edit | edit source]
Let's say you want to add a tech to a monster (NPC). Eg. the NPC Rockitten needs to know Canine, but Rockitten is the 4th monster (equal to 3rd slot).
<property name="act10" value="add_monster rockitten,20,npc_slug,27,10"/> <property name="act20" value="add_monster vivipere,20,npc_slug,27,10"/> <property name="act30" value="add_monster budaye,20,npc_slug,27,10"/> <property name="act40" value="add_monster rockitten,20,npc_slug,27,10"/> <property name="act50" value="add_monster nut,20,npc_slug,27,10"/> <property name="act60" value="get_party_monster npc_slug"/> <property name="act70" value="add_tech iid_slot_3,canine"/> ---> iid_slot_3 followed by Canine <property name="act80" value="start_battle player,npc_slug"/>
Battle Among NPCs (the player watches without interacting)[edit | edit source]
(eg npc_maple vs npc_apple)
<property name="act10" value="create_npc npc_maple,0,7,stand"/> <property name="act20" value="create_npc npc_apple,0,8,stand"/> <property name="act30" value="add_monster chloragon,3,npc_maple"/> <property name="act40" value="add_monster rockitten,3,npc_apple"/> <property name="act50" value="start_battle npc_maple,npc_apple"/>
separate event, multiple endings, if npc_maple wins
<property name="cond1" value="is variable_set battle_last_winner:npc_maple"/>
separate event, multiple endings, if npc_apple wins
<property name="cond1" value="not variable_set battle_last_winner:npc_maple"/>
separate event, multiple endings, if no-one wins
<property name="cond1" value="is variable_set battle_last_result:draw"/>