Editing Event Reference

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 134: Line 134:
'''Examples'''  
'''Examples'''  
* <code>is check_evolution player</code>
* <code>is check_evolution player</code>
=== check_max_tech ===
Check to see the player has at least one tuxemon with more than the max number of techniques in its party. If yes, then it saves automatically the monster_id and inside the dictionary event_data.
'''Parameters'''
* <code>nr</code>: Number of tech, default the constant
'''Examples'''
* <code>is check_max_tech</code>
* <code>is check_max_tech 2</code>


=== check_mission ===
=== check_mission ===
Line 158: Line 148:
* <code>is check_mission player,mission1:mission2,completed</code>
* <code>is check_mission player,mission1:mission2,completed</code>
* <code>is check_mission player,all,completed</code>
* <code>is check_mission player,all,completed</code>
=== check_party_parameter ===
Check to see the player has failed or completed a mission. Check to see if a mission is still pending.
'''Parameters'''
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>attribute</code>: Name of the monster attribute to check (e.g. level).
* <code>value</code>: Value to check (related to the attribute) (e.g. 5 - level).
* <code>operator</code>: Numeric comparison operator. Accepted values are "less_than", "less_or_equal", "greater_than", "greater_or_equal", "equals" and "not_equals".
* <code>times</code>: Value to check with operator (how many times in the party?).
'''Examples'''
* <code>check_party_parameter player,level,5,equals,1</code> (is there 1 monster in the party at level 5? True/False)
=== check_world ===
Check some world's parameter against a given value.
'''Parameters'''
* <code>parameter</code>: Name of the parameter to check (eg. "layer", etc.).
* <code>value</code>: Given value to check.
'''Supported parameters'''
* '''layer''': color value which is used to overlay the world
* '''bubble''': speech bubble of an npc
'''Examples'''
* <code>is check_world</code>
* <code>is check_world layer,255:255:255:0</code>


=== current_state ===
=== current_state ===
Line 245: Line 207:


=== has_party_breeder ===
=== has_party_breeder ===
Check to see if the character has a male and female monsters not basic (first evolution stage) in the party.
Check to see if the player has a male and female monster in the party (monster not basic, basic is the first step in the evolution stage).
 
'''Parameters'''
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").


'''Examples'''  
'''Examples'''  
* <code>is has_party_breeder player</code>
* <code>is has_party_breeder</code>


=== has_tech ===
=== has_tech ===
Line 293: Line 252:
'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>operator</code>: Numeric comparison operator. Accepted values are "less_than", "less_or_equal", "greater_than", "greater_or_equal", "equals" and "not_equals".
* <code>operator</code>: One of "==", "!=", ">", ">=", "<" or "<=".
* <code>amount</code>: Amount of money or value stored in variable.
* <code>amount</code>: Amount of money.


'''Examples'''  
'''Examples'''  
* <code>is money_is player,>=,500</code>
* <code>is money_is player,>=,500</code>
* <code>is money_is player,equals,name_variable</code> (name_variable:75)


=== monster_flair ===
=== monster_flair ===
Line 311: Line 269:
* <code>to be defined</code>
* <code>to be defined</code>


=== music_playing ===
=== monster_property ===
Check to see if the specified music file is currently playing.
Check to see if a monster in the party has one of the following property.
 
'''Parameters'''
* <code>property</code>: Property of the monster to check (e.g. "level"). Valid values are: slug, level, level_reached, stage, shape, taste_cold, taste_warm, type, gender and tech.
* <code>value</code>: Value to compare the property with.
 
'''Examples'''
* <code>is monster_property level,15</code>
* <code>is monster_property gender,male</code>
* <code>is monster_property stage,standalone</code>
* <code>is monster_property shape,aquatic</code>
 
=== music_playing ===
Check to see if the specified music file is currently playing.


'''Parameters'''  
'''Parameters'''  
Line 344: Line 315:


=== party_infected ===
=== party_infected ===
Check to see how many monster are infected in the character's party.
Check to see how many monster are infected and stores the iids.


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>value</code>: all, some or none.
* <code>value</code>: all, some or none.


Line 354: Line 324:


=== party_size ===
=== party_size ===
Check the character's party size. The <code>check</code> parameter can be: <code>equals</code>, <code>less_than</code>, or <code>greater_than</code>.
Perform a check on the player's party size. The <code>check</code> parameter can be: <code>equals</code>, <code>less_than</code>, or <code>greater_than</code>.


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>operator</code>: Numeric comparison operator. Accepted values are <code>less_than</code>, <code>less_or_equal</code>, <code>greater_than</code>, <code>greater_or_equal</code>, <code>equals</code> and <code>not_equals</code>.
* <code>operator</code>: Numeric comparison operator. Accepted values are <code>less_than</code>, <code>less_or_equal</code>, <code>greater_than</code>, <code>greater_or_equal</code>, <code>equals</code> and <code>not_equals</code>.
* <code>party_size</code>: The size of the party to check against.
* <code>party_size</code>: The size of the party to check against.
Line 365: Line 334:
* <code>not party_size equals,0</code>   
* <code>not party_size equals,0</code>   
* <code>is party_size greater_than,4</code>
* <code>is party_size greater_than,4</code>
=== to_talk ===
Check if a character is attempting to talk to another character.
'''Parameters'''
* <code>character1</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>character2</code>: Either "player" or npc slug name (e.g. "npc_maple").
'''Examples'''
* <code>is to_talk player,npc_maple</code>


=== to_use_tile ===
=== to_use_tile ===
Line 475: Line 454:


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>monster_id</code>: Id of the monster (name of the variable).
* <code>technique</code>: Slug of the technique (e.g. "bullet").
* <code>technique</code>: Slug of the technique (e.g. "bullet").
* <code>power</code>: Power between 0.0 and 3.0. (optional)
* <code>power</code>: Power between 0.0 and 3.0. (optional)
* <code>potency</code>: Potency between 0.0 and 1.0. (optional)
* <code>potency</code>: Potency between 0.0 and 1.0. (optional)
* <code>accuracy</code>: Accuracy between 0.0 and 1.0. (optional)
* <code>accuracy</code>: Accuracy between 0.0 and 1.0. (optional)
* <code>npc_slug</code>: npc slug name (e.g. "npc_maple") - if absent default "player" (optional)


'''Examples'''  
'''Examples'''  
Line 523: Line 503:
* <code>change_bg gradient_blue</code>
* <code>change_bg gradient_blue</code>
* <code>change_bg</code> (stop)
* <code>change_bg</code> (stop)
=== change_taste ===
hanges tastes monster.
'''Parameters''' 
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>taste</code>: Warm or cold.
'''Examples'''
* <code>change_taste name_variable,warm</code>


=== change_state ===
=== change_state ===
Line 539: Line 509:
'''Parameters'''   
'''Parameters'''   
* <code>state_name</code>: The state name to switch to (e.g. PCState).
* <code>state_name</code>: The state name to switch to (e.g. PCState).
* <code>optional</code>: Variable related to specific states (e.g. variable with monster_id for '''MonsterInfo''', monster slug for '''JournalInfoState''' and character slug for '''CharacterState'''). (Optional)
* <code>optional</code>: Variable related to specific states (eg slug for JournalInfoState). (optional)


'''Examples'''  
'''Examples'''  
Line 610: Line 580:


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
-


'''Examples'''  
'''Examples'''  
* <code>char_stop npc_mom</code>
* <code>char_stop</code>


=== char_walk ===
=== char_walk ===
Line 747: Line 717:
* <code>fadeout_music 2</code>
* <code>fadeout_music 2</code>


=== format_variable ===
=== get_party_monster ===
Format the value of a variable from the game (eg. float or int).
Saves all the iids (party) in variables. Names are saved in game variables: <code>iid_slot_{index}</code>. Where index is the position in the party (the 1st one is 0, 2nd one is 1, etc.)


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: The variable to format.
* <code>npc_slug</code>: npc slug name (e.g. "npc_maple") - if absent default "player" (optional)
* <code>type_format</code>: Kind of format (float or int).
 
