;Format Sample
;[xxxx]			;User-defined Name (Max:31 chars)
;Mode = 1		;1:Fixcode; 2:Fixvalue; 3:Mask; 4:Palette; 5:Double Frame Buffer
;Type = 0		;0:Begin 1:End
;Index = 0		;Index
;Address = x1F8000	;ROM Address
;MemAddress = x2000	;RAM Address
;Fixcode = 0		;Mode1: Fixed Rom Code; Mode2: Fixed Value
;DelayFrame = 0		;Delay Frame
;FadeFrame = 0		;Fade Frame 0:Off
;DarkEnable0 = 0	;0:Off, 1:On (for Normal Mode)
;ReduceEnable0 = 0	;0:Off, 1:On (for Normal Mode)
;MotionBEnable0 = 0	;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Normal Mode)
;Dark0 = 10		;0~10 (for Normal Mode)
;ReduceColorR0 = 0	;0~31 (for Normal Mode)
;ReduceColorG0 = 0	;0~31 (for Normal Mode)
;ReduceColorB0 = 0	;0~31 (for Normal Mode)
;MotionBlur0 = 31	;0~31 (for Normal Mode)
;DarkEnable1 = 0	;0:Off, 1:On (for Green Mode)
;ReduceEnable1 = 0	;0:Off, 1:On (for Green Mode)
;MotionBEnable1 = 0	;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Green Mode)
;Dark1 = 10		;0~10 (for Green Mode)
;ReduceColorR1 = 0	;0~31 (for Green Mode)
;ReduceColorG1 = 0	;0~31 (for Green Mode)
;ReduceColorB1 = 0	;0~31 (for Green Mode)
;MotionBlur1 = 31	;0~31 (for Green Mode)
;PaletteX = c31,31,31	;X:0~15, cR,G,B (0~31)
[SaveLimit@Unknown_save_limit]
Mode = 12
Type = 1
Index = {hex sGameData}
Address = {hex sGameDataEnd}

;[Fix_print]
;Mode = 1
;Address = 0x40130
;Fixcode = a3: 00 00 00

[disable_print@Forbid_printing_Pokedex]
Mode = 1
Address = {hex @+1}
Fixcode = {PATCH +1}

;[Fix pokemon]
;Mode = 2
;Address = 0x1551
;Type = 3

[MiniGame@Bypass_need_Pikachu_with_Surf_for_minigame]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}

[MiniGame-HighScorePC@Bypass_need_Pikachu_with_Surf_for_high_score]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}

[send_send_buf2@Wireless_WaitLinkTransfer]
Mode = 2
Address = {HEX @}
Type = 29

[send_send_buf2_ret@Wireless_WaitLinkTransfer_ret]
Mode = 2
Address = {HEX @}
Type = 30

[send_byt2@Wireless_start_exchange]
Mode = 2
Address = {HEX @+5}
Type = 31

[send_byt2_ret@Wireless_end_exchange]
Mode = 2
Address = {HEX @}
Type = 32

[send_dummy@Wireless_start_send_zero_bytes]
Mode = 2
Address = {HEX @}
Type = 33

[send_dummy_end@Wireless_end_send_zero_bytes]
Mode = 2
Address = {HEX @}
Type = 34

[FIGHT@Wireless_net_delay_1]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}

[FIGHT2@Wireless_net_delay_2]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}

[Network10@Wireless_net_delay_3]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}

[Network11@Wireless_net_delay_4]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}

[Network424@Wireless_ExchangeBytes_party_structs]
Mode = 2
Address = {HEX @}
Type = 4

[Network200@Wireless_ExchangeBytes_patch_lists]
Mode = 2
Address = {HEX @}
Type = 4

;[RND_HACK]
;Mode = 1
;Address = 0x3E70
;Fixcode = a10: 3E 3D 00 00 00 00 00 00 00 00 

;[PLAY_HACK]
;Mode = 2
;Address = 0x2238
;Type = 5


;[PLAY_MUTE]
;Mode = 1
;Address = 0x150
;Fixcode = 0xC9

[PLAY_MUTE@Unknown_PlayPikachuSoundClip_end]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}

