Event Reference
Introduction
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
Action Reference
Variables
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
battle_last_monster_name
name of the last monster fought.battle_last_monster_level
level of the last monster fought.battle_last_monster_type
type of the last monster fought.battle_last_monster_category
category of the last monster fought.battle_last_monster_shape
shape of the last monster fought.
trainer battles:
battle_last_trainer
slug 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 bewon
ordraw
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_loser
slug of the last trainer fought ("player" for the player)battle_last_winner
slug of the last trainer fought ("player" for the player)
weekday
tracks the day of the week (Monday, Tuesday, etc.)hour
tracks the hourday_of_year
tracks the days in a year (1 to 365/366)year
tracks the yearleap_year
the result can betrue
orfalse
daytime
the result can betrue
orfalse
(true
between from 06:00 to 18:00,false
during the rest of the day).stage_of_day
the 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).season
the result can bewinter
,spring
,summer
orautumn
gender_choice
the result can begender_male
orgender_female
, depending on the player's choice at the beginning. Useful to create different events for gender.
party_level_lowest
the result shows the lowest level in the player's party (weakest monster).party_level_highest
the result shows the highest level in the player's party (strongest monster).party_level_average
the result shows the average level in the player's party.
Examples
Battle
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
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:146
is variable_set leap_year:true
or
is variable_set day_of_year:145
is 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
Let's say you want to grant access to a location only in summer:
is variable_set season:summer
Stage of the day
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
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
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
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)
(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"/>