Event Reference

From Tuxepedia
Revision as of 06:28, 20 October 2024 by Jaskrendix (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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]

Event Reference Condition

Action Reference[edit | edit source]

Event Reference Action

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

Battle related[edit | edit source]

  • 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 be won or draw

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)

Time related[edit | edit source]

  • weekday tracks the day of the week (Monday, Tuesday, etc.)
  • hour tracks the hour
  • day_of_year tracks the days in a year (1 to 365/366)
  • year tracks the year
  • leap_year the result can be true or false
  • daytime the result can be true or false (true between from 06:00 to 18:00, false during the rest of the day).
  • stage_of_day the result can be dawn (from 4 to 8), morning (from 8 to 12), afternoon (from 12 to 16), dusk (from 16 to 20) or night (from 20 to 04).
  • season the result can be winter, spring, summer or autumn

Campaign related[edit | edit source]

  • gender_choice the result can be gender_male or gender_female, depending on the player's choice at the beginning. Useful to create different events for gender.

Party related (monsters)[edit | edit source]

  • 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[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: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[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"/>