[PLAY_HACK@Unknown_PlayPikachuPCM]
Mode = 2
Address = {HEX @}
Type = 6

[PLAY_NEW@Unknown_PlayPikachuSoundClip_start]
Mode = 2
Address = {HEX @}
Type = 21

[Network_RECHECK@Wireless_net_recheck]
Mode = 2
Address = {HEX @}
Type = 7

[Network_STOP@Wireless_net_stop]
Mode = 2
Address = {HEX @}
Type = 8

[Network_END@Wireless_net_end]
Mode = 2
Address = {HEX @}
Type = 9

[Network_RESET@Unknown_network_reset]
Mode = 2
Address = {HEX @}
Type = 10

[linkCable fake begin@Link_fake_connection_status]
Mode = 2
Address = {HEX @}
Type = 16

[linkCable fake end@Wireless_prompt]
Mode = 2
Address = {HEX @}
Type = 17  
  
[linkCable block input@Wireless_TryQuickSave_block_input]
Mode = 2
Address = {HEX @+5}
Type = 18

;[save game start]
;Mode = 2
;Address = 0x5A84
;Type = 19

[save game end@Trade_save_game_end]
Mode = 2
Address = {HEX @}
Type = 20

[Change_MSG@Change_link_closed_inactivity_message]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH_ +1 20}

[fight_ret@BattleRandom_ret]
Mode = 1
Address = {hex @}
Fixcode = {PATCH}

[fight_ret_c@Unknown_BattleRandom_ret_c]
Mode = 2
Address = {hex @}
Type = 98

;Mem Write: pc32 = 0xf992d addr = 0xc634 value = 0xe
;Mem Write: pc32 = 0xf9e51 addr = 0xc635 value = 0x1
[FPA 031801 Begin1@Reduce_intro_scene_flashing_0E]       
Mode = 3                   
Type = 0                   
Address = {hex @}         
MotionBEnable0 = 3         
MotionBlur0 = 28     
ConditionType = 0                    
ConditionValueA = {dws_ wYellowIntroCurrentScene}    
ConditionValueB = {dws_ ==                      }      
ConditionValueC = {dws_ 0x0e                    }      

;34 6F 26 00
;Mem Write: pc32 = 0xf9e51 addr = 0xc635 value = 0x33   
[FPA 031801 End1@Stop_reducing_intro_scene_flashing_0E]                
Mode = 3                         
Type = 1                         
Address = {hex @}                
ConditionType = 0                
ConditionValueA = {dws_ wYellowIntroCurrentScene wYellowIntroSceneTimer}     
ConditionValueB = {dws_ ==                       ==                    }     
ConditionValueC = {dws_ 0x0e                     0x33                  }     
                      



;rsm095822 
;Mem Write: pc32 = 0xf9d8b addr = 0xc635 value = 0x28  
;30                                                                   
[FPA 031801 Begin2@Reduce_intro_scene_flashing_0F]                                                                         
Mode = 3                                                                                
Type = 0                                                                                
Address = {hex @}                                                                    
MotionBEnable0 = 3                                                                      
MotionBlur0 = 4                                                                        
ConditionType = 0                                                                    
ConditionValueA = {dws_ wYellowIntroCurrentScene}                                                          
ConditionValueB = {dws_ ==                      }                                                          
ConditionValueC = {dws_ 0x0f                    }  

                              
[FPA 031801 End2@Stop_reducing_intro_scene_flashing_0F]             
Mode = 3                      
Type = 1                      
Address = {Hex @} 
ConditionType = 0                             
ConditionValueA = {dws_ wYellowIntroCurrentScene}         
ConditionValueB = {dws_ ==                      }         
ConditionValueC = {dws_ 0x0f                    } 

;222222aaaaaaaaaaaaaaaa: pc32 = 0xf984b addr = 0xffb3 value = 0x0               
;000f984bh: F0 B3 E6 0B                                        
[FPA 031801 End3@Stop_Reducing_intro_scene_flashing]                                                         
Mode = 3                                                                  
Type = 1                                                                  
Address = {hex @}                                                         
ConditionType = 11                                                        
ConditionValueA = {dws_ wYellowIntroCurrentScene  00  wYellowIntroCurrentScene}                                   
ConditionValueB = {dws_ ==                        ||  ==                      }                                   
ConditionValueC = {dws_ 0x0e                      00  0x0f                    }                                   
                                                                          