'''Examples'''
* <code>format_variable name_variable,int</code>
* <code>format_variable name_variable,float</code>
 
=== get_monster_tech ===
Select a tech among the monster's moves. It allows filtering: slug, element, range.
 
'''Parameters'''
* <code>variable_name</code>: Variable where to store the technique id.
* <code>monster_id</code>: Variable where is stored the monster id.
* <code>filter_name</code>: the name of the first filter (optional)
* <code>value_name</code>: the actual value to filter (optional)
* <code>extra</code>: used to filter more (optional)
 
'''Examples'''
* <code>get_monster_tech name_variable,monster_id</code>
* <code>get_monster_tech name_variable,monster_id,element,water</code>
* <code>get_monster_tech name_variable,monster_id,power,less_than,1.6</code>
 
=== get_party_monster ===
Saves all the iids (party) in variables. Names are saved in game variables: <code>iid_slot_{index}</code>. Where index is the position in the party (the 1st one is 0, 2nd one is 1, etc.)
 
'''Parameters'''
* <code>npc_slug</code>: npc slug name (e.g. "npc_maple") - if absent default "player" (optional)


'''Examples'''  
'''Examples'''  
Line 807: Line 751:
* <code>get_player_monster name_variable,shape,serpent</code>
* <code>get_player_monster name_variable,shape,serpent</code>


=== give_experience ===
=== load_game ===
Gives experience points to the monster.
Loads the game. If the index parameter is absent, then it'll load slot4.save (index = 0 > slot 1, index = 1 > slot 2, index = 2 > slot 3)


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>index</code>: Selected index. (optional)
* <code>exp</code>: Name of the variable where to store the experience points or directly the number of points. Negative value will result in 0.


