Difference between revisions of "Morphing"
Jaskrendix (talk | contribs) |
Jaskrendix (talk | contribs) |
||
| Line 115: | Line 115: | ||
== Evolution methods == | == Evolution methods == | ||
Evolution methods and how you can recognize | Evolution methods and how you can recognize them in the JSON file. | ||
=== '''standard''' === | |||
Evolves after reaching a certain level. | |||
{ | |||
"monster_slug": "monster_slug", | |||
"at_level": 24 | |||
} | |||
=== '''item''' === | |||
Evolves after being exposed to a certain item (Morph Items). | |||
{ | |||
"monster_slug": "monster_slug", | |||
"item": "item_slug" | |||
} | |||
=== '''gender''' === | |||
Evolves only if it's of a certain gender (e.g. '''male''', '''female''', '''neuter'''). | |||
{ | |||
"monster_slug": "monster_slug", | |||
"gender": "male" | |||
} | |||
=== '''location''' === | |||
Evolves only if it's inside of a building or outside of it. | |||
{ | |||
"monster_slug": "monster_slug", | |||
"inside": true | |||
} | |||
=== '''variables''' === | |||
Evolves only if the specified game variables match the required values. | |||
{ | |||
"monster_slug": "monster_slug", | |||
"variables": [ | |||
{"daytime": "false"}, | |||
{"season": "summer"} | |||
] | |||
} | |||
=== '''stat''' === | |||
Evolves only if a certain stat comparison is met. | |||
{ | |||
"monster_slug": "monster_slug", | |||
"stats": "speed:greater_than:dodge" | |||
} | |||
=== '''tech''' === | |||
Evolves only if a party member knows a specific technique. | |||
{ | |||
"monster_slug": "monster_slug", | |||
"tech": "ram" | |||
} | |||
=== '''steps''' === | |||
Evolves only after walking a certain number of steps. | |||
{ | |||
"monster_slug": "monster_slug", | |||
"steps": 1000 | |||
} | |||
=== '''bond''' === | |||
Evolves only if the bond value comparison is met. | |||
{ | |||
"monster_slug": "monster_slug", | |||
"bond": "equals:100" | |||
} | |||
=== '''party''' === | |||
Evolves only if certain monsters are present in the party. | |||
{ | |||
"monster_slug": "monster_slug1", | |||
"party": ["monster_slug2", "monster_slug3", "monster_slug4"] | |||
} | |||
=== '''taste_cold''' === | |||
Evolves only if it has a specific cold taste preference. | |||
{ | |||
"monster_slug": "monster_slug", | |||
"taste_cold": "mild" | |||
} | |||
=== '''taste_warm''' === | |||
Evolves only if it has a specific warm taste preference. | |||
{ | |||
"monster_slug": "monster_slug", | |||
"taste_warm": "peppy" | |||
} | |||
=== '''moves''' === | |||
Evolves only if certain moves are among the learned ones. | |||
{ | |||
"monster_slug": "monster_slug", | |||
"moves": ["ram", "dash"] | |||
} | |||
=== '''element''' === | |||
Evolves only if the monster matches a specific elemental type. | |||
{ | { | ||
"monster_slug": "monster_slug", | |||
"element": "fire" | |||
} | |||
=== '''acquisition''' === | |||
Evolves only if the monster was obtained in a specific way (e.g. '''caught''', '''bred''', '''gifted''', '''traded'''). | |||
{ | |||
"monster_slug": "monster_slug", | |||
"acquisition": "gifted" | |||
} | |||
Revision as of 11:21, 5 September 2025
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 them in the JSON file.
standard
Evolves after reaching a certain level.
{
"monster_slug": "monster_slug",
"at_level": 24
}
item
Evolves after being exposed to a certain item (Morph Items).
{
"monster_slug": "monster_slug",
"item": "item_slug"
}
gender
Evolves only if it's of a certain gender (e.g. male, female, neuter).
{
"monster_slug": "monster_slug",
"gender": "male"
}
location
Evolves only if it's inside of a building or outside of it.
{
"monster_slug": "monster_slug",
"inside": true
}
variables
Evolves only if the specified game variables match the required values.
{
"monster_slug": "monster_slug",
"variables": [
{"daytime": "false"},
{"season": "summer"}
]
}
stat
Evolves only if a certain stat comparison is met.
{
"monster_slug": "monster_slug",
"stats": "speed:greater_than:dodge"
}
tech
Evolves only if a party member knows a specific technique.
{
"monster_slug": "monster_slug",
"tech": "ram"
}
steps
Evolves only after walking a certain number of steps.
{
"monster_slug": "monster_slug",
"steps": 1000
}
bond
Evolves only if the bond value comparison is met.
{
"monster_slug": "monster_slug",
"bond": "equals:100"
}
party
Evolves only if certain monsters are present in the party.
{
"monster_slug": "monster_slug1",
"party": ["monster_slug2", "monster_slug3", "monster_slug4"]
}
taste_cold
Evolves only if it has a specific cold taste preference.
{
"monster_slug": "monster_slug",
"taste_cold": "mild"
}
taste_warm
Evolves only if it has a specific warm taste preference.
{
"monster_slug": "monster_slug",
"taste_warm": "peppy"
}
moves
Evolves only if certain moves are among the learned ones.
{
"monster_slug": "monster_slug",
"moves": ["ram", "dash"]
}
element
Evolves only if the monster matches a specific elemental type.
{
"monster_slug": "monster_slug",
"element": "fire"
}
acquisition
Evolves only if the monster was obtained in a specific way (e.g. caught, bred, gifted, traded).
{
"monster_slug": "monster_slug",
"acquisition": "gifted"
}