; The effect_no decide which animation will be played.                        
; So we use it as a condition value.  The address of effect_no is 0xd076      
; a7 c0 3e 05 ea                                                              
;	and	a                                A7                                     
;	ret	nz                               C0                                     
;                                                                             
;	ld	a,5                              3E 05                                  
;	ld	(anime_buf),a                    EA                                     
;                                                                             
;	                                                                            
;effect_select_rdy:                                                           
;	ld	(effect_no),a          						                                      
;                                                                             
;	call	put_wait                                                              
;                                                                             
;	ld	a,B_EFFECT_SELECT                                                       



;rsm002551    
;Mem Write: pc32 = 0x781c5 addr = 0xd086 value = 0x3      
;17 --13     
;No151 Mega Punch            
[FPA 001 Begin@Reduce_move_anim_flashing_Mega_Punch_Explosion_Self_Destruct]                       
Mode = 3                              
Type = 0                              
Address = {hex @}                     
MotionBEnable0 = 3                    
MotionBlur0 = 11                       
ConditionType = 11                     
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID  00  wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID  00  wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}             
ConditionValueB = {dws_ ==            ==              ==              ==              ==              ==            ||  ==            ==              ==              ==              ==            ||  ==            ==              ==              ==              ==          }          
ConditionValueC = {dws_ M_CHAR        E_CHAR          G_CHAR          A_CHAR          P_CHAR          MEGA_PUNCH    00  E_CHAR        X_CHAR          P_CHAR          L_CHAR          MEGA_PUNCH    00  S_CHAR        E_CHAR          L_CHAR          F_CHAR          MEGA_PUNCH  }          
                                      
[FPA 001 End@Stop_reducing_move_anim_flashing_Mega_Punch]                         
Mode = 3                              
Type = 1                              
Address = {hex @}                 
ConditionType = 0                     
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID}          
ConditionValueB = {dws_ ==            ==              ==              ==              ==              ==          }          
ConditionValueC = {dws_ M_CHAR        E_CHAR          G_CHAR          A_CHAR          P_CHAR          MEGA_PUNCH  }   

;rsm103725   
;Mem Write: pc32 = 0x781c5 addr = 0xd086 value = 0x3  
;No117  Guillotine                 
[FPA 002 Begin@Reduce_move_anim_flashing_Guillotine]                       
Mode = 3                              
Type = 0                              
Address = {hex @}                     
MotionBEnable0 = 3                    
MotionBlur0 = 7                       
ConditionType = 0                     
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}           
ConditionValueB = {dws_ ==            ==              ==              ==              ==          }           
ConditionValueC = {dws_ G_CHAR        U_CHAR          I_CHAR          L_CHAR          GUILLOTINE  }           
                                      
[FPA 002 End@Stop_reducing_move_anim_flashing_Guillotine]                         
Mode = 3                              
Type = 1                              
Address = {hex @}               
ConditionType = 0                     
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}           
ConditionValueB = {dws_ ==            ==              ==              ==              ==          }           
ConditionValueC = {dws_ G_CHAR        U_CHAR          I_CHAR          L_CHAR          GUILLOTINE  }      


;rsm142438   
;17 --13 
;No150 Mega Kick                        
[FPA 003 Begin@Reduce_move_anim_flashing_Mega_Kick]                       
Mode = 3                              
Type = 0                              
Address = {hex @}                     
MotionBEnable0 = 3                    
MotionBlur0 = 10                      
ConditionType = 0                     
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID}         
ConditionValueB = {dws_ ==            ==              ==              ==              ==              ==          }         
ConditionValueC = {dws_ M_CHAR        E_CHAR          G_CHAR          A_CHAR          K_CHAR          MEGA_KICK   }         
                                      
