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'''  
'''Parameters'''  
* <code>music_file</code>: The music file to check.
* <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'''
* <code>music_file</code>: The music file to check.


'''Examples'''  
'''Examples'''  
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'''  
* <code>get_player_monster name_variable</code>
* <code>get_player_monster name_variable</code>
* <code>add_tech name_variable,bullet</code>
* <code>add_tech name_variable,bullet</code>
=== battles_print ===
Print the current value of battle history to the console. If no variable is specified, print out values of all battles.
'''Parameters'''
* <code>character</code>: Npc slug name (e.g. "npc_maple"). (optional)
* <code>result</code>: One among "won", "lost" or "draw". (optional)
'''Examples'''
* <code>battles_print</code>
* <code>battles_print [character,result]</code>


=== breeding ===
=== breeding ===
Line 524: Line 515:
* <code>change_bg</code> (stop)
* <code>change_bg</code> (stop)


=== change_taste ===
=== change_state ===
hanges tastes monster.
Change to the specified state.


'''Parameters'''   
'''Parameters'''   
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>state_name</code>: The state name to switch to (e.g. PCState).
* <code>taste</code>: Warm or cold.
* <code>optional</code>: Variable related to specific states (eg slug for JournalInfoState). (optional)


'''Examples'''  
'''Examples'''  
* <code>change_taste name_variable,warm</code>
* <code>change_state PCState</code>
 
=== change_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 (e.g. variable with monster_id for '''MonsterInfo''', monster slug for '''JournalInfoState''' and character slug for '''CharacterState'''). (Optional)
 
'''Examples'''
* <code>change_state PCState</code>
* <code>change_state JournalInfoState,rockitten</code>
* <code>change_state JournalInfoState,rockitten</code>


Line 610: Line 591:


'''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 727:
'''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 762:
* <code>get_player_monster name_variable,shape,serpent</code>
* <code>get_player_monster name_variable,shape,serpent</code>


=== give_experience ===
=== kennel_print ===
Gives experience points to the monster.
Print all the kennels or one. It returns <name, qty, visible/hidden>, where *qty = number of monsters inside.


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>kennel</code>: Name of the kennel. (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>kennel_print</code>
* <code>give_experience name_variable,420</code>
* <code>kennel_print name_kennel</code>


=== info ===
=== load_game ===
Records monster's attribute values inside a game variable. It allows to record the monster's owner attribute values too.
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>attribute</code>: The attribute to check (level, speed, etc.).
 
'''Examples'''
* <code>info name_variable,level</code> -> if the monster is lv 4, then it'll create a variable called: "info_level:4"
* <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 ===
Set a code and checks if it's correct or not. The player's output will be by default lowercase.
 
'''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>variable</code>: Name of the variable where to store the output.
* <code>escape</code>: Whether the input can be closed or not. Default False.
 
'''Examples'''
* <code>input_variable access_code,response_question</code>
* <code>input_variable access_code,response_question,escape</code>
 
=== load_game ===
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'''
* <code>index</code>: Selected index. (optional)


'''Examples'''  
'''Examples'''  
Line 870: Line 801:
* <code>menu disable,menu_bag</code>
* <code>menu disable,menu_bag</code>


=== modify_char_attribute ===
=== modify_monster_stats ===
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.
Change the stats 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 are touched. (Optional)
* <code>attribute</code>: Name of the attribute to modify.
* <code>stat</code>: A stat among armour, dodge, hp, melee, speed and ranged. If no stat, then all the stats. (Optional)
* <code>value</code>: Value of the attribute modifier.
* <code>amount</code>: A/an float/int value, if no amount, then default 1 (+). (Optional)


'''Examples'''  
'''Examples'''  
* <code>modify_char_attribute character,attribute,value</code>
* <code>modify_monster_stats</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>


=== modify_money ===
=== modify_char_attribute ===
Add or remove an amount of money for a wallet (slug).
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>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 to add/remove (-/+)
* <code>attribute</code>: Name of the attribute to modify.
* <code>variable</code>: Name of the variable where to store the amount.
* <code>value</code>: Value of the attribute modifier.


'''Examples'''  
'''Examples'''  
* <code>modify_money npc_maple,100</code>
* <code>modify_char_attribute character,attribute,value</code>
* <code>modify_money npc_maple,-50</code>
* <code>modify_money player,,name_variable</code>


=== modify_monster_bond ===
=== money_print ===
Add or remove an amount of money for a wallet (slug).
Print the current value of money dictionary to the console. If no entity is specified, print out values of all money dictionary.


'''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>slug</code>: Slug name (e.g. player or NPC, etc.). (optional)
* <code>amount</code>: An int or float value, if no amount, then default 1 (int).


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


