Template:TypeEffectiveness

{| width="70%" align="center" style="border: 3px solid #; background: #;" cellpadding="0" {| width="100%" align="center" style="background: #;" ! width="100px" | Weak to:
 * - valign="top" align="center"
 * - valign="center"
 * align="left" |                <span align="left" style="display:;"> <span align="left" style="display:;">

{| width="100%" align="center" style="background: #;" ! width="100px" | Immune to:
 * }
 * - valign="center"
 * align="left" |<span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;"> <span align="left" style="display:;">


 * }
 * style=" background: #; border: 1px solid #; line-height:10px;" colspan="2" |
 * }
 * }

Type effectiveness chart
Template code to copy/paste into other pages:

Add or remove types from the argument list as needed. Type names must be capitalized (see next section for why). Neutral types (with normal effectiveness) can be omitted for brevity. Effectiveness is coded in percentages, so: 400=4×, 300=3×, 200=2×, 150=1½×, 100=1×, 50=½×, 25=¼×, 12.5=⅛×, and 0=0×.

Use this link to quickly determine a puppet's type weaknesses and strengths. However, do note that this application doesn't take abilities into account.

Ability exceptions
If the puppet in question has an ability that grants them a specific type resistance or immunity, like or, then extra code will be required. Below is an example:

To have these notes, the parameter notes must be present and set to yes. All available parameters are as follows:
 * ghost= Is the Puppet part Ghost-type?
 * flying= Is the Puppet part Flying-type?
 * haslevitate= Use if Levitate is one of the Puppet's possible abilities. Treat default type effectiveness like the Puppet doesn't have Levitate.
 * levitate= Use if Levitate is the Puppet's only Ability.
 * hasflashfire= Use if Flash Fire is one of the Puppet's possible abilities. Treat default type effectiveness like the Puppet doesn't have Flash Fire.
 * flashfire= Use if Flash Fire is the Puppet's only Ability.
 * hasvoltabsorb= Use if Volt Absorb is one of the Puppet's possible abilities. Treat default type effectiveness like the Puppet doesn't have Volt Absorb.
 * voltabsorb= Use if Volt Absorb is the Puppet's only Ability.
 * haswaterabsorb= Use if Water Absorb is one of the Puppet's possible abilities. Treat default type effectiveness like the Puppet doesn't have Water Absorb.
 * waterabsorb= Use if Water Absorb is the Puppet's only Ability.
 * haslightningrod= Use if Lightningrod is one of the Puppet's possible abilities. Treat default type effectiveness like the Puppet doesn't have Lightningrod.
 * lightningrod= Use if Lightningrod is the Puppet's only Ability.
 * haswallofice= Use if Wall of Ice is one of the Puppet's possible abilities. Treat default type effectiveness like the Puppet doesn't have Wall of Ice.
 * wallofice= Use if Wall of Ice is the Puppet's only Ability.
 * newillusion= Illusion-type's new effectiveness Format as percentage like types listed in the above section. Must be used if |ghost is used.
 * newdark= Dark-type's new effectiveness Format as percentage like types listed in the above section. Must be used if |ghost is used.
 * newearth= Earth-type's new effectiveness Format as percentage like types listed in the above section. Must be used if |flying, |haslevitate, or |levitate is used.
 * newfire= Fire-type's new effectiveness Format as percentage like types listed in the above section. Must be used if |hasflashfire, |flashfire, |haswallofice, or |wallofice is used.'''
 * newwind= Wind-type's new effectiveness Format as percentage like types listed in the above section. Must be used if |hasvoltabsorb, |voltabsorb, |haslightningrod, or |lightningrod is used.'''
 * newwater= Water-type's new effectiveness Format as percentage like types listed in the above section. Must be used if |haswaterabsorb, or |waterabsorb is used.'''
 * newice= Ice-type's new effectiveness Format as percentage like types listed in the above section. Must be used if |haswallofice or |wallofice is used.'''
 * custom= Custom message that is needed that doesn't fit any of the above. Format as yes to use.
 * custommes= The custom message Must be used if |custom is used.