[FPA 003 End@Stop_reducing_move_anim_flashing_Mega_Kick]                         
Mode = 3                              
Type = 1                              
Address = {hex @}               
ConditionType = 0                     
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID}            
ConditionValueB = {dws_ ==            ==              ==              ==              ==              ==          }            
ConditionValueC = {dws_ M_CHAR        E_CHAR          G_CHAR          A_CHAR          K_CHAR          MEGA_KICK   }    

;rsm154217   blizzard   
;No131                     
[FPA 004 Begin@Reduce_move_anim_flashing_Blizzard]                           
Mode = 3                                  
Type = 0                                  
Address = {hex @}                         
MotionBEnable0 = 3                        
MotionBlur0 = 11                         
ConditionType = 0                         
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}                 
ConditionValueB = {dws_ ==            ==              ==              ==              ==          }                 
ConditionValueC = {dws_ B_CHAR        L_CHAR          I_CHAR          Z_CHAR          BLIZZARD    }                 
                                          
[FPA 004 End@Stop_reducing_move_anim_flashing_Blizzard]                             
Mode = 3                                  
Type = 1                                  
Address = {hex @}                        
ConditionType = 0                         
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}          
ConditionValueB = {dws_ ==            ==              ==              ==              ==          }          
ConditionValueC = {dws_ B_CHAR        L_CHAR          I_CHAR          Z_CHAR          BLIZZARD    }          



;rsm163638       bubblebeam 
;No123                    
[FPA 005 Begin@Reduce_move_anim_flashing_Bubblebeam]                       
Mode = 3                              
Type = 0                              
Address = {hex @}                     
MotionBEnable0 = 3                    
MotionBlur0 = 15                       
ConditionType = 0                     
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}         
ConditionValueB = {dws_ ==            ==              ==              ==              ==          }         
ConditionValueC = {dws_ B_CHAR        U_CHAR          B_CHAR          B_CHAR          BUBBLEBEAM  }         
                                      
[FPA 005 End@Stop_reducing_move_anim_flashing_Bubblebeam]                         
Mode = 3                              
Type = 1                              
Address = {hex @}              
ConditionType = 0                     
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}          
ConditionValueB = {dws_ ==            ==              ==              ==              ==          }          
ConditionValueC = {dws_ B_CHAR        U_CHAR          B_CHAR          B_CHAR          BUBBLEBEAM  }    

;Mem Write: pc32 = 0xc2 addr = 0xcfd1 value = 0x3f
;Pallte Write: pc32 =00078e79 00000048 e4         
;No116            hyper beam                    
[FPA 006 Begin@Reduce_move_anim_flashing_Hyper_Beam]                            
Mode = 3                                   
Type = 0                                   
Address = {hex @}                       
MotionBEnable0 = 3                         
MotionBlur0 = 6                            
ConditionType = 0                          
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wAnimationID}           
ConditionValueB = {dws_ ==            ==              ==              ==          }                
ConditionValueC = {dws_ H_CHAR        Y_CHAR          P_CHAR          HYPER_BEAM  }   

;rsm112921       thunderbolt   
;15 -- 13  
;No57 thunderbolt                
[FPA 007 Begin@Reduce_move_anim_flashing_Thunderbolt]                                
Mode = 3                                       
Type = 0                                       
Address = {hex @}                              
MotionBEnable0 = 3                             
MotionBlur0 = 13 
ConditionType = 0                              
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}                
ConditionValueB = {dws_ ==            ==              ==              ==              ==          }                    
ConditionValueC = {dws_ T_CHAR        H_CHAR          U_CHAR          N_CHAR          THUNDERBOLT }                    
                                              
[FPA 007 End@Stop_reducing_move_anim_flashing_Thunderbolt]                                  
Mode = 3                                       
Type = 1                                       
Address = {hex @} 
ConditionType = 0                  
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}  
ConditionValueB = {dws_ ==            ==              ==              ==              ==          }  
ConditionValueC = {dws_ T_CHAR        H_CHAR          U_CHAR          N_CHAR          THUNDERBOLT }  
;
;rsm130806      haze   
;No40 haze                   
[FPA 008 Begin@Reduce_move_anim_flashing_Haze]                         
Mode = 3                                
Type = 0                                
Address = {hex @}                       
MotionBEnable0 = 3                      
MotionBlur0 = 28                         
ConditionType = 0                       
ConditionValueA =  {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}            
ConditionValueB =  {dws_ ==            ==              ==              ==              ==          }            
ConditionValueC =  {dws_ H_CHAR        A_CHAR          Z_CHAR          E_CHAR          HAZE        }            
                                        