=== modify_monster_health ===
=== open_shop ===
Modify the hp of a monster in the current player's party.
Open the shop menu for a NPC.


'''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>: Either "player" or 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>menu</code>: Either "buy", "sell" or "both". Default is "both". (optional)


'''Examples'''  
'''Examples'''  
* <code>modify_monster_health</code>
* <code>open_shop npc_maple</code>  
* <code>modify_monster_health ,0.25</code>


 
=== pathfind ===
=== modify_monster_stats ===
Moves an NPC to a certain tile on the map.
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>name</code>: The name of the NPC to be moved.
* <code>stat</code>: A stat among armour, dodge, hp, melee, speed and ranged. If no stat, then all the stats. (Optional)
* <code>tile_pos_x</code>: The X-tile coordinate to have the NPC to walk to.
* <code>amount</code>: A/an float/int value, if no amount, then default 1 (+). (Optional)
* <code>tile_pos_y</code>: The Y-tile coordinate to have the NPC to walk to.    


'''Examples'''  
'''Examples'''  
* <code>modify_monster_stats</code>
* <code>pathfind Maple,2,3</code>  
* <code>modify_monster_stats ,,0.25</code>
* <code>pathfind Pine,1,6</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 ===
=== pathfind_to_player ===
Open the shop menu for a NPC.
Pathfind NPC close the player.


'''Parameters'''  
'''Parameters'''  
* <code>npc_slug</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>npc_slug</code>: Npc slug name (e.g. "npc_maple").
* <code>menu</code>: Either "buy", "sell" or "both". Default is "both". (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>open_shop npc_maple</code>  
* <code>pathfind_to_player spyder_route2_roddick</code>
* <code>translated_dialog spyder_route2_roddick1</code>
* <code>start_battle player,spyder_route2_roddick</code>  


=== overwrite_tech ===
=== pause_music ===
Overwrite / replace a technique with another.
Pauses the currently playing music.


'''Parameters'''  
'''Parameters'''  
* <code>removed</code>: Name of the variable where to store the tech id.
* <code>None</code>
* <code>added</code>: Slug technique.


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


=== pathfind ===
=== play_map_animation ===
Moves an NPC to a certain tile on the map.
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>name</code>: The name of the NPC to be moved.
* <code>animation_name</code>: The name of the animation to play under <code>resources/animations/tileset</code>.
* <code>tile_pos_x</code>: The X-tile coordinate to have the NPC to walk to.   
* <code>duration</code>: The amount of time in seconds between each frame. 
* <code>tile_pos_y</code>: The Y-tile coordinate to have the NPC to walk to.    
* <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>pathfind Maple,2,3</code>  
* <code>play_map_animation grass,0.1,noloop,player</code>
* <code>pathfind Pine,1,6</code>
* <code>play_map_animation sign01,0.4,loop,33,10</code>


=== pathfind_to_player ===
=== play_music ===
Pathfind NPC close the player.
Plays an audio file.


'''Parameters'''  
'''Parameters'''  
* <code>npc_slug</code>: Npc slug name (e.g. "npc_maple").
* <code>filename</code>: Music file to load (slug inside the JSON in db/sound)
* <code>direction</code>: Approaches the player from up, down, left or right.
* <code>volume</code>: Number between 0.0 and 1.0. (optional)
* <code>distance</code>: How many tiles (2, 3, 4, etc.)
* <code>loop</code>: How many times loop, default forever. (optional)


'''Examples'''  
'''Examples'''  
* <code>pathfind_to_player spyder_route2_roddick</code>
* <code>play_music music_mystic_island</code>  
* <code>translated_dialog spyder_route2_roddick1</code>
* <code>start_battle player,spyder_route2_roddick</code>  


=== pause_music ===
=== play_sound ===
Pauses the currently playing music.
Plays a sound file.


'''Parameters'''  
'''Parameters'''  
* <code>None</code>
* <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'''  
'''Examples'''  
* <code>pause_music</code>
* <code>play_sound sound_confirm</code>


