Morphing
Most monsters can “morph”, evolving from one variety to another. This morphing is typically one-way and permanent, but that does not have to be the case. No monster permanently morphs more than twice; some monsters only morph once or never.
The process by which a tuxemon enters a new Life Stage. Can be permanent or temporary.
Discussion on Github
Has some thoughts that haven't been reproduced here yet.
Current implementation
Morphing occurs immediately for a monster when activated from a terminal.
Proposed procedures
After battle
At the end of each battle the player wins, check each of the player’s monsters that increased in level during that battle. If one of them has a morph-option specified that is “triggered by: level”, check the “trigger” for that morph option. If the number in the trigger is less than or equal to the monster’s level, check any further conditions. If those conditions are also met, play the animation. If the player presses “cancel” at any point during the animation, end this process and check the next eligible monster, if any. The current monster does not morph. Otherwise, delete the monster and replace it with the monster listed as “destination” under the morph-option. The new monster has the same position in the party, experience point total and custom name (if any) as the old monster. Check the next eligible monster, if any.
When an item is used
If an item from the Morph Items category is used on a monster, check if that monster has a morph-option specified that is "triggered by: item". -- If it doesn't, show the dialogue: "It doesn't seem to respond." If it is triggered by item, check if the "trigger" for that morph option is the item's name. -- If it doesn't, show the dialogue: "It doesn't seem to respond to that item." If the item does match the trigger, check any further conditions. If those conditions are also met, play the animation. If the player presses “cancel” at any point during the animation, end this process and check the next eligible monster, if any. The current monster does not morph. Otherwise, delete the monster and replace it with the monster listed as “destination” under the morph-option. The new monster has the same position in the party, experience point total and custom name (if any) as the old monster.
Potential animation
Mock up: https://wiki.tuxemon.org/index.php?title=File:Jl2ESeg.gif
- Fade in from black to:
- A background with the Chinese character for the Type that monster belongs to, along with the front sprite of that monster.
- The dialogue: “NAME is morphing!” appears. The monster’s Cry sounds.
- Flash of white.
- Music plays. An animation related to the Type plays, as the monster shakes, eventually hiding the monster.
- Flash of white.
- The Type animation is replaced with a still GIF related to the Type, plus the front sprite of the new morphed form. The new monster’s Cry sounds.
- A final sound effect plays. Dialogue shows based on type:
- -- “NAME rose from the rubble” (Earth type)
- -- “NAME emerged from the flames”
- -- “NAME formed from the water”
- -- “NAME was crafted” (Metal type)
- -- “NAME has sprouted” (Wood type)
- Fade to black.
Methods of morphing
So far, there have been four conditions for morphing suggested:
• The monster reaches or exceeds a particular level • The monster reaches or exceeds a particular level, and meets another condition • The monster has an item used on it; the morph is permanent • The monster has an item used on it; the morph is temporary
A lot of the conditions depend on systems that haven’t been implemented yet (and may not be wanted to be implemented):
• Gender • Stat differentiation within the same variety • Happiness • Learning other techniques
Others are presumably able to be implemented without other systems:
• When a monster of a particular type is in their party • When they are in a particular location
In one case, a monster would be eligible for two morphs at the same time: Vivipere reaching level 25 or higher. That is because Vivipere’s gimmick is that you have to figure out what its conditions for morphing are. To morph into Vivitron, it has to reach level 25 or higher. But it morphs into Vivisource or Viviteel at level 24 or higher (which one depends on gender), so at level 25 it would be eligible for Vivisource/Viviteel and Vivitron. Therefore there has to be some way to establish an order of priority if a monster is eligible for two or more morphs.
Leveling up
In this model, a tuxemon changes Life Stage when they reach a certain level or, if their morph is stopped then, at any subsequent level.
Conditional morphing
In this model, a tuxemon changes Life Stage when some special condition is met. They may also be required to be a certain level.
- Tuxemon of different genders may morph into different tuxemon, or only one gender may morph. For example, Aerodin morph from level 24 - into Aerostag if male and Aerodeer if female.
- Tuxemon may morph when levelling up, but only if a tuxemon of a particular Type is in the same party. For example, Floodby requires another Water type to be in their team.
- Tuxemon may morph when levelling up, but into a different tuxemon depending on their Stats. For example, Katacoon evolves into Sumchon if its Armour Stat is higher than its Melee Stat, and into Bugnin if the opposite is true. This kind of morphing requires Stat increases from Experiences to be implemented, which is not currently the case.
- Fuzzlet was intended by its creator to morph into Fuzzina when it became happy enough, but happiness is not a part of the Tuxemon mechanics.
- Tuxemon may morph when leveling up in a particular location.
- Tuxemon may morph when leveling up if they know a particular technique.
Vivipere's gimmick is that its morphs are all conditional. It morphs into Vivitron at level 25, which does not sound conditional, except that it morphs into Vivisource or Viviteel (depending on gender) at level 24, meaning that it would only morph into Vivitron if it is deliberately stopped from morphing at level 24.
Item morphing
Some morph-causing items are consumed when used; others are not. In The Spyder in the Cathedral, the default plot, the player is given a choice between five tuxemon - the "new releases":
They have a special feature, as does Botbot, that they can be made to morph by exposing them to an item purchased from a Pillar. The morph lasts for one battle, and consumes the item. This means that trainers do get more variety (since there are at least two morph options for each new release tuxemon), but have to keep spending money.
Eventually the protagonist gets access to Booster Tech, an open source tool that's re-usable and where the morph lasts indefinitely. The Booster Tech can also be used to revert the morph, returning the tuxemon to the previous life stage.
Evolution methods
Evolution methods and how you can recognize it in the JSON file.
- standard, where the tuxemon evolves after reaching a certain level;
"evolutions": [ { "at_level": 24, "monster_slug": "monster_slug" } ],
- item, where the tuxemon evolves after being exposed to a certain item (Morph Items);
"evolutions": [ { "at_level": 0, "monster_slug": "monster_slug" "item": "item_slug" } ],
"evolutions": [ { "at_level": 0, "monster_slug": "monster_slug", "gender": "male" } ],
- location, where the tuxemon evolves only if it's inside of a building or outside of it (eg. true or false);
"evolutions": [ { "at_level": 0, "monster_slug": "monster_slug", "inside": true } ],
- variables, where the tuxemon evolves only if a certain variable is True (eg. Event_Reference#Variables, etc.);
"evolutions": [ { "at_level": 0, "monster_slug": "monster_slug", "variable": "daytime:false" } ],
- stat, where the tuxemon evolves only if a certain stat (melee, speed, armour, dodge, hp or ranged) is less_than, less_or_equal, greater_than, greater_or_equal, equals or not_equals than the other one;
"evolutions": [ { "at_level": 0, "monster_slug": "monster_slug", "stats": "speed:greater_than:dodge" } ],
- tech, where the tuxemon evolves only if in the party there is someone with a specific technique (eg. Ram, etc.);
"evolutions": [ { "at_level": 0, "monster_slug": "monster_slug", "tech": "ram" } ],
- steps, where the tuxemon evolves only if it walks a certain amount (eg. 1000, etc.);
"evolutions": [ { "at_level": 0, "monster_slug": "monster_slug", "steps": "1000" } ],
- bond, where the tuxemon evolves only if it has a certain bond value (bond range from 0 to 100) is less_than, less_or_equal, greater_than, greater_or_equal, equals or not_equals of the value;
"evolutions": [ { "at_level": 0, "monster_slug": "monster_slug", "bond": "equals:100" } ],
- party where the tuxemon evolves only if there is a certain monster in the party (WIP);
- taste where the tuxemon evolves only if it has a certain taste (WIP);