'''Examples'''  
'''Examples'''  
* <code>give_experience name_variable,steps_variable"</code>
* <code>load_game</code> (it's going to load slot4.save)
* <code>give_experience name_variable,420</code>
* <code>load_game 0</code> (it's going to load slot1.save)


=== info ===
=== lock_controls ===
Records monster's attribute values inside a game variable. It allows to record the monster's owner attribute values too.
Lock player controls.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>None</code>
* <code>attribute</code>: The attribute to check (level, speed, etc.).


'''Examples'''  
'''Examples'''  
* <code>info name_variable,level</code> -> if the monster is lv 4, then it'll create a variable called: "info_level:4"
* <code>lock_controls</code>
* <code>info name_variable,owner_steps</code> -> if the owner walked 69 steps, then it'll create a variable called: "info_owner_steps:69"


=== input_variable ===
=== menu ===
Set a code and checks if it's correct or not. The player's output will be by default lowercase.
Enable/disable one or more menu.


'''Parameters'''  
'''Parameters'''  
* <code>question</code>: The question the player needs to reply. (eg. "access_code") then you create the msgid "access_code" inside the English PO file, as follows: msgid "access_code" and msgstr "Here the actual question?"
* <code>act</code>: enable or disable
* <code>variable</code>: Name of the variable where to store the output.
* <code>menu</code>: specific menu (menu_monster, menu_bag, menu_player, exit, menu_options, menu_save, menu_load, menu_missions) without specification, everything disabled
* <code>escape</code>: Whether the input can be closed or not. Default False.


'''Examples'''  
'''Examples'''  
* <code>input_variable access_code,response_question</code>
* <code>menu disable,menu_bag</code>
* <code>input_variable access_code,response_question,escape</code>


=== load_game ===
=== modify_monster_stats ===
Loads the game. If the index parameter is absent, then it'll load slot4.save (index = 0 > slot 1, index = 1 > slot 2, index = 2 > slot 3)
Change the stats of a monster in the current player's party.


'''Parameters'''  
'''Parameters'''  
* <code>index</code>: Selected index. (optional)
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are touched. (Optional)
* <code>stat</code>: A stat among armour, dodge, hp, melee, speed and ranged. If no stat, then all the stats. (Optional)
* <code>amount</code>: A/an float/int value, if no amount, then default 1 (+). (Optional)


'''Examples'''  
'''Examples'''  
* <code>load_game</code> (it's going to load slot4.save)
* <code>modify_monster_stats</code>
* <code>load_game 0</code> (it's going to load slot1.save)
* <code>modify_monster_stats ,,0.25</code>
* <code>modify_monster_stats name_variable,speed,25</code>
* <code>modify_monster_stats name_variable,dodge,-12</code>
* <code>modify_monster_stats name_variable,dodge,-0.4</code>


=== lock_controls ===
=== modify_char_attribute ===
Lock player controls.
Modify the given attribute of the character by modifier. By default this is achieved via addition, but prepending a '%' will cause it to be multiplied by the attribute.
 
'''Parameters'''
* <code>None</code>
 
'''Examples'''
* <code>lock_controls</code>
 
=== menu ===
Enable/disable one or more menu.
 
'''Parameters'''
* <code>act</code>: enable or disable
* <code>menu</code>: specific menu (menu_monster, menu_bag, menu_player, exit, menu_options, menu_save, menu_load, menu_missions) without specification, everything disabled
 
'''Examples'''
* <code>menu disable,menu_bag</code>
 
=== modify_char_attribute ===
Modify the given attribute of the character by modifier. By default this is achieved via addition, but prepending a '%' will cause it to be multiplied by the attribute.


'''Parameters'''  
'''Parameters'''  
Line 881: Line 806:
* <code>modify_char_attribute character,attribute,value</code>
* <code>modify_char_attribute character,attribute,value</code>


=== modify_money ===
=== open_shop ===
Add or remove an amount of money for a wallet (slug).
Open the shop menu for a NPC.


'''Parameters'''  
'''Parameters'''  
* <code>slug</code>: Slug name (e.g. player or NPC, etc.).
* <code>npc_slug</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>amount</code>: Amount of money to add/remove (-/+)
* <code>menu</code>: Either "buy", "sell" or "both". Default is "both". (optional)
* <code>variable</code>: Name of the variable where to store the amount.


'''Examples'''  
'''Examples'''  
* <code>modify_money npc_maple,100</code>
* <code>open_shop npc_maple</code>  
* <code>modify_money npc_maple,-50</code>
* <code>modify_money player,,name_variable</code>


=== modify_monster_bond ===
=== pathfind ===
Add or remove an amount of money for a wallet (slug).
Moves an NPC to a certain tile on the map.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are touched.
* <code>name</code>: The name of the NPC to be moved.
* <code>amount</code>: An int or float value, if no amount, then default 1 (int).
* <code>tile_pos_x</code>: The X-tile coordinate to have the NPC to walk to.
* <code>tile_pos_y</code>: The Y-tile coordinate to have the NPC to walk to.    


'''Examples'''
'''Examples'''  
* <code>modify_monster_bond</code>
* <code>pathfind Maple,2,3</code>  
* <code>modify_monster_bond name_variable,25</code>
* <code>pathfind Pine,1,6</code>
* <code>modify_monster_bond name_variable,-0.5</code>


=== modify_monster_health ===
=== pathfind_to_player ===
Modify the hp of a monster in the current player's party.
Pathfind NPC close the player.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are healed.
* <code>npc_slug</code>: Npc slug name (e.g. "npc_maple").
* <code>health</code>: A float value between 0 and 1, which is the percent of max hp to be restored to. A int value, which is the number of HP to be restored to. If no health is specified, the hp is maxed out.
* <code>direction</code>: Approaches the player from up, down, left or right.
* <code>distance</code>: How many tiles (2, 3, 4, etc.)


'''Examples'''  
'''Examples'''  
* <code>modify_monster_health</code>
* <code>pathfind_to_player spyder_route2_roddick</code>  
* <code>modify_monster_health ,0.25</code>
* <code>translated_dialog spyder_route2_roddick1</code>
* <code>start_battle player,spyder_route2_roddick</code>  


 
=== pause_music ===
=== modify_monster_stats ===
Pauses the currently playing music.
Change the stats of a monster in the current player's party.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are touched. (Optional)
* <code>None</code>
* <code>stat</code>: A stat among armour, dodge, hp, melee, speed and ranged. If no stat, then all the stats. (Optional)
* <code>amount</code>: A/an float/int value, if no amount, then default 1 (+). (Optional)


'''Examples'''  
'''Examples'''  
* <code>modify_monster_stats</code>
* <code>pause_music</code>
* <code>modify_monster_stats ,,0.25</code>
* <code>modify_monster_stats name_variable,speed,25</code>
* <code>modify_monster_stats name_variable,dodge,-12</code>
* <code>modify_monster_stats name_variable,dodge,-0.4</code>


=== open_shop ===
=== play_map_animation ===
Open the shop menu for a NPC.
Plays an animation on the map. The <code>position</code> parameter can also be <code>player</code> if you want to draw the animation at the player's location. Loop can be either <code>loop</code> or <code>noloop</code>.


'''Parameters'''  
'''Parameters'''  
* <code>npc_slug</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>animation_name</code>: The name of the animation to play under <code>resources/animations/tileset</code>.
* <code>menu</code>: Either "buy", "sell" or "both". Default is "both". (optional)
* <code>duration</code>: The amount of time in seconds between each frame. 
* <code>loop</code>: Whether or not to loop the animation. Can be either <code>loop</code> or <code>noloop</code> to loop the animation.
* <code>position</code>: The position to draw the animation. Can either be an <code>x,y</code> coordinate or <code>player</code> to draw the animation over the player.


'''Examples'''  
'''Examples'''  
* <code>open_shop npc_maple</code>  
* <code>play_map_animation grass,0.1,noloop,player</code> 
* <code>play_map_animation sign01,0.4,loop,33,10</code>


=== overwrite_tech ===
=== play_music ===
Overwrite / replace a technique with another.
Plays an audio file.


'''Parameters'''  
'''Parameters'''  
* <code>removed</code>: Name of the variable where to store the tech id.
* <code>filename</code>: Music file to load (slug inside the JSON in db/sound)
* <code>added</code>: Slug technique.
* <code>volume</code>: Number between 0.0 and 1.0. (optional)
* <code>loop</code>: How many times loop, default forever. (optional)


'''Examples'''  
'''Examples'''  
* <code>overwrite_tech name_variable,peck</code>  
* <code>play_music music_mystic_island</code>  


=== pathfind ===
=== play_sound ===
Moves an NPC to a certain tile on the map.
Plays a sound file.


'''Parameters'''  
'''Parameters'''  
* <code>name</code>: The name of the NPC to be moved.
* <code>filename</code>: Sound file to load (slug inside the JSON in db/sound)
* <code>tile_pos_x</code>: The X-tile coordinate to have the NPC to walk to.
* <code>volume</code>: Number between 0.0 and 1.0. (optional)
* <code>tile_pos_y</code>: The Y-tile coordinate to have the NPC to walk to.    


'''Examples'''  
'''Examples'''  
* <code>pathfind Maple,2,3</code>
* <code>play_sound sound_confirm</code>
* <code>pathfind Pine,1,6</code>


=== pathfind_to_player ===
=== print ===
Pathfind NPC close the player.
Print the current value of a game variable to the console. If no variable is specified, print out values of all game variables.


'''Parameters'''  
'''Parameters''' :  
* <code>npc_slug</code>: Npc slug name (e.g. "npc_maple").
* <code>variable</code>: Prints out the value of this variable (optional)
* <code>direction</code>: Approaches the player from up, down, left or right.
* <code>distance</code>: How many tiles (2, 3, 4, etc.)


'''Examples'''  
'''Examples'''  
* <code>pathfind_to_player spyder_route2_roddick</code>  
* <code>print</code>
* <code>translated_dialog spyder_route2_roddick1</code>
* <code>print name_variable</code>
* <code>start_battle player,spyder_route2_roddick</code>  


=== pause_music ===
=== quarantine ===
Pauses the currently playing music.
Quarantine infected monsters. Amount works only for "out", it takes out the amount in a random way.  


'''Parameters'''  
'''Parameters'''  
* <code>None</code>
* <code>value</code>: in or out
* <code>amount</code>: number of monsters (optional)


'''Examples'''  
'''Examples'''  
* <code>pause_music</code>
* <code>quarantine out</code> everything out (player's party -> if full, then box)
* <code>quarantine out,5</code> eg. box contains 30 monsters <code>quarantine out,5</code>, it means 5 monsters by random


=== play_map_animation ===
=== quit ===
Plays an animation on the map. The <code>position</code> parameter can also be <code>player</code> if you want to draw the animation at the player's location. Loop can be either <code>loop</code> or <code>noloop</code>.
Completely quit the game.


'''Parameters'''  
'''Parameters'''  
* <code>animation_name</code>: The name of the animation to play under <code>resources/animations/tileset</code>. 
* <code>None</code>   
* <code>duration</code>: The amount of time in seconds between each frame. 
* <code>loop</code>: Whether or not to loop the animation. Can be either <code>loop</code> or <code>noloop</code> to loop the animation.  
* <code>position</code>: The position to draw the animation. Can either be an <code>x,y</code> coordinate or <code>npc_slug</code> to draw the animation over the character.


'''Examples'''  
'''Examples'''  
* <code>play_map_animation grass,0.1,noloop,player</code>   
* <code>quit</code>   
* <code>play_map_animation sign01,0.4,loop,33,10</code>


=== play_music ===
=== random_battle ===
Plays an audio file.
Start random battle with a random npc with a determined number of monster in a certain range of levels.


'''Parameters'''  
'''Parameters'''  
* <code>filename</code>: Music file to load (slug inside the JSON in db/sound)
* <code>nr_txmns</code>: Number of tuxemon (1 to 6).
* <code>volume</code>: Number between 0.0 and 1.0. (optional)
* <code>min_level</code>: Minimum level of the party.
* <code>loop</code>: How many times loop, default forever. (optional)
* <code>max_level</code>: Maximum level of the party.


'''Examples'''  
'''Examples'''  
* <code>play_music music_mystic_island</code>  
* <code>random_battle 6,1,99</code>


=== play_sound ===
=== random_encounter ===
Plays a sound file.
Randomly start a battle based on the encounter group looked up via the <code>encounter_id</code>. Encounter groups contain a list of monsters that can be encountered as well as their level and encounter rate. In most circumstances you will pair this action with the <code>char_at</code> and <code>char_moved</code> conditions.


'''Parameters'''
Here is an example encounter file: ''resources/db/encounter/route1.json'' 
* <code>filename</code>: Sound file to load (slug inside the JSON in db/sound)
* <code>volume</code>: Number between 0.0 and 1.0. (optional)


'''Examples'''
  "slug": "route1",
* <code>play_sound sound_confirm</code> 
  "monsters": [
    {
      "monster": "pairagrin",
      "encounter_rate": 3.5,
      "variable": "daytime:true",
      "exp_req_mod": 1,
      "level_range": [
        2,
        4
      ]
    },


=== print ===
'''Parameters'''  
Print the current value of a game variable to the console. If no variable is specified, print out values of all game variables.
* <code>encounter_slug</code>: Slug of the encounter list.
 
* <code>total_prob</code>: Total sum of the probabilities. (optional)
'''Parameters''' :  
* <code>rgb</code>: color (eg red > 255,0,0 > 255:0:0) - default rgb(255,255,255) (optional)
* <code>variable</code>: Prints out the value of this variable (optional)


'''Examples'''  
'''Examples'''  
* <code>print</code>
* <code>random_encounter route1</code>
* <code>print name_variable</code>
* <code>random_encounter route1,20</code>


=== quarantine ===
=== random_integer ===
Quarantine infected monsters. Amount works only for "out", it takes out the amount in a random way.
Randomly choose an integer between 2 numbers (inclusive), and set the key in the player.game_variables dictionary to be this value. For example, 'random_integer xyz,1,6' will set the value of the game variable 'xyz' to be either 1, 2, 3, 4, 5, or 6.


'''Parameters'''  
'''Parameters'''  
* <code>value</code>: in or out
* <code>variable</code>: Name of the variable.
* <code>amount</code>: number of monsters (optional)
* <code>lower_bound</code>: Lower bound of range to return an integer between (inclusive)
* <code>upper_bound</code>: Upper bound of range to return an integer between (inclusive)


'''Examples'''  
'''Examples'''  
* <code>quarantine out</code> everything out (player's party -> if full, then box)
* <code>random_integer name_variable,1,9</code>
* <code>quarantine out,5</code> eg. box contains 30 monsters <code>quarantine out,5</code>, it means 5 monsters by random


=== quit ===
=== random_item ===
Completely quit the game.
Pick a random item from a list and add it to the trainer's inventory.


'''Parameters'''  
'''Parameters'''  
* <code>None</code>
* <code>item_slug</code>: Item name to look up in the item database (multiple items separated by ":").
* <code>quantity</code>: Quantity of the item to add or to reduce. By default it is 1. (optional)
* <code>trainer_slug</code>: Slug of the trainer that will receive the item. It defaults to the current player. (optional)


'''Examples'''  
'''Examples'''  
* <code>quit</code>
* <code>random_item potion:tea:revive</code> (adds 1 potion or tea or revive to the trainer's inventory).
* <code>random_item potion:tea:revive,2</code> (adds 2 potions or teas or revives to the trainer's inventory).
* <code>random_item potion:tea:revive,2,npc_maple</code> (adds 2 potions or teas or revives to the maple's inventory).
* <code>random_item potion:tea:revive,,npc_maple</code> (adds 1 potion or tea or revive to the maple's inventory).


=== random_battle ===
=== random_monster ===
Start random battle with a random npc with a determined number of monster in a certain range of levels.
Add a monster to the specified trainer's party if there is room.


'''Parameters'''  
'''Parameters'''  
* <code>nr_txmns</code>: Number of tuxemon (1 to 6).
* <code>monster_level</code>: Level of the added monster.
* <code>min_level</code>: Minimum level of the party.
* <code>trainer_slug</code>: Slug of the trainer that will receive the monster. It defaults to the current player. (optional)
* <code>max_level</code>: Maximum level of the party.
* <code>exp_mod</code>: Experience modifier. (optional)
* <code>money_mod</code>: Money modifier. (optional)
* <code>shape</code>: Shape (eg. varmint, brute, etc.). (optional)
* <code>evo</code>: Stage (eg. basic, stage1, etc.). (optional)


'''Examples'''  
'''Examples'''  
* <code>random_battle 6,1,99</code>
* <code>random_monster 10</code>
* <code>random_monster 10,npc_maple</code>
* <code>random_monster 10,npc_maple,10,27</code>
* <code>random_monster 10,npc_maple,10,27,aquatic,basic</code>
* <code>random_monster 10,npc_maple,,,brute,basic</code>


=== random_encounter ===
=== remove_collision ===
Randomly start a battle based on the encounter group looked up via the <code>encounter_id</code>. Encounter groups contain a list of monsters that can be encountered as well as their level and encounter rate. In most circumstances you will pair this action with the <code>char_at</code> and <code>char_moved</code> conditions.
Removes a collision defined by a specific label.


Here is an example encounter file: ''resources/db/encounter/route1.json'' 
'''Parameters''' :
* <code>label</code>: Name of the obstacle.


  "slug": "route1",
'''Examples'''
  "monsters": [
* <code>remove_collision obstacle</code> (it can one added with add_collision or an existing zone in the .tmx file).
    {
      "monster": "pairagrin",
      "encounter_rate": 3.5,
      "variable": "daytime:true",
      "exp_req_mod": 1,
      "level_range": [
        2,
        4
      ]
    },


'''Parameters'''  
=== remove_contacts ===
* <code>encounter_slug</code>: Slug of the encounter list.
Remove contact from the app (Nu Phone).
* <code>total_prob</code>: Total sum of the probabilities. (optional)
 
* <code>rgb</code>: color (eg red > 255,0,0 > 255:0:0) - default rgb(255,255,255) (optional)
'''Parameters''' :
* <code>slug</code>: slug name (e.g. "npc_maple").


'''Examples'''  
'''Examples'''  
* <code>random_encounter route1</code>
* <code>remove_contacts npc_maple</code>
* <code>random_encounter route1,20</code>


=== random_integer ===
=== remove_monster ===
Randomly choose an integer between 2 numbers (inclusive), and set the key in the player.game_variables dictionary to be this value. For example, 'random_integer xyz,1,6' will set the value of the game variable 'xyz' to be either 1, 2, 3, 4, 5, or 6.
Remove a monster from the given trainer's party if the monster is there. Monster is determined by instance_id, which must be passed in a game variable.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable.
* <code>instance_id</code>: Id of the monster to remove.
* <code>lower_bound</code>: Lower bound of range to return an integer between (inclusive)
* <code>trainer_slug</code>: Slug of the trainer. If no trainer slug is passed it defaults to the current player.
* <code>upper_bound</code>: Upper bound of range to return an integer between (inclusive)


'''Examples'''  
'''Examples'''  
* <code>random_integer name_variable,1,9</code>
* <code>get_player_monster name_variable</code>
* <code>remove_monster name_variable</code>


=== random_item ===
=== remove_npc ===
Pick a random item from a list and add it to the trainer's inventory.
Removes an NPC from the current map.


'''Parameters'''  
'''Parameters'''  
* <code>item_slug</code>: Item name to look up in the item database (multiple items separated by ":").
* <code>name</code>: The name of the NPC to remove. 
* <code>quantity</code>: Quantity of the item to add or to reduce. By default it is 1. (optional)
 
* <code>trainer_slug</code>: Slug of the trainer that will receive the item. It defaults to the current player. (optional)
'''Examples'''
* <code>remove_npc Maple</code> 
* <code>remove_npc Pine</code>
 
=== remove_state ===
Change to the specified state.
 
'''Parameters''' 
* <code>state_name</code>: The state name to switch to (e.g. PCState).
* <code>optional</code>: Variable related to specific states (eg slug for JournalInfoState).


'''Examples'''  
'''Examples'''  
* <code>random_item potion:tea:revive</code> (adds 1 potion or tea or revive to the trainer's inventory).
* <code>remove_state</code> (it removes everything, excluding the basic ones)
* <code>random_item potion:tea:revive,2</code> (adds 2 potions or teas or revives to the trainer's inventory).
* <code>remove_state JournalInfoState</code> (it removes everything, excluding the basic ones)
* <code>random_item potion:tea:revive,2,npc_maple</code> (adds 2 potions or teas or revives to the maple's inventory).
* <code>random_item potion:tea:revive,,npc_maple</code> (adds 1 potion or tea or revive to the maple's inventory).


=== random_monster ===
=== rename_monster ===
Add a monster to the specified trainer's party if there is room.
Open the text input screen to rename the monster.


'''Parameters'''  
'''Parameters'''  
* <code>monster_level</code>: Level of the added monster.
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>trainer_slug</code>: Slug of the trainer that will receive the monster. It defaults to the current player. (optional)
* <code>exp_mod</code>: Experience modifier. (optional)
* <code>money_mod</code>: Money modifier. (optional)
* <code>shape</code>: Shape (eg. varmint, brute, etc.). (optional)
* <code>evo</code>: Stage (eg. basic, stage1, etc.). (optional)


'''Examples'''  
'''Examples'''  
* <code>random_monster 10</code>
* <code>rename_monster name_variable</code>
* <code>random_monster 10,npc_maple</code>
* <code>random_monster 10,npc_maple,10,27</code>
* <code>random_monster 10,npc_maple,10,27,aquatic,basic</code>
* <code>random_monster 10,npc_maple,,,brute,basic</code>


=== remove_collision ===
=== rename_player ===
Removes a collision defined by a specific label.
Open the text input screen to rename the player.


'''Parameters''' :
'''Parameters'''  
* <code>label</code>: Name of the obstacle.
* <code>None</code>


'''Examples'''  
'''Examples'''  
* <code>remove_collision obstacle</code> (it can one added with add_collision or an existing zone in the .tmx file).
* <code>rename_player</code>


=== remove_contacts ===
=== rumble ===
Remove contact from the app (Nu Phone).
Rumble available controllers with rumble support.


'''Parameters''' :
'''Parameters'''  
* <code>slug</code>: slug name (e.g. "npc_maple").
* <code>duration</code>: Time in seconds to rumble for.
* <code>power</code>: Percentage of power to rumble.


'''Examples'''  
'''Examples'''  
* <code>remove_contacts npc_maple</code>
* <code>rumble duration,power</code>


=== remove_monster ===
=== save_game ===
Remove a monster from the party if the monster is there.
Saves the game. If the index parameter is absent, then it'll create slot4.save (index = 0 > slot 1, index = 1 > slot 2, index = 2 > slot 3)


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>index</code>: Selected index. (optional)


'''Examples'''  
'''Examples'''  
* <code>get_player_monster name_variable</code>
* <code>save_game</code> (it's going to save slot4.save)
* <code>remove_monster name_variable</code>
* <code>save_game 1</code> (it's going to save slot2.save)


=== remove_npc ===
=== screen_transition ===
Removes an NPC from the current map.
Fades the screen to black and back over <code>x</code> seconds.


'''Parameters'''  
'''Parameters'''  
* <code>name</code>: The name of the NPC to remove.
* <code>transition_time</code>: Time in seconds - default 2  (optional).
* <code>rgb</code>: color (eg red > 255,0,0 > 255:0:0) - default rgb(255,255,255) (optional)


'''Examples'''  
'''Examples'''  
* <code>remove_npc Maple</code> 
* <code>screen_transition 2</code>
* <code>remove_npc Pine</code>


=== remove_state ===
=== set_battle ===
Change to the specified state.
Append a new element in player.battles.


'''Parameters'''
'''Parameters'''  
* <code>state_name</code>: The state name to switch to (e.g. PCState).
* <code>fighter</code>: Npc slug name (e.g. "npc_maple").
* <code>optional</code>: Variable related to specific states (eg slug for JournalInfoState).
* <code>result</code>: One among "won", "lost" or "draw"
* <code>opponent</code>: Npc slug name (e.g. "npc_maple").


'''Examples'''  
'''Examples'''  
* <code>remove_state</code> (it removes everything, excluding the basic ones)
* <code>set_battle player,won,npc_maple</code> (player won against npc_maple)
* <code>remove_state JournalInfoState</code> (it removes everything, excluding the basic ones)


=== remove_tech ===
=== set_bubble ===
Remove a specific technique from a specific monster.
Put a bubble above player sprite.


'''Parameters'''
'''Parameters'''  
* <code>tech_id</code>: Name of the variable where to store the tech id.
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>bubble</code>: dots, drop, exclamation, heart, note, question, sleep, angry, confused, fireworks


'''Examples'''  
'''Examples'''  
* <code>remove_tech name_variable</code>
* <code>set_bubble spyder_shopassistant</code> (remove bubble NPC)
* <code>set_bubble spyder_shopassistant,note</code> (set bubble NPC)
* <code>set_bubble player,note</code> (set bubble player)
* <code>set_bubble player</code> (remove bubble player)


=== rename_monster ===
=== set_code ===
Open the text input screen to rename the monster.
Set a code and checks if it's correct or not. Case Sensitive: ATTENTION and AtTenTION are two different words.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>question</code>: The question the player needs to reply. (eg. "access_code") then you create the msgid "access_code" inside the English PO file, as follows: msgid "access_code" and msgstr "Here the actual question?"
* <code>answer</code>: The right answer to the question.
* <code>variable</code>: Where the result (right/wrong) is saved.


'''Examples'''  
'''Examples'''  
* <code>rename_monster name_variable</code>
* <code>set_code access_code,joke,name_variable</code>


=== rename_player ===
=== set_economy ===
Open the text input screen to rename the player.
Set the economy (prices of items) of the npc or player.


'''Parameters'''  
'''Parameters'''  
* <code>None</code>
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>economy_slug</code>: Slug of an economy.


'''Examples'''  
'''Examples'''  
* <code>rename_player</code>
* <code>set_economy spyder_shopkeeper,spyder_candy_scoop</code>
 
=== set_kennel_visible ===
Set the kennel visible or hidden.


=== rumble ===
From hidden to visible: set_kennel_visible name_kennel,true
Rumble available controllers with rumble support.
From visible to hidden: set_kennel_visible name_kennel,false


'''Parameters'''  
'''Parameters'''  
* <code>duration</code>: Time in seconds to rumble for.
* <code>kennel</code>: Name of the kennel.
* <code>power</code>: Percentage of power to rumble.
* <code>visible</code>: true/false.


'''Examples'''  
'''Examples'''  
* <code>rumble duration,power</code>
* <code>set_kennel_visible name_kennel,true</code>
* <code>set_kennel_visible name_kennel,false</code>


=== save_game ===
=== set_kennel ===
Saves the game. If the index parameter is absent, then it'll create slot4.save (index = 0 > slot 1, index = 1 > slot 2, index = 2 > slot 3)
Create a new kennel. If the kennel is visible, then it's advisable to create a msgid in the en_US PO file.
 
msgid "kennel_name"
msgstr "Kennel Name"


'''Parameters'''  
'''Parameters'''  
* <code>index</code>: Selected index. (optional)
* <code>kennel</code>: Name of the kennel.
* <code>visible</code>: true/false.


'''Examples'''  
'''Examples'''  
* <code>save_game</code> (it's going to save slot4.save)
* <code>set_kennel new_kennel,true</code>
* <code>save_game 1</code> (it's going to save slot2.save)


=== screen_transition ===
=== set_layer ===
Fades the screen to black and back over <code>x</code> seconds.
Allows to change the color of the transparent layer.


'''Parameters'''  
'''Parameters'''  
* <code>trans_time</code>: Time in seconds - default 0.3 (optional).
* <code>rgb</code>: color (eg red > 255,0,0,128 > 255:0:0:128) - default transparent
* <code>rgb</code>: color (eg red > 255,0,0 > 255:0:0) - default rgb(255,255,255) (optional)


'''Examples'''  
'''Examples'''  
* <code>screen_transition 2</code>
* <code>set_layer 255:0:0:128</code>


=== set_battle ===
=== set_money ===
Append a new element in player.battles.
Set the key and value in the money dictionary. It'll reset the previous amount.


'''Parameters'''  
'''Parameters'''  
* <code>fighter</code>: Npc slug name (e.g. "npc_maple").
* <code>slug</code>: Slug name (e.g. player or NPC, etc.).
* <code>result</code>: One among "won", "lost" or "draw"
* <code>amount</code>: Amount of money
* <code>opponent</code>: Npc slug name (e.g. "npc_maple").


'''Examples'''  
'''Examples'''  
* <code>set_battle player,won,npc_maple</code> (player won against npc_maple)
* <code>set_money player,500</code>


=== set_bubble ===
=== set_mission ===
Put a bubble above player sprite.
Set mission.


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>slug</code>: slug mission
* <code>bubble</code>: dots, drop, exclamation, heart, note, question, sleep, angry, confused, fireworks
* <code>operation</code>: add, remove or change
* <code>status</code>: completed, pending, failed (default pending)
* <code>character</code>: slug name (e.g. "npc_maple"), default player.


'''Examples'''  
'''Examples'''  
* <code>set_bubble spyder_shopassistant</code> (remove bubble NPC)
* <code>set_mission mission1</code>
* <code>set_bubble spyder_shopassistant,note</code> (set bubble NPC)
* <code>set_mission mission1,change,completed</code>
* <code>set_bubble player,note</code> (set bubble player)
* <code>set_bubble player</code> (remove bubble player)


=== set_economy ===
=== set_monster_flair ===
Set the economy (prices of items) of the npc or player.
Set a monster's flair to the given value.


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are changed.
* <code>economy_slug</code>: Slug of an economy.
* <code>category</code>: Category of the monster flair.
* <code>flair</code>: Name of the monster flair.


'''Examples'''  
'''Examples'''  
* <code>set_economy spyder_shopkeeper,spyder_candy_scoop</code>
* <code>get_player_monster name_variable</code>
* <code>set_monster_flair name_variable,category,flair</code>


=== set_kennel_visible ===
=== set_monster_health ===
Set the kennel visible or hidden.
Changes the hp of a monster in the current player's party. The action parameters may contain a monster slot and the amount of health.  
 
From hidden to visible: set_kennel_visible name_kennel,true
From visible to hidden: set_kennel_visible name_kennel,false


'''Parameters'''  
'''Parameters'''  
* <code>kennel</code>: Name of the kennel.
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are healed. (optional)
* <code>visible</code>: true/false.
* <code>health</code>: A float value between 0 and 1, which is the percent of max hp to be restored to. A int value, which is the number of HP to be restored to. If no health is specified, the hp is maxed out. (optional)


'''Examples'''  
'''Examples'''  
* <code>set_kennel_visible name_kennel,true</code>
* <code>set_monster_health</code> (heals all the monsters in the party)
* <code>set_kennel_visible name_kennel,false</code>
or
* <code>get_player_monster name_variable</code>
* <code>set_monster_health name_variable,1</code>


=== set_kennel ===
=== set_monster_level ===
Create a new kennel. If the kennel is visible, then it's advisable to create a msgid in the en_US PO file.
Change the level of a monster in the current player's party.
 
msgid "kennel_name"
msgstr "Kennel Name"


'''Parameters'''  
'''Parameters'''  
* <code>kennel</code>: Name of the kennel.
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are changed. (optional)
* <code>visible</code>: true/false.
* <code>levels_added</code>: Number of levels to add. Negative numbers are allowed. Default 1. (optional)


'''Examples'''  
'''Examples'''  
* <code>set_kennel new_kennel,true</code>
* <code>set_monster_level</code> (all the monsters in the party level up by 1)
or
* <code>get_player_monster name_variable</code>
* <code>set_monster_level name_variable,1</code>


=== set_layer ===
=== set_monster_plague ===
Allows to change the color of the transparent layer.
Cure or infect a monster.


'''Parameters'''  
'''Parameters'''  
* <code>rgb</code>: color (eg red > 255,0,0,128 > 255:0:0:128) - default transparent
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters get the condition. (optional)
* <code>condition</code>: inoculated, healthy or infected, default healthy (optional)


'''Examples'''  
'''Examples'''  
* <code>set_layer 255:0:0:128</code>
* <code>set_monster_plague</code> (all the monsters in the party are healthy)
or
* <code>get_player_monster name_variable</code>
* <code>set_monster_plague name_variable,infected</code>


=== set_mission ===
=== set_monster_status ===
Set mission.
Change the status of a monster in the current player's party.


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters get/lose status.. (optional)
* <code>slug</code>: slug mission
* <code>status</code>: Inoculated, healthy or infected, default healthy (optional)
* <code>operation</code>: add, remove or change
* <code>status</code>: completed, pending, failed (default pending)


'''Examples'''  
'''Examples'''  
* <code>set_mission mission1</code>
* <code>set_monster_status</code> (all the monsters in the party lose their status)
* <code>set_mission mission1,change,completed</code>
or
* <code>get_player_monster name_variable</code>
* <code>set_monster_status name_variable,status_blinded</code>


=== set_money ===
=== set_char_attribute ===
Set an amount of money for a specific slug.
Set the given attribute of the character to the given value.


'''Parameters'''  
'''Parameters'''  
* <code>slug</code>: Slug name (e.g. player or NPC, etc.).
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>amount</code>: Amount of money (>= 0) (default 0)
* <code>attribute</code>: Name of the attribute.
* <code>value</code>: Value of the attribute.


'''Examples'''  
'''Examples'''  
* <code>set_money player</code>
* <code>set_char_attribute character,attribute,value</code>
* <code>set_money player,500</code>


=== set_monster_attribute ===
=== set_party_status ===
Set the given attribute of the monster to the given value.
Records important information about all monsters in the party (eg average level of the party, etc.)


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>attribute</code>: Name of the attribute.
* <code>value</code>: Value of the attribute.


'''Examples'''  
'''Examples'''  
* <code>set_monster_attribute name_variable,name,jimmy</code> (the monster will be named jimmy)
* <code>set_party_status player</code>


=== set_monster_flair ===
=== set_player_name ===
Set a monster's flair to the given value.
Set player name without opening the input screen.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are changed.
* <code>choice</code>: Single name or multiple names separated by ":" (random choice). NB: the names must be in the en_US PO file.
* <code>category</code>: Category of the monster flair.
 
* <code>flair</code>: Name of the monster flair.
 
'''Examples'''  
'''Examples'''  
* <code>get_player_monster name_variable</code>
* <code>set_player_name jimmy</code>
* <code>set_monster_flair name_variable,category,flair</code>
* <code>set_player_name jimmy:richard:linus</code> (random choice among jimmy, richard and linus)


=== set_monster_health ===
=== set_random_variable ===
Set the hp of a monster in the current player's party. The action parameters may contain a monster slot and the amount of health.  
Set the key in the player.game_variables dictionary with a random value.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are healed. (optional)
* <code>variable</code>: Name of the variable.
* <code>health</code>: A float value between 0 and 1, which is the percent of max hp to be restored to. A int value, which is the number of HP to be restored to. If no health is specified, the hp is maxed out. (optional)
* <code>values</code>: Multiple values of the variable separated with ":".


'''Examples'''  
'''Examples'''  
* <code>set_monster_health</code> (heals all the monsters in the party)
* <code>set_random_variable alpha,one:two:three</code> (variable "alpha" can be "alpha:one" or "alpha:two" or "alpha:three").
or
* <code>get_player_monster name_variable</code>
* <code>set_monster_health name_variable,1</code>


=== set_monster_level ===
=== set_template ===
Change the level of a monster in the current player's party.
Switch template (sprite and combat_front).


'''Parameters'''
Please remember that if you change the combat_front, automatically will change the combat_back.
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are changed. (optional)
Eg if you set the sprite xxx, then it's going to add _back.png -> xxx_back.png
* <code>levels_added</code>: Number of levels to add. Negative numbers are allowed. Default 1. (optional)


'''Examples'''
if you choose a feminine sprite, then it's advisable: heroine
* <code>set_monster_level</code> (all the monsters in the party level up by 1)
if you choose a masculine sprite, then it's advisable: adventurer
or
* <code>get_player_monster name_variable</code>
* <code>set_monster_level name_variable,1</code>
 
=== set_monster_status ===
Change the status of a monster in the current player's party.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters get/lose status.. (optional)
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>status</code>: Inoculated, healthy or infected, default healthy (optional)
* <code>sprite</code>: must be inside mods/tuxemon/sprites (default = original), eg: adventurer_brown_back.png -> adventurer
* <code>combat_front</code>: must be inside mods/tuxemon/gfx/sprites/player, eg: adventurer.png -> adventurer (optional)


'''Examples'''  
'''Examples'''  
* <code>set_monster_status</code> (all the monsters in the party lose their status)
* <code>set_template player,adventurer,adventurer</code>
or
* <code>get_player_monster name_variable</code>
* <code>set_monster_status name_variable,status_blinded</code>


=== set_char_attribute ===
=== set_tuxepedia ===
Set the given attribute of the character to the given value.
Set the key and value in the Tuxepedia dictionary.


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>attribute</code>: Name of the attribute.
* <code>monster_slug</code>: Monster slug name (e.g. "rockitten").  
* <code>value</code>: Value of the attribute.
* <code>label</code>: seen / caught


'''Examples'''  
'''Examples'''  
* <code>set_char_attribute character,attribute,value</code>
* <code>set_tuxepedia player,rockitten,caught</code>
 
=== set_variable ===
Sets an arbitrary variable to a particular value. This action is good for seeing if battles with NPCs have been fought or not. These variables are also saved when the player saves the game.


=== set_party_attribute ===
Also used to set the [[:Category:Environment|environment]].
Set the given attribute of party's monsters to the given value.


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or character slug name (e.g. "npc_maple").
* <code>variable_name:value</code>: A key, value pair of the <code>variable_name</code> to set with <code>value</code>.
* <code>attribute</code>: Name of the attribute.
* <code>value</code>: Value of the attribute.


'''Examples'''  
'''Examples'''  
* <code>set_party_attribute player,name,jimmy</code> (all the monsters in the party will be named jimmy)
* <code>set_variable battle_won:yes</code>
* <code>set_variable talked_to_prof:true</code>
* <code>set_variable environment:grass</code>
* <code>set_variable whatever:today</code>: whatever stores today's date (use in combination with condition <code>once</code>)


=== set_party_status ===
=== spawn_monster ===
Records important information about all monsters in the party (eg average level of the party, etc.)
Breed a new monster. Add a new monster, created by breeding the two given monsters (identified by instance_id, stored in a variable) and adds it to the given character's party (identified by slug). The parents must be in either the trainer's party, or a storage box owned by the trainer.


'''Parameters'''  
'''Parameters'''
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").


'''Examples'''  
'''Examples'''  
* <code>set_party_status player</code>
* <code>spawn_monster</code>


=== set_player_name ===
=== start_battle ===
Set player name without opening the input screen.
Start a battle between two characters and switch to the combat module.


'''Parameters'''  
'''Parameters'''  
* <code>choice</code>: Single name or multiple names separated by ":" (random choice). NB: the names must be in the en_US PO file.
* <code>character1</code>: Either "player" or character slug name (e.g. "npc_maple").
* <code>character2</code>: Either "player" or character slug name (e.g. "npc_maple").


'''Examples'''  
'''Examples'''  
* <code>set_player_name jimmy</code>
* <code>start_battle player,npc_maple</code>
* <code>set_player_name jimmy:richard:linus</code> (random choice among jimmy, richard and linus)
* <code>start_battle npc_maple,npc_apple</code>


=== set_random_variable ===
=== start_cinema_mode ===
Set the key in the player.game_variables dictionary with a random value.
Start cinema mode by animating black bars to narrow the aspect ratio.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable.
* <code>None</code>
* <code>values</code>: Multiple values of the variable separated with ":".


'''Examples'''  
'''Examples'''  
* <code>set_random_variable alpha,one:two:three</code> (variable "alpha" can be "alpha:one" or "alpha:two" or "alpha:three").
* <code>start_cinema_mode</code>


=== set_template ===
=== stop_cinema_mode ===
Switch template (sprite and combat_front).
Stop cinema mode by animating black bars back to the normal aspect ratio.


Please remember that if you change the combat_front, automatically will change the combat_back.
'''Parameters'''
Eg if you set the sprite xxx, then it's going to add _back.png -> xxx_back.png
* <code>None</code>
 
'''Examples'''  
* <code>stop_cinema_mode</code>


if you choose a feminine sprite, then it's advisable: heroine
=== store_monster ===
if you choose a masculine sprite, then it's advisable: adventurer
Store a monster in a box. Save the player's monster with the given instance_id to the named storage box, removing it from the player party.


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>monster_id</code>: Id of the monster to store.  
* <code>sprite</code>: must be inside mods/tuxemon/sprites (default = original), eg: adventurer_brown_back.png -> adventurer
* <code>box</code>: An existing box where the monster will be stored. (optional)
* <code>combat_front</code>: must be inside mods/tuxemon/gfx/sprites/player, eg: adventurer.png -> adventurer (optional)


'''Examples'''  
'''Examples'''  
* <code>set_template player,adventurer,adventurer</code>
* <code>get_player_monster name_variable</code>
then:
* <code>store_monster name_variable</code>
or
* <code>store_monster name_variable,name_kennel</code>


=== set_tuxepedia ===
=== teleport_faint ===
Set the key and value in the Tuxepedia dictionary.
Teleport the player to the point in the teleport_faint variable. Usually used to teleport to the last visited Tuxcenter, as when all monsters in the party faint.


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>None</code>
* <code>monster_slug</code>: Monster slug name (e.g. "rockitten").
* <code>label</code>: seen / caught


'''Examples'''  
'''Examples'''  
* <code>set_tuxepedia player,rockitten,caught</code>
* <code>teleport_faint</code>


=== set_variable ===
=== teleport ===
Sets an arbitrary variable to a particular value. This action is good for seeing if battles with NPCs have been fought or not. These variables are also saved when the player saves the game.
Teleports the player to a given position on a map. This teleport is immediate and does not have any transition animation.
 
Also used to set the [[:Category:Environment|environment]].


'''Parameters'''  
'''Parameters'''  
* <code>variable_name:value</code>: A key, value pair of the <code>variable_name</code> to set with <code>value</code>.
* <code>map_name</code>: The map file to teleport the player to. 
* <code>x</code>: The X-tile coordinate to teleport the player to
* <code>y</code>: The Y-tile coordinate to teleport the player to.


'''Examples'''  
'''Examples'''  
* <code>set_variable battle_won:yes</code>   
* <code>teleport map1.tmx,3,4</code>   
* <code>set_variable talked_to_prof:true</code>
* <code>teleport room1.tmx,8,1</code>
* <code>set_variable environment:grass</code>
* <code>set_variable whatever:today</code>: whatever stores today's date (use in combination with condition <code>once</code>)


=== spawn_monster ===
=== trading ===
Breed a new monster. Add a new monster, created by breeding the two given monsters (identified by instance_id, stored in a variable) and adds it to the given character's party (identified by slug). The parents must be in either the trainer's party, or a storage box owned by the trainer.
Select a monster in the player party and trade. It's advisable to use it with the condition <code>not has_monster monster_slug</code>.


'''Parameters'''
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple"). The one who is going to receive the new born.
* <code>removed</code>: Instance id (name variable).
* <code>added</code>: Slug monster.


'''Examples'''  
'''Examples'''  
* <code>spawn_monster</code>
* <code>get_player_monster name_variable</code>
then
* <code>trading name_variable,nut</code>


=== start_battle ===
=== transfer_money ===
Start a battle between two characters and switch to the combat module.
Performs a mathematical transaction on the player's money.


'''Parameters'''  
'''Parameters'''  
* <code>character1</code>: Either "player" or character slug name (e.g. "npc_maple").
* <code>transaction</code>: Operator symbol.
* <code>character2</code>: Either "player" or character slug name (e.g. "npc_maple").
* <code>amount</code>: Amount of money.
* <code>slug</code>: Slug name (e.g. NPC, etc.) (optional)


'''Examples'''  
'''Examples'''  
* <code>start_battle player,npc_maple</code>
* <code>transfer_money +,100,npc_mom</code> (player gets 100 from mom)
* <code>start_battle npc_maple,npc_apple</code>
* <code>transfer_money -,100,npc_mom</code> (mom gets 100 from player)
* <code>transfer_money +,100</code> (player gets 100)


=== start_cinema_mode ===
=== transition_teleport ===
Start cinema mode by animating black bars to narrow the aspect ratio.
Teleports the player to a given position on a map with a screen transition over <code>x</code> seconds.


'''Parameters'''  
'''Parameters'''  
* <code>None</code>
* <code>map_name</code>: The map file to teleport the player to. 
* <code>x</code>: The X-tile coordinate to teleport the player to. 
* <code>y</code>: The Y-tile coordinate to teleport the player to. 
* <code>transition_time</code>: The time in seconds - default 2. (optional)
* <code>rgb</code>: color (eg red > 255,0,0 > 255:0:0) - default rgb(255,255,255) (optional)


'''Examples'''  
'''Examples'''  
* <code>start_cinema_mode</code>
* <code>teleport map2.tmx,1,6,1.5</code> 
* <code>teleport room1.tmx,8,1,4</code>


=== stop_cinema_mode ===
=== translated_dialog_choice ===
Stop cinema mode by animating black bars back to the normal aspect ratio.
Asks the player to select a choice. The translations for the text are looked up based on a given key.


'''Parameters'''  
'''Parameters'''  
* <code>None</code>
* <code>choice_keys</code>: Keys to reference translated text choices separated by colons.
* <code>variable</code>: The variable to store the answer which will be the key for the translated text.


'''Examples'''  
'''Examples'''  
* <code>stop_cinema_mode</code>
* <code>translated_dialog_choice yes:no,myvariable</code>


=== store_monster ===
=== translated_dialog ===
Store a monster in a box. Save the player's monster with the given instance_id to the named storage box, removing it from the player party.
Open a dialog window with translated text according to the passed translation key. Parameters passed to the translation string will also be checked if a translation key exists.  


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>text</code>: The msgid in the PO file.
* <code>box</code>: An existing box where the monster will be stored. (optional)
* <code>avatar</code>: If it is a number, the monster is the corresponding monster slot in the player's party. If it is a string, we're referring to a monster by name.
* <code>style</code>: a predefined style in db/dialogue/dialogue.json


'''Examples'''  
'''Examples'''  
* <code>get_player_monster name_variable</code>
* <code>translated_dialog msgid</code>
then:
* <code>store_monster name_variable</code>
or
* <code>store_monster name_variable,name_kennel</code>


=== teleport_faint ===
=== unlock_controls ===
Teleport the player to the point in the teleport_faint variable. Usually used to teleport to the last visited Tuxcenter, as when all monsters in the party faint.
Unlock player controls


'''Parameters'''  
'''Parameters'''  
* <code>trans_time</code>: Transition time in seconds - default 0.3. 
* <code>None</code>


'''Examples'''  
'''Examples'''  
* <code>teleport_faint</code>
* <code>unlock_controls</code>
* <code>teleport_faint 6.9</code>


=== teleport ===
=== variable_math ===
Teleports the player to a given position on a map. This teleport is immediate and does not have any transition animation.
Performs a mathematical operation on the key in the player.game_variables dictionary.


'''Parameters'''  
'''Parameters'''  
* <code>map_name</code>: The map file to teleport the player to. 
* <code>variable_name</code>
* <code>x</code>: The X-tile coordinate to teleport the player to. 
* <code>operation</code>: +, -, * or /
* <code>y</code>: The Y-tile coordinate to teleport the player to.
* <code>value</code>


'''Examples'''  
'''Examples'''  
* <code>teleport map1.tmx,3,4</code> 
* <code>variable_math badge_count,+,1</code>
* <code>teleport room1.tmx,8,1</code>


=== trading ===
=== wait ===
Select a monster in the player party and trade. It's advisable to use it with the condition <code>not has_monster monster_slug</code>.
Pauses execution of all events for the given amount of time in seconds.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id (removed).
* <code>seconds</code>: The amount of time in seconds to wait for.
* <code>added</code>: Slug monster or Name of the variable where to store the monster id (added).


'''Examples'''  
'''Examples'''  
* <code>get_player_monster name_variable</code>
* <code>wait 2.0</code>
then
* <code>wait 5.2</code>
* <code>trading name_variable,nut</code>


=== transfer_money ===
=== wild_encounter ===
Transfer money between entities. Both entities needs to have a wallet.
 
'''Parameters'''
* <code>slug1</code>: Slug name (e.g. NPC, etc.)
* <code>amount</code>: Amount of money.
* <code>slug2</code>: Slug name (e.g. NPC, etc.)
 
'''Examples'''
* <code>transfer_money player,100,npc_mom</code> (player transfers 100 to mom)
 
=== transition_teleport ===
Teleports the player to a given position on a map with a screen transition over <code>x</code> seconds.
 
'''Parameters'''
* <code>map_name</code>: The map file to teleport the player to. 
* <code>x</code>: The X-tile coordinate to teleport the player to. 
* <code>y</code>: The Y-tile coordinate to teleport the player to. 
* <code>trans_time</code>: The time in seconds - default 2. (optional)
* <code>rgb</code>: color (eg red > 255,0,0 > 255:0:0) - default rgb(255,255,255) (optional)
 
'''Examples'''
* <code>teleport map2.tmx,1,6,1.5</code> 
* <code>teleport room1.tmx,8,1,4</code>
 
=== translated_dialog_choice ===
Asks the player to select a choice. The translations for the text are looked up based on a given key.
 
'''Parameters'''
* <code>choice_keys</code>: Keys to reference translated text choices separated by colons.
* <code>variable</code>: The variable to store the answer which will be the key for the translated text.
 
'''Examples'''
* <code>translated_dialog_choice yes:no,myvariable</code>
 
=== translated_dialog ===
Open a dialog window with translated text according to the passed translation key. Parameters passed to the translation string will also be checked if a translation key exists.
 
'''Parameters'''
* <code>text</code>: The msgid in the PO file.
* <code>avatar</code>: If it is a number, the monster is the corresponding monster slot in the player's party. If it is a string, we're referring to a monster by name.
* <code>style</code>: a predefined style in db/dialogue/dialogue.json
 
'''Examples'''
* <code>translated_dialog msgid</code> 
 
=== unlock_controls ===
Unlock player controls
 
'''Parameters'''
* <code>None</code>
 
'''Examples'''
* <code>unlock_controls</code> 
 
=== update_tile_properties ===
Update tile properties. Enable movement and/or the moverate. '''moverate 0 = not accessible'''. The surface keys supported are: '''surfable''', '''walkable''' and '''climbable'''.
 
'''Parameters'''
* <code>label</code>: Name of the property
* <code>moverate</code>: Value of the moverate (eg 1 equal moverate, default 1)
 
'''Examples'''
* <code>update_tile_properties surfable,0.5</code> 
 
=== variable_math ===
Performs a mathematical operation on the key in the player.game_variables dictionary.
 
'''Parameters'''
* <code>variable_name</code>
* <code>operation</code>: +, -, * or /
* <code>value</code>
 
'''Examples'''
* <code>variable_math badge_count,+,1</code>
 
=== wait ===
Pauses execution of all events for the given amount of time in seconds.
 
'''Parameters'''
* <code>seconds</code>: The amount of time in seconds to wait for. 
 
'''Examples'''
* <code>wait 2.0</code> 
* <code>wait 5.2</code>
 
=== wild_encounter ===
Start an encounter with a single wild monster.
Start an encounter with a single wild monster.


Line 1,678: Line 1,525:


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>monster_id</code>: The id of the monster to pull (variable).
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple"). The one who is going to receive the monster.
* <code>trainer</code>: Slug of the trainer that will receive the monster. It defaults to the current player.
           
 
'''Examples'''  
'''Examples'''  
* <code>get_player_monster name_variable</code>
* <code>get_player_monster name_variable</code>
Line 1,809: Line 1,656:
     <property name="act30" value="add_monster chloragon,3,npc_maple"/>
     <property name="act30" value="add_monster chloragon,3,npc_maple"/>
     <property name="act40" value="add_monster rockitten,3,npc_apple"/>
     <property name="act40" value="add_monster rockitten,3,npc_apple"/>
     <property name="act50" value="start_battle npc_maple,npc_apple"/>
     <property name="act50" value="start_battle speck,acolyte"/>
separate event, multiple endings, if npc_maple wins
separate event, multiple endings, if npc_maple wins
     <property name="cond1" value="is variable_set battle_last_winner:npc_maple"/>
     <property name="cond1" value="is variable_set battle_last_winner:npc_maple"/>
separate event, multiple endings, if npc_apple wins
separate event, multiple endings, if npc_apple wins
     <property name="cond1" value="not variable_set battle_last_winner:npc_maple"/>
     <property name="cond1" value="is variable_set battle_last_winner:npc_apple"/>
separate event, multiple endings, if no-one wins
separate event, multiple endings, if no-one wins
     <property name="cond1" value="is variable_set battle_last_result:draw"/>
     <property name="cond1" value="is variable_set battle_last_result:draw"/>

Please note that all contributions to Tuxepedia are considered to be released under the Creative Commons Attribution-ShareAlike (see Tuxepedia:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)