[FPA 008 End@Stop_reducing_move_anim_flashing_Haze_Hyper_Beam]                           
Mode = 3                                
Type = 1                                
Address = {hex @}                      
ConditionType = 11                       
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID  00  wStringBuffer wStringBuffer+1 wStringBuffer+2 wAnimationID}          
ConditionValueB = {dws_ ==            ==              ==              ==              ==            ||  ==            ==              ==              ==          }     
ConditionValueC = {dws_ H_CHAR        A_CHAR          Z_CHAR          E_CHAR          HAZE          00  H_CHAR        Y_CHAR          P_CHAR          HYPER_BEAM  } 


;rsm131656       reflect  
;No159                  
[FPA 009 Begin@Reduce_move_anim_flashing_Reflect]                           
Mode = 3                                  
Type = 0                                  
Address = {hex @}                         
MotionBEnable0 = 3                        
MotionBlur0 = 6                           
ConditionType = 0                         
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}                
ConditionValueB = {dws_ ==            ==              ==              ==              ==          }               
ConditionValueC = {dws_ R_CHAR        E_CHAR          F_CHAR          L_CHAR          REFLECT     }               
                                          
[FPA 009 End@Stop_reducing_move_anim_flashing_Reflect]                             
Mode = 3                                  
Type = 1                                  
Address = {hex @}                         
ConditionType = 0                         
ConditionValueA =  {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}       
ConditionValueB =  {dws_ ==            ==              ==              ==              ==          }       
ConditionValueC =  {dws_ R_CHAR        E_CHAR          F_CHAR          L_CHAR          REFLECT     }  

;rsm132935       selfdestruct  
;No56                  
[FPA 010 Begin@Reduce_move_anim_flashing_Self_Destruct]                        
Mode = 3                               
Type = 0                               
Address = {hex @}                     
MotionBEnable0 = 3                     
MotionBlur0 = 11                        
ConditionType = 0                      
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}               
ConditionValueB = {dws_ ==            ==              ==              ==              ==          }              
ConditionValueC = {dws_ S_CHAR        E_CHAR          L_CHAR          F_CHAR          SELFDESTRUCT}              
                                        
[FPA 010 End@Stop_reducing_move_anim_flashing_Self_Destruct]                          
Mode = 3                               
Type = 1                               
Address = {hex @}                      
ConditionType = 11                      
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID  00  wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}         
ConditionValueB = {dws_ ==            ==              ==              ==              ==            ||  ==            ==              ==              ==              ==          }       
ConditionValueC = {dws_ S_CHAR        E_CHAR          L_CHAR          F_CHAR          MEGA_PUNCH    00  S_CHAR        E_CHAR          L_CHAR          F_CHAR          SELFDESTRUCT}      

;rsm013740       explosion  
;No76               
[FPA 011 Begin@Reduce_move_anim_flashing_Explosion]                       
Mode = 3                              
Type = 0                              
Address = {hex @}                    
MotionBEnable0 = 3                    
MotionBlur0 = 11                      
ConditionType = 0                     
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}            
ConditionValueB = {dws_ ==            ==              ==              ==              ==          }            
ConditionValueC = {dws_ E_CHAR        X_CHAR          P_CHAR          L_CHAR          EXPLOSION   }            
                                      
[FPA 011 End@Stop_reducing_move_anim_flashing_Explosion]                         
Mode = 3                              
Type = 1                              
Address = {hex @}            
ConditionType = 11                     
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID  00  wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}             
ConditionValueB = {dws_ ==            ==              ==              ==              ==            ||  ==            ==              ==              ==              ==          }            
ConditionValueC = {dws_ E_CHAR        X_CHAR          P_CHAR          L_CHAR          MEGA_PUNCH    00  E_CHAR        X_CHAR          P_CHAR          L_CHAR          EXPLOSION   }      