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 293: Line 255:
'''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 310: Line 271:
'''Examples'''  
'''Examples'''  
* <code>to be defined</code>
* <code>to be defined</code>
=== monster_property ===
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 ===
=== music_playing ===
Line 539: Line 513:
'''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 584:


'''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 746: Line 720:
'''Examples'''  
'''Examples'''  
* <code>fadeout_music 2</code>
* <code>fadeout_music 2</code>
=== format_variable ===
Format the value of a variable from the game (eg. float or int).
'''Parameters'''
* <code>variable</code>: The variable to format.
* <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 ===
=== get_party_monster ===
Line 807: Line 755:
* <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'''  
'''Parameters'''  
* <code>None</code>
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>attribute</code>: Name of the attribute to modify.
* <code>value</code>: Value of the attribute modifier.


'''Examples'''  
'''Examples'''  
* <code>lock_controls</code>
* <code>modify_char_attribute character,attribute,value</code>


=== menu ===
=== open_shop ===
Enable/disable one or more menu.
Open the shop menu for a NPC.


'''Parameters'''  
'''Parameters'''  
* <code>act</code>: enable or disable
* <code>npc_slug</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <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>menu</code>: Either "buy", "sell" or "both". Default is "both". (optional)


'''Examples'''  
'''Examples'''  
* <code>menu disable,menu_bag</code>
* <code>open_shop npc_maple</code>  


=== modify_char_attribute ===
=== pathfind ===
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.
Moves an NPC to a certain tile on the map.


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>name</code>: The name of the NPC to be moved.
* <code>attribute</code>: Name of the attribute to modify.
* <code>tile_pos_x</code>: The X-tile coordinate to have the NPC to walk to.
* <code>value</code>: Value of the attribute modifier.
* <code>tile_pos_y</code>: The Y-tile coordinate to have the NPC to walk to.    


'''Examples'''  
'''Examples'''  
* <code>modify_char_attribute character,attribute,value</code>
* <code>pathfind Maple,2,3</code>
* <code>pathfind Pine,1,6</code>


=== modify_money ===
=== pathfind_to_player ===
Add or remove an amount of money for a wallet (slug).
Pathfind NPC close the player.


'''Parameters'''  
'''Parameters'''  
* <code>slug</code>: Slug name (e.g. player or NPC, etc.).
* <code>npc_slug</code>: Npc slug name (e.g. "npc_maple").
* <code>amount</code>: Amount of money to add/remove (-/+)
* <code>direction</code>: Approaches the player from up, down, left or right.
* <code>variable</code>: Name of the variable where to store the amount.
* <code>distance</code>: How many tiles (2, 3, 4, etc.)


'''Examples'''  
'''Examples'''  
* <code>modify_money npc_maple,100</code>
* <code>pathfind_to_player spyder_route2_roddick</code>  
* <code>modify_money npc_maple,-50</code>
* <code>translated_dialog spyder_route2_roddick1</code>
* <code>modify_money player,,name_variable</code>
* <code>start_battle player,spyder_route2_roddick</code>  


=== modify_monster_bond ===
=== pause_music ===
Add or remove an amount of money for a wallet (slug).
Pauses the currently playing music.