=== play_map_animation ===
=== print ===
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>.
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>animation_name</code>: The name of the animation to play under <code>resources/animations/tileset</code>. 
* <code>variable</code>: Prints out the value of this variable (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>npc_slug</code> to draw the animation over the character.


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


=== play_music ===
=== quarantine ===
Plays an audio file.
Quarantine infected monsters. Amount works only for "out", it takes out the amount in a random way.  


'''Parameters'''  
'''Parameters'''  
* <code>filename</code>: Music file to load (slug inside the JSON in db/sound)
* <code>value</code>: in or out
* <code>volume</code>: Number between 0.0 and 1.0. (optional)
* <code>amount</code>: number of monsters (optional)
* <code>loop</code>: How many times loop, default forever. (optional)


'''Examples'''  
'''Examples'''  
* <code>play_music music_mystic_island</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_sound ===
=== quit ===
Plays a sound file.
Completely quit the game.


'''Parameters'''  
'''Parameters'''  
* <code>filename</code>: Sound file to load (slug inside the JSON in db/sound)
* <code>None</code>
* <code>volume</code>: Number between 0.0 and 1.0. (optional)


'''Examples'''  
'''Examples'''  
* <code>play_sound sound_confirm</code>   
* <code>quit</code>   


=== print ===
=== random_battle ===
Print the current value of a game variable to the console. If no variable is specified, print out values of all game variables.
Start random battle with a random npc with a determined number of monster in a certain range of levels.


'''Parameters''' :  
'''Parameters'''  
* <code>variable</code>: Prints out the value of this variable (optional)
* <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>print</code>
* <code>random_battle 6,1,99</code>
* <code>print name_variable</code>   
 
=== random_encounter ===
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.
 
Here is an example encounter file: ''resources/db/encounter/route1.json''  


=== quarantine ===
  "slug": "route1",
Quarantine infected monsters. Amount works only for "out", it takes out the amount in a random way.
  "monsters": [
    {
      "monster": "pairagrin",
      "encounter_rate": 3.5,
      "variable": "daytime:true",
      "exp_req_mod": 1,
      "level_range": [
        2,
        4
      ]
    },


'''Parameters'''  
'''Parameters'''  
* <code>value</code>: in or out
* <code>encounter_slug</code>: Slug of the encounter list.
* <code>amount</code>: number of monsters (optional)
* <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>quarantine out</code> everything out (player's party -> if full, then box)
* <code>random_encounter route1</code>
* <code>quarantine out,5</code> eg. box contains 30 monsters <code>quarantine out,5</code>, it means 5 monsters by random
* <code>random_encounter route1,20</code>


=== quit ===
=== random_integer ===
Completely quit the game.
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>None</code>
* <code>variable</code>: Name of the variable.
* <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>quit</code>
* <code>random_integer name_variable,1,9</code>


=== random_battle ===
=== random_item ===
Start random battle with a random npc with a determined number of monster in a certain range of levels.
Pick a random item from a list and add it to the trainer's inventory.


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


'''Examples'''  
'''Examples'''  
* <code>random_battle 6,1,99</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_encounter ===
=== random_monster ===
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.
Add a monster to the specified trainer's party if there is room.
 
Here is an example encounter file: ''resources/db/encounter/route1.json'' 
 
  "slug": "route1",
  "monsters": [
    {
      "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>monster_level</code>: Level of the added monster.
* <code>total_prob</code>: Total sum of the probabilities. (optional)
* <code>trainer_slug</code>: Slug of the trainer that will receive the monster. It defaults to the current player. (optional)
* <code>rgb</code>: color (eg red > 255,0,0 > 255:0:0) - default rgb(255,255,255) (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_encounter route1</code>
* <code>random_monster 10</code>
* <code>random_encounter route1,20</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_integer ===
=== remove_collision ===
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.
Removes a collision defined by a specific label.


'''Parameters'''  
'''Parameters''' :
* <code>variable</code>: Name of the variable.
* <code>label</code>: Name of the obstacle.
* <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>random_integer name_variable,1,9</code>
* <code>remove_collision obstacle</code> (it can one added with add_collision or an existing zone in the .tmx file).


=== random_item ===
=== remove_contacts ===
Pick a random item from a list and add it to the trainer's inventory.
Remove contact from the app (Nu Phone).


'''Parameters'''  
'''Parameters''' :
* <code>item_slug</code>: Item name to look up in the item database (multiple items separated by ":").
* <code>slug</code>: slug name (e.g. "npc_maple").
* <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>remove_contacts npc_maple</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 ===
=== remove_monster ===
Add a monster to the specified trainer's party if there is room.
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>monster_level</code>: Level of the added monster.
* <code>instance_id</code>: Id of the monster to remove.
* <code>trainer_slug</code>: Slug of the trainer that will receive the monster. It defaults to the current player. (optional)
* <code>trainer_slug</code>: Slug of the trainer. If no trainer slug is passed it defaults to the current player.
* <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>get_player_monster name_variable</code>
* <code>random_monster 10,npc_maple</code>
* <code>remove_monster name_variable</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 ===
=== remove_npc ===
Removes a collision defined by a specific label.
Removes an NPC from the current map.
 
'''Parameters''' :
* <code>label</code>: Name of the obstacle.
 
'''Examples'''
* <code>remove_collision obstacle</code> (it can one added with add_collision or an existing zone in the .tmx file).
 
=== remove_contacts ===
Remove contact from the app (Nu Phone).
 
'''Parameters''' :
* <code>slug</code>: slug name (e.g. "npc_maple").
 
'''Examples'''
* <code>remove_contacts npc_maple</code>
 
=== remove_monster ===
Remove a monster from the party if the monster is there.
 
'''Parameters'''
* <code>variable</code>: Name of the variable where to store the monster id.
 
'''Examples'''
* <code>get_player_monster name_variable</code>
* <code>remove_monster name_variable</code>
 
=== remove_npc ===
Removes an NPC from the current map.


'''Parameters'''  
'''Parameters'''  
Line 1,180: Line 1,075:
* <code>remove_state</code> (it removes everything, excluding the basic ones)
* <code>remove_state</code> (it removes everything, excluding the basic ones)
* <code>remove_state JournalInfoState</code> (it removes everything, excluding the basic ones)
* <code>remove_state JournalInfoState</code> (it removes everything, excluding the basic ones)
=== remove_tech ===
Remove a specific technique from a specific monster.
'''Parameters''' 
* <code>tech_id</code>: Name of the variable where to store the tech id.
'''Examples'''
* <code>remove_tech name_variable</code>


=== rename_monster ===
=== rename_monster ===
Line 1,232: Line 1,118:


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


Line 1,261: Line 1,147:
* <code>set_bubble player,note</code> (set bubble player)
* <code>set_bubble player,note</code> (set bubble player)
* <code>set_bubble player</code> (remove bubble player)
* <code>set_bubble player</code> (remove bubble player)
=== set_code ===
Set a code and checks if it's correct or not. Case Sensitive: ATTENTION and AtTenTION are two different words.
'''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>answer</code>: The right answer to the question.
* <code>variable</code>: Where the result (right/wrong) is saved.
'''Examples'''
* <code>set_code access_code,joke,name_variable</code>


=== set_economy ===
=== set_economy ===
Line 1,307: Line 1,204:
'''Examples'''  
'''Examples'''  
* <code>set_layer 255:0:0:128</code>
* <code>set_layer 255:0:0:128</code>
=== set_money ===
Set the key and value in the money dictionary. It'll reset the previous amount.
'''Parameters'''
* <code>slug</code>: Slug name (e.g. player or NPC, etc.).
* <code>amount</code>: Amount of money
'''Examples'''
* <code>set_money player,500</code>


=== set_mission ===
=== set_mission ===
Line 1,312: Line 1,219:


'''Parameters'''  
'''Parameters'''  
* <code>character</code>: Either "player" or npc slug name (e.g. "npc_maple").
* <code>slug</code>: slug mission
* <code>slug</code>: slug mission
* <code>operation</code>: add, remove or change
* <code>operation</code>: add, remove or change
* <code>status</code>: completed, pending, failed (default pending)
* <code>status</code>: completed, pending, failed (default pending)
* <code>character</code>: slug name (e.g. "npc_maple"), default player.


'''Examples'''  
'''Examples'''  
Line 1,321: Line 1,228:
* <code>set_mission mission1,change,completed</code>
* <code>set_mission mission1,change,completed</code>


=== set_money ===
=== set_monster_flair ===
Set an amount of money for a specific slug.
Set a monster's flair to the given value.


'''Parameters'''  
'''Parameters'''  
* <code>slug</code>: Slug name (e.g. player or NPC, etc.).
* <code>variable</code>: Name of the variable where to store the monster id. If no variable is specified, all monsters are changed.
* <code>amount</code>: Amount of money (>= 0) (default 0)
* <code>category</code>: Category of the monster flair.
 
* <code>flair</code>: Name of the monster flair.
'''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'''
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>attribute</code>: Name of the attribute.
* <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'''  
Line 1,356: Line 1,241:


=== set_monster_health ===
=== 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.  
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'''  
Line 1,380: Line 1,265:
* <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_level name_variable,1</code>
=== set_monster_plague ===
Cure or infect a monster.
'''Parameters'''
* <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'''
* <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_monster_status ===
=== set_monster_status ===
Line 1,404: Line 1,302:
'''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,491: Line 1,378:


'''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>character</code>: Either "player" or npc slug name (e.g. "npc_maple").


'''Examples'''  
'''Examples'''  
Line 1,529: Line 1,416:


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id.
* <code>monster_id</code>: Id of the monster to store.  
* <code>box</code>: An existing box where the monster will be stored. (optional)
* <code>box</code>: An existing box where the monster will be stored. (optional)


Line 1,543: Line 1,430:


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


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


=== teleport ===
=== teleport ===
Line 1,565: Line 1,451:


'''Parameters'''  
'''Parameters'''  
* <code>variable</code>: Name of the variable where to store the monster id (removed).
* <code>removed</code>: Instance id (name variable).
* <code>added</code>: Slug monster or Name of the variable where to store the monster id (added).
* <code>added</code>: Slug monster.


'''Examples'''  
'''Examples'''  
Line 1,574: Line 1,460:


=== 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,591: Line 1,479:
* <code>x</code>: The X-tile coordinate 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>y</code>: The Y-tile coordinate to teleport the player to.   
* <code>trans_time</code>: The time in seconds - default 2. (optional)
* <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)
* <code>rgb</code>: color (eg red > 255,0,0 > 255:0:0) - default rgb(255,255,255) (optional)


Line 1,619: Line 1,507:
* <code>translated_dialog msgid</code>   
* <code>translated_dialog msgid</code>   


=== unlock_controls ===
=== tuxepedia_print ===
Unlock player controls
Print the current value of Tuxepedia to the console. If no monster is specified, print out values of all Tuxepedia.


'''Parameters'''  
'''Parameters'''  
* <code>None</code>
* <code>monster_slug</code>: Monster slug name (e.g. "rockitten").


'''Examples'''  
'''Examples'''  
* <code>unlock_controls</code>
* <code>tuxepedia_print</code>
* <code>tuxepedia_print rockitten</code>


=== update_tile_properties ===
=== unlock_controls ===
Update tile properties. Enable movement and/or the moverate. '''moverate 0 = not accessible'''. The surface keys supported are: '''surfable''', '''walkable''' and '''climbable'''.
Unlock player controls


'''Parameters'''  
'''Parameters'''  
* <code>label</code>: Name of the property
* <code>None</code>
* <code>moverate</code>: Value of the moverate (eg 1 equal moverate, default 1)


'''Examples'''  
'''Examples'''  
* <code>update_tile_properties surfable,0.5</code>   
* <code>unlock_controls</code>   


=== variable_math ===
=== variable_math ===
Line 1,678: Line 1,566:


'''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,697:
     <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)