summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/data/effect_commands.asm11
-rw-r--r--src/engine/effect_functions.asm19
2 files changed, 27 insertions, 3 deletions
diff --git a/src/data/effect_commands.asm b/src/data/effect_commands.asm
index 1e9ed69..c5c0ec9 100644
--- a/src/data/effect_commands.asm
+++ b/src/data/effect_commands.asm
@@ -8,9 +8,16 @@ EffectCommands: ; 186f7 (6:46f7)
; db $00
; Commands are associated to a time or a scope (CommandType) that determines when their function is executed during the turn.
+; For example type $03 is executed right before dealing damage while type $09 appears to be AI related and is executed later.
; Similar move effects of different Pokemon cards all point to a different command list,
; even though in some cases their commands and function pointers match.
+; Function name examples
+; Poison50PercentEffect ; generic effect shared by multiple moves.
+; KakunaStiffenEffect ; unique effect from a move known by multiple cards.
+; AcidEffect ; unique effect from a move known by a single card
+; SpitPoison_Poison50PercentEffect ; unique effect from a move known by a single card. This effect is made of more than one command.
+
EkansSpitPoisonEffectCommands:
dbw $03, SpitPoison_Poison50PercentEffect
dbw $09, $46f0
@@ -86,11 +93,11 @@ VenonatLeechLifeEffectCommands:
db $00
ScytherSwordsDanceEffectCommands:
- dbw $03, $47d0
+ dbw $03, SwordsDanceEffect
db $00
ZubatSupersonicEffectCommands:
- dbw $03, $47dc
+ dbw $03, ZubatSupersonicEffect
db $00
ZubatLeechLifeEffectCommands:
diff --git a/src/engine/effect_functions.asm b/src/engine/effect_functions.asm
index 5034151..d8e4789 100644
--- a/src/engine/effect_functions.asm
+++ b/src/engine/effect_functions.asm
@@ -184,7 +184,24 @@ KakunaStiffenEffect: ; 2c7a0 (b:47a0)
ret
; 0x2c7b4
-INCBIN "baserom.gbc",$2c7b4,$2c836 - $2c7b4
+INCBIN "baserom.gbc",$2c7b4,$2c7d0 - $2c7b4
+
+SwordsDanceEffect: ; 2c7d0 (b:47d0)
+ ld a, [wTempTurnDuelistCardId]
+ cp SCYTHER
+ ret nz
+ ld a, SUBSTATUS1_NEXT_TURN_DOUBLE_DAMAGE
+ call ApplySubstatus1ToDefendingCard
+ ret
+; 0x2c7dc
+
+ZubatSupersonicEffect: ; 2c7dc (b:47dc)
+ call Confusion50PercentEffect
+ call nc, Func_2c09c
+ ret
+; 0x2c7e3
+
+INCBIN "baserom.gbc",$2c7e3,$2c836 - $2c7e3
; an exact copy of KakunaStiffenEffect
MetapodStiffenEffect: ; 2c836 (b:4836)