'''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>None</code>
* <code>amount</code>: An int or float value, if no amount, then default 1 (int).


'''Examples'''
'''Examples'''  
* <code>modify_monster_bond</code>
* <code>pause_music</code>
* <code>modify_monster_bond name_variable,25</code>
* <code>modify_monster_bond name_variable,-0.5</code>


=== modify_monster_health ===
=== play_map_animation ===
Modify the hp of a monster in the current player's party.
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>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are healed.
* <code>animation_name</code>: The name of the animation to play under <code>resources/animations/tileset</code>.
* <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>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>modify_monster_health</code>
* <code>play_map_animation grass,0.1,noloop,player</code>
* <code>modify_monster_health ,0.25</code>
* <code>play_map_animation sign01,0.4,loop,33,10</code>


 
=== play_music ===
=== modify_monster_stats ===
Plays an audio file.
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>filename</code>: Music file to load (slug inside the JSON in db/sound)
* <code>stat</code>: A stat among armour, dodge, hp, melee, speed and ranged. If no stat, then all the stats. (Optional)
* <code>volume</code>: Number between 0.0 and 1.0. (optional)
* <code>amount</code>: A/an float/int value, if no amount, then default 1 (+). (Optional)
* <code>loop</code>: How many times loop, default forever. (optional)


'''Examples'''  
'''Examples'''  
* <code>modify_monster_stats</code>
* <code>play_music music_mystic_island</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_sound ===
Open the shop menu for a NPC.
Plays a sound file.


'''Parameters'''  
'''Parameters'''  
* <code>npc_slug</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>filename</code>: Sound file to load (slug inside the JSON in db/sound)
* <code>menu</code>: Either "buy", "sell" or "both". Default is "both". (optional)
* <code>volume</code>: Number between 0.0 and 1.0. (optional)


'''Examples'''  
'''Examples'''  
* <code>open_shop npc_maple</code>  
* <code>play_sound sound_confirm</code>


=== overwrite_tech ===
=== print ===
Overwrite / replace a technique with another.
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>removed</code>: Name of the variable where to store the tech id.
* <code>variable</code>: Prints out the value of this variable (optional)
* <code>added</code>: Slug technique.


'''Examples'''  
'''Examples'''  
* <code>overwrite_tech name_variable,peck</code>  
* <code>print</code> 
* <code>print name_variable</code>


=== pathfind ===
=== quarantine ===
Moves an NPC to a certain tile on the map.
Quarantine infected monsters. Amount works only for "out", it takes out the amount in a random way.


'''Parameters'''  
'''Parameters'''  
* <code>name</code>: The name of the NPC to be moved.
* <code>value</code>: in or out
* <code>tile_pos_x</code>: The X-tile coordinate to have the NPC to walk to. 
* <code>amount</code>: number of monsters (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>quarantine out</code> everything out (player's party -> if full, then box)
* <code>pathfind Pine,1,6</code>
* <code>quarantine out,5</code> eg. box contains 30 monsters <code>quarantine out,5</code>, it means 5 monsters by random


=== pathfind_to_player ===
=== quit ===
Pathfind NPC close the player.
Completely quit the game.


'''Parameters'''  
'''Parameters'''  
* <code>npc_slug</code>: Npc slug name (e.g. "npc_maple").
* <code>None</code>
* <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>quit</code>
* <code>translated_dialog spyder_route2_roddick1</code>
* <code>start_battle player,spyder_route2_roddick</code>  


=== pause_music ===
=== random_battle ===
Pauses the currently playing music.
Start random battle with a random npc with a determined number of monster in a certain range of levels.


'''Parameters'''  
'''Parameters'''  
* <code>None</code>
* <code>nr_txmns</code>: Number of tuxemon (1 to 6).
* <code>min_level</code>: Minimum level of the party.
* <code>max_level</code>: Maximum level of the party.


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


=== play_map_animation ===
=== random_encounter ===
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>.
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>animation_name</code>: The name of the animation to play under <code>resources/animations/tileset</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'''
  "slug": "route1",
* <code>play_map_animation grass,0.1,noloop,player</code> 
  "monsters": [
* <code>play_map_animation sign01,0.4,loop,33,10</code>
    {
 
      "monster": "pairagrin",
=== play_music ===
      "encounter_rate": 3.5,
Plays an audio file.
      "variable": "daytime:true",
      "exp_req_mod": 1,
      "level_range": [
        2,
        4
      ]
    },


'''Parameters'''  
'''Parameters'''  
* <code>filename</code>: Music file to load (slug inside the JSON in db/sound)
* <code>encounter_slug</code>: Slug of the encounter list.
* <code>volume</code>: Number between 0.0 and 1.0. (optional)
* <code>total_prob</code>: Total sum of the probabilities. (optional)
* <code>loop</code>: How many times loop, default forever. (optional)
* <code>rgb</code>: color (eg red > 255,0,0 > 255:0:0) - default rgb(255,255,255) (optional)


'''Examples'''  
'''Examples'''  
* <code>play_music music_mystic_island</code>  
* <code>random_encounter route1</code>
* <code>random_encounter route1,20</code>


=== play_sound ===
=== random_integer ===
Plays a sound file.
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>filename</code>: Sound file to load (slug inside the JSON in db/sound)
* <code>variable</code>: Name of the variable.
* <code>volume</code>: Number between 0.0 and 1.0. (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>play_sound sound_confirm</code>
* <code>random_integer name_variable,1,9</code>


=== print ===
=== random_item ===
Print the current value of a game variable to the console. If no variable is specified, print out values of all game variables.
Pick a random item from a list and add it to the trainer's inventory.


'''Parameters''' :  
'''Parameters'''  
* <code>variable</code>: Prints out the value of this variable (optional)
* <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>print</code>
* <code>random_item potion:tea:revive</code> (adds 1 potion or tea or revive to the trainer's inventory).
* <code>print name_variable</code>
* <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).


=== quarantine ===
=== random_monster ===
Quarantine infected monsters. Amount works only for "out", it takes out the amount in a random way.
Add a monster to the specified trainer's party if there is room.


'''Parameters'''  
'''Parameters'''  
* <code>value</code>: in or out
* <code>monster_level</code>: Level of the added monster.
* <code>amount</code>: number of monsters (optional)
* <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>quarantine out</code> everything out (player's party -> if full, then box)
* <code>random_monster 10</code>
* <code>quarantine out,5</code> eg. box contains 30 monsters <code>quarantine out,5</code>, it means 5 monsters by random
* <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>


=== quit ===
=== remove_collision ===
Completely quit the game.
Removes a collision defined by a specific label.


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


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


=== random_battle ===
=== remove_contacts ===
Start random battle with a random npc with a determined number of monster in a certain range of levels.
Remove contact from the app (Nu Phone).


'''Parameters'''  
'''Parameters''' :
* <code>nr_txmns</code>: Number of tuxemon (1 to 6).
* <code>slug</code>: slug name (e.g. "npc_maple").
* <code>min_level</code>: Minimum level of the party.
* <code>max_level</code>: Maximum level of the party.


'''Examples'''  
'''Examples'''  
* <code>random_battle 6,1,99</code>
* <code>remove_contacts npc_maple</code>
 
=== remove_monster ===
Remove a monster from the party if the monster is there.


=== random_encounter ===
'''Parameters'''
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.
* <code>variable</code>: Name of the variable where to store the monster id.


Here is an example encounter file: ''resources/db/encounter/route1.json'' 
'''Examples'''
* <code>get_player_monster name_variable</code>
* <code>remove_monster name_variable</code>


  "slug": "route1",
=== remove_npc ===
  "monsters": [
Removes an NPC from the current map.
    {
      "monster": "pairagrin",
      "encounter_rate": 3.5,
      "variable": "daytime:true",
      "exp_req_mod": 1,
      "level_range": [
        2,
        4
      ]
    },


'''Parameters'''  
'''Parameters'''  
* <code>encounter_slug</code>: Slug of the encounter list.
* <code>name</code>: The name of the NPC to remove.
* <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)


'''Examples'''  
'''Examples'''  
* <code>random_encounter route1</code>
* <code>remove_npc Maple</code>
* <code>random_encounter route1,20</code>
* <code>remove_npc Pine</code>


=== random_integer ===
=== remove_state ===
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.
Change to the specified state.


'''Parameters'''  
'''Parameters'''
* <code>variable</code>: Name of the variable.
* <code>state_name</code>: The state name to switch to (e.g. PCState).
* <code>lower_bound</code>: Lower bound of range to return an integer between (inclusive)
* <code>optional</code>: Variable related to specific states (eg slug for JournalInfoState).
* <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>remove_state</code> (it removes everything, excluding the basic ones)
* <code>remove_state JournalInfoState</code> (it removes everything, excluding the basic ones)


=== random_item ===
=== rename_monster ===
Pick a random item from a list and add it to the trainer's inventory.
Open the text input screen to rename the monster.


'''Parameters'''  
'''Parameters'''  
* <code>item_slug</code>: Item name to look up in the item database (multiple items separated by ":").
* <code>variable</code>: Name of the variable where to store the monster id.
* <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>random_item potion:tea:revive</code> (adds 1 potion or tea or revive to the trainer's inventory).
* <code>rename_monster name_variable</code>
* <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_monster ===
=== rename_player ===
Add a monster to the specified trainer's party if there is room.
Open the text input screen to rename the player.


'''Parameters'''  
'''Parameters'''  
* <code>monster_level</code>: Level of the added monster.
* <code>None</code>
* <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_player</code>
* <code>random_monster 10,npc_maple</code>
 
* <code>random_monster 10,npc_maple,10,27</code>
=== rumble ===
* <code>random_monster 10,npc_maple,10,27,aquatic,basic</code>
Rumble available controllers with rumble support.
* <code>random_monster 10,npc_maple,,,brute,basic</code>


=== remove_collision ===
'''Parameters'''  
Removes a collision defined by a specific label.
* <code>duration</code>: Time in seconds to rumble for.
 
* <code>power</code>: Percentage of power to rumble.
'''Parameters''' :
* <code>label</code>: Name of the obstacle.


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


=== remove_contacts ===
=== save_game ===
Remove contact from the app (Nu Phone).
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>slug</code>: slug name (e.g. "npc_maple").
* <code>index</code>: Selected index. (optional)


'''Examples'''  
'''Examples'''  
* <code>remove_contacts npc_maple</code>
* <code>save_game</code> (it's going to save slot4.save)
* <code>save_game 1</code> (it's going to save slot2.save)


=== remove_monster ===
=== screen_transition ===
Remove a monster from the party if the monster is there.
Fades the screen to black and back over <code>x</code> seconds.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>trans_time</code>: Time in seconds - default 0.3 (optional).
* <code>rgb</code>: color (eg red > 255,0,0 > 255:0:0) - default rgb(255,255,255) (optional)


'''Examples'''  
'''Examples'''  
* <code>get_player_monster name_variable</code>
* <code>screen_transition 2</code>
* <code>remove_monster name_variable</code>


=== remove_npc ===
=== set_battle ===
Removes an NPC from the current map.
Append a new element in player.battles.


'''Parameters'''  
'''Parameters'''  
* <code>name</code>: The name of the NPC to remove.
* <code>fighter</code>: Npc slug name (e.g. "npc_maple").
* <code>result</code>: One among "won", "lost" or "draw"
* <code>opponent</code>: Npc slug name (e.g. "npc_maple").


'''Examples'''  
'''Examples'''  
* <code>remove_npc Maple</code> 
* <code>set_battle player,won,npc_maple</code> (player won against npc_maple)
* <code>remove_npc Pine</code>


=== remove_state ===
=== set_bubble ===
Change to the specified state.
Put a bubble above player sprite.


'''Parameters'''
'''Parameters'''  
* <code>state_name</code>: The state name to switch to (e.g. PCState).
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>optional</code>: Variable related to specific states (eg slug for JournalInfoState).
* <code>bubble</code>: dots, drop, exclamation, heart, note, question, sleep, angry, confused, fireworks


'''Examples'''  
'''Examples'''  
* <code>remove_state</code> (it removes everything, excluding the basic ones)
* <code>set_bubble spyder_shopassistant</code> (remove bubble NPC)
* <code>remove_state JournalInfoState</code> (it removes everything, excluding the basic ones)
* <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)


=== remove_tech ===
=== set_code ===
Remove a specific technique from a specific monster.
Set a code and checks if it's correct or not. Case Sensitive: ATTENTION and AtTenTION are two different words.


'''Parameters'''
'''Parameters'''  
* <code>tech_id</code>: Name of the variable where to store the tech 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>remove_tech name_variable</code>
* <code>set_code access_code,joke,name_variable</code>


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


'''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>economy_slug</code>: Slug of an economy.


'''Examples'''  
'''Examples'''  
* <code>rename_monster name_variable</code>
* <code>set_economy spyder_shopkeeper,spyder_candy_scoop</code>


=== rename_player ===
=== set_kennel_visible ===
Open the text input screen to rename the player.
Set the kennel visible or hidden.


'''Parameters'''  
From hidden to visible: set_kennel_visible name_kennel,true
* <code>None</code>
From visible to hidden: set_kennel_visible name_kennel,false
 
'''Parameters'''  
* <code>kennel</code>: Name of the kennel.
* <code>visible</code>: true/false.


'''Examples'''  
'''Examples'''  
* <code>rename_player</code>
* <code>set_kennel_visible name_kennel,true</code>
* <code>set_kennel_visible name_kennel,false</code>
 
=== set_kennel ===
Create a new kennel. If the kennel is visible, then it's advisable to create a msgid in the en_US PO file.


=== rumble ===
msgid "kennel_name"
Rumble available controllers with rumble support.
msgstr "Kennel Name"


'''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 new_kennel,true</code>


=== save_game ===
=== set_layer ===
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)
Allows to change the color of the transparent layer.


'''Parameters'''  
'''Parameters'''  
* <code>index</code>: Selected index. (optional)
* <code>rgb</code>: color (eg red > 255,0,0,128 > 255:0:0:128) - default transparent


'''Examples'''  
'''Examples'''  
* <code>save_game</code> (it's going to save slot4.save)
* <code>set_layer 255:0:0:128</code>
* <code>save_game 1</code> (it's going to save slot2.save)


=== screen_transition ===
=== set_money ===
Fades the screen to black and back over <code>x</code> seconds.
Set the key and value in the money dictionary. It'll reset the previous amount.


'''Parameters'''  
'''Parameters'''  
* <code>trans_time</code>: Time in seconds - default 0.3 (optional).
* <code>slug</code>: Slug name (e.g. player or NPC, etc.).
* <code>rgb</code>: color (eg red > 255,0,0 > 255:0:0) - default rgb(255,255,255) (optional)
* <code>amount</code>: Amount of money


'''Examples'''  
'''Examples'''  
* <code>screen_transition 2</code>
* <code>set_money player,500</code>


=== set_battle ===
=== set_mission ===
Append a new element in player.battles.
Set mission.


'''Parameters'''  
'''Parameters'''  
* <code>fighter</code>: Npc slug name (e.g. "npc_maple").
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>result</code>: One among "won", "lost" or "draw"
* <code>slug</code>: slug mission
* <code>opponent</code>: Npc slug name (e.g. "npc_maple").
* <code>operation</code>: add, remove or change
* <code>status</code>: completed, pending, failed (default pending)


'''Examples'''  
'''Examples'''  
* <code>set_battle player,won,npc_maple</code> (player won against npc_maple)
* <code>set_mission mission1</code>
* <code>set_mission mission1,change,completed</code>


=== set_bubble ===
=== set_monster_flair ===
Put a bubble above player sprite.
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>bubble</code>: dots, drop, exclamation, heart, note, question, sleep, angry, confused, fireworks
* <code>category</code>: Category of the monster flair.
* <code>flair</code>: Name of the monster flair.


'''Examples'''  
'''Examples'''  
* <code>set_bubble spyder_shopassistant</code> (remove bubble NPC)
* <code>get_player_monster name_variable</code>
* <code>set_bubble spyder_shopassistant,note</code> (set bubble NPC)
* <code>set_monster_flair name_variable,category,flair</code>
* <code>set_bubble player,note</code> (set bubble player)
* <code>set_bubble player</code> (remove bubble player)


=== set_economy ===
=== set_monster_health ===
Set the economy (prices of items) of the npc or player.
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.  


'''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 healed. (optional)
* <code>economy_slug</code>: Slug of an economy.
* <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_economy spyder_shopkeeper,spyder_candy_scoop</code>
* <code>set_monster_health</code> (heals all the monsters in the party)
or
* <code>get_player_monster name_variable</code>
* <code>set_monster_health name_variable,1</code>


=== set_kennel_visible ===
=== set_monster_level ===
Set the kennel visible or hidden.
Change the level of a monster in the current player's party.
 
From hidden to visible: set_kennel_visible name_kennel,true
From visible to hidden: set_kennel_visible name_kennel,false
 
'''Parameters'''
* <code>kennel</code>: Name of the kennel.
* <code>visible</code>: true/false.
 
'''Examples'''
* <code>set_kennel_visible name_kennel,true</code>
* <code>set_kennel_visible name_kennel,false</code>
 
=== set_kennel ===
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'''
* <code>kennel</code>: Name of the kennel.
* <code>visible</code>: true/false.
 
'''Examples'''
* <code>set_kennel new_kennel,true</code>
 
=== set_layer ===
Allows to change the color of the transparent layer.
 
'''Parameters'''
* <code>rgb</code>: color (eg red > 255,0,0,128 > 255:0:0:128) - default transparent
 
'''Examples'''
* <code>set_layer 255:0:0:128</code>
 
=== set_mission ===
Set mission.
 
'''Parameters'''
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>slug</code>: slug mission
* <code>operation</code>: add, remove or change
* <code>status</code>: completed, pending, failed (default pending)
 
'''Examples'''
* <code>set_mission mission1</code>
* <code>set_mission mission1,change,completed</code>
 
=== set_money ===
Set an amount of money for a specific slug.
 
'''Parameters'''
* <code>slug</code>: Slug name (e.g. player or NPC, etc.).
* <code>amount</code>: Amount of money (>= 0) (default 0)
 
'''Examples'''
* <code>set_money player</code>
* <code>set_money player,500</code>
 
=== set_monster_attribute ===
Set the given attribute of the monster to the given value.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are changed. (optional)
* <code>attribute</code>: Name of the attribute.
* <code>levels_added</code>: Number of levels to add. Negative numbers are allowed. Default 1. (optional)
* <code>value</code>: Value of the attribute.
 
'''Examples'''
* <code>set_monster_attribute name_variable,name,jimmy</code> (the monster will be named jimmy)
 
=== set_monster_flair ===
Set a monster's flair to the given value.
 
'''Parameters'''
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are changed.
* <code>category</code>: Category of the monster flair.
* <code>flair</code>: Name of the monster flair.


'''Examples'''  
'''Examples'''  
* <code>set_monster_level</code> (all the monsters in the party level up by 1)
or
* <code>get_player_monster name_variable</code>
* <code>get_player_monster name_variable</code>
* <code>set_monster_flair name_variable,category,flair</code>
* <code>set_monster_level name_variable,1</code>
 
=== set_monster_health ===
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.
 
'''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>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'''
* <code>set_monster_health</code> (heals all the monsters in the party)
or
* <code>get_player_monster name_variable</code>
* <code>set_monster_health name_variable,1</code>


=== set_monster_level ===
=== set_monster_plague ===
Change the level of a monster in the current player's party.
Cure or infect a monster.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are changed. (optional)
* <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>levels_added</code>: Number of levels to add. Negative numbers are allowed. Default 1. (optional)
* <code>condition</code>: inoculated, healthy or infected, default healthy (optional)


'''Examples'''  
'''Examples'''  
* <code>set_monster_level</code> (all the monsters in the party level up by 1)
* <code>set_monster_plague</code> (all the monsters in the party are healthy)
or
or
* <code>get_player_monster name_variable</code>
* <code>get_player_monster name_variable</code>
* <code>set_monster_level name_variable,1</code>
* <code>set_monster_plague name_variable,infected</code>


=== set_monster_status ===
=== set_monster_status ===
Line 1,404: Line 1,274:
'''Examples'''  
'''Examples'''  
* <code>set_char_attribute character,attribute,value</code>
* <code>set_char_attribute character,attribute,value</code>
=== set_party_attribute ===
Set the given attribute of party's monsters to the given value.
'''Parameters'''
* <code>character</code>: Either "player" or character slug name (e.g. "npc_maple").
* <code>attribute</code>: Name of the attribute.
* <code>value</code>: Value of the attribute.
'''Examples'''
* <code>set_party_attribute player,name,jimmy</code> (all the monsters in the party will be named jimmy)


=== set_party_status ===
=== set_party_status ===
Line 1,547: Line 1,406:
'''Examples'''  
'''Examples'''  
* <code>teleport_faint</code>
* <code>teleport_faint</code>
* <code>teleport_faint 6.9</code>


=== teleport ===
=== teleport ===
Line 1,574: Line 1,432:


=== transfer_money ===
=== transfer_money ===
Transfer money between entities. Both entities needs to have a wallet.
Performs a mathematical transaction on the player's money.


'''Parameters'''  
'''Parameters'''  
* <code>slug1</code>: Slug name (e.g. NPC, etc.)
* <code>transaction</code>: Operator symbol.
* <code>amount</code>: Amount of money.
* <code>amount</code>: Amount of money.
* <code>slug2</code>: Slug name (e.g. NPC, etc.)
* <code>slug</code>: Slug name (e.g. NPC, etc.) (optional)


'''Examples'''  
'''Examples'''  
* <code>transfer_money player,100,npc_mom</code> (player transfers 100 to mom)
* <code>transfer_money +,100,npc_mom</code> (player gets 100 from mom)
* <code>transfer_money -,100,npc_mom</code> (mom gets 100 from player)
* <code>transfer_money +,100</code> (player gets 100)


=== transition_teleport ===
=== transition_teleport ===
Line 1,627: Line 1,487:
'''Examples'''  
'''Examples'''  
* <code>unlock_controls</code>   
* <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 ===
=== variable_math ===
Line 1,809: Line 1,659:
     <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)