summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Add-Physical-Special-Split.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/Add-Physical-Special-Split.md b/Add-Physical-Special-Split.md
index 8a7940b..6506408 100644
--- a/Add-Physical-Special-Split.md
+++ b/Add-Physical-Special-Split.md
@@ -129,6 +129,13 @@ if ((gBattleResources->flags->flags[battlerIdAtk] & RESOURCE_FLAG_FLASH_FIRE) &&
damage = (15 * damage) / 10;
```
+### Thick Fat
+Similarly to Flash Fire, Thick Fat only affects Fire and Ice moves, which are all special. For that reason, the damage calculation divides the special attack of the attacking Pokemon in half to reduce the damage taken. We will need to change this to reduce the base power of the move instead, so that it can apply to any physicality or move of the affected types: (**src/pokemon.c**)
+```c
+if (defender->ability == ABILITY_THICK_FAT && (type == TYPE_FIRE || type == TYPE_ICE))
+ gBattleMovePower /= 2;
+```
+
The next thing we need to do is change the arguments passed to IS_TYPE_PHYSICAL and IS_TYPE_SPECIAL. Originally, they were passed a type argument, but now we want to pass a move argument. There is one instance of each of these functions in **src/pokemon.c**, and there are three more in **src/battle_script_commands.c**. The ones in **pokemon.c** should be changed from IS_TYPE_PHYSICAL(type) and IS_TYPE_SPECIAL(type) to IS_TYPE_PHYSICAL(gBattleMoves[move]) and IS_TYPE_SPECIAL(gBattleMoves[move]). The first one in **battle_script_commands.c** can also be changed like this, but the argument names are different for the second and third one. The second one looks like this originally:
```c
IS_TYPE_PHYSICAL(moveType)