summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormeekrhino <challenert@gmail.com>2021-08-18 16:02:48 -0500
committermeekrhino <challenert@gmail.com>2021-08-18 16:02:48 -0500
commit28ad05e18e924535903fe50032c4dc5c10c57155 (patch)
treebf7edd46aaf564401da2c6b6d8aeefba1e6e9ef6
parent0859c3579426fa08e481f8879e5cccdff4219e2d (diff)
Updated Add Physical Special Split (markdown)
-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)