kep-hack/vc/pokered.patch.template

483 lines
22 KiB
INI

;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]
Mode = 12
Type = 1
Index = {hex sGameData}
Address = {hex sGameDataEnd}
;[Fix pokemon]
;Mode = 2
;Address = 0x1551
;Type = 3
[send_send_buf2]
Mode = 2
Address = {HEX @}
Type = 29
[send_send_buf2_ret]
Mode = 2
Address = {HEX @}
Type = 30
[send_byt2]
Mode = 2
Address = {HEX @+5}
Type = 31
[send_byt2_ret]
Mode = 2
Address = {HEX @}
Type = 32
[send_dummy]
Mode = 2
Address = {HEX @}
Type = 33
[send_dummy_end]
Mode = 2
Address = {HEX @}
Type = 34
[FIGHT]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}
[FIGHT2]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}
[Network10]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}
[Network11]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH +1}
[Network17]
Mode = 2
Address = {HEX @}
Type = 5
[Network424]
Mode = 2
Address = {HEX @}
Type = 4
[Network200]
Mode = 2
Address = {HEX @}
Type = 4
[Network_RECHECK]
Mode = 2
Address = {HEX @}
Type = 7
[Network_STOP]
Mode = 2
Address = {HEX @}
Type = 8
[Network_END]
Mode = 2
Address = {HEX @}
Type = 9
[Network_RESET]
Mode = 2
Address = {HEX @}
Type = 10
[linkCable fake begin]
Mode = 2
Address = {HEX @}
Type = 16
[linkCable fake end]
Mode = 2
Address = {HEX @}
Type = 17
[linkCable block input]
Mode = 2
Address = {HEX @+5}
Type = 18
;[save game start]
;Mode = 2
;Address = 0x59E6
;Type = 19
[save game end]
Mode = 2
Address = {HEX @}
Type = 20
;93 A7 A4 7F AB A8 AD AA 7F A7
;at 93
[Change_MSG]
Mode = 1
Address = {HEX @+1}
Fixcode = {PATCH_ +1 20}
[fight_ret]
Mode = 1
Address = {HEX @}
Fixcode = {PATCH}
[fight_ret_c]
Mode = 2
Address = {HEX @}
Type = 98
; The effect_no decide which animation will be played.
; So we use it as a condition value. The address of effect_no is 0xd07c
; 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
;rsm033659
;no151 mega punch
[FPA 001 Begin]
Mode = 3
Type = 0
Address = {HEX @}
MotionBEnable0 = 3
MotionBlur0 = 21
MotionBEnable1 = 3
MotionBlur1 = 21
ConditionType = 11
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == == || == == == == == == || == == == == == }
ConditionValueC = {dws_ "M" "E" "G" "A" "P" MEGA_PUNCH 00 "S" "E" "L" "F" "D" MEGA_PUNCH 00 "E" "X" "P" "L" MEGA_PUNCH }
[FPA 001 End]
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" "E" "G" "A" "P" MEGA_PUNCH }
;rsm032916
;no117 guillotine
[FPA 002 Begin]
Mode = 3
Type = 0
Address = {HEX @}
MotionBEnable0 = 3
MotionBlur0 = 9
MotionBEnable1 = 3
MotionBlur1 = 8
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE }
[FPA 002 End]
Mode = 3
Type = 1
Address = {HEX @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE }
;rsm041307
;no150 mega kick
[FPA 003 Begin]
Mode = 3
Type = 0
Address = {HEX @}
MotionBEnable0 = 3
MotionBlur0 = 25
MotionBEnable1 = 3
MotionBlur1 = 21
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID}
ConditionValueB = {dws_ == == == == == == }
ConditionValueC = {dws_ "M" "E" "G" "A" "K" MEGA_KICK }
;rsm001929
;no123 bubble beam
[FPA 004 Begin@FPA_Bubblebeam_Begin]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 30
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM }
[FPA 004 End]
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 wStringBuffer+5 wAnimationID}
ConditionValueB = {dws_ == == == == == || == == == == == == }
ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM 00 "M" "E" "G" "A" "K" MEGA_KICK }
;rsm103658
;no116 hyper beam
[FPA 005 Begin@FPA_Hyper_Beam_Begin]
Mode = 3
Type = 0
Address = {HEX @}
MotionBEnable0 = 1
MotionBlur0 = 5
MotionBEnable1 = 1
MotionBlur1 = 5
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "H" "Y" "P" "E" HYPER_BEAM }
[FPA 005 End]
Mode = 3
Type = 1
Address = {HEX @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "H" "Y" "P" "E" HYPER_BEAM }
;rsm133358
;no57 thunderbolt
[FPA 006 Begin@FPA_Thunderbolt_Begin]
Mode = 3
Type = 0
Address = {HEX @}
MotionBEnable0 = 3
MotionBlur0 = 30
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT }
[FPA 006 End@FPA_Thunderbolt_End]
Mode = 3
Type = 1
Address = {HEX @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT }
;rsm152340
;no159 reflect
[FPA 007 Begin@FPA_Reflect_Begin]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 1
MotionBlur0 = 6
MotionBEnable1 = 1
MotionBlur1 = 5
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT }
[FPA 007 End]
Mode = 3
Type = 1
Address = {HEX @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT }
;rsm171812
;no156 dream eater
[FPA 008 Begin@FPA_Dream_Eater_Begin]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable0 = 3
MotionBlur0 = 10
MotionBEnable1 = 3
MotionBlur1 = 7
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "D" "R" "E" "A" DREAM_EATER }
[FPA 008 End]
Mode = 3
Type = 1
Address = {HEX @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4} {dws/ wAnimationID}
ConditionValueB = {dws_ == == == == == } {dws/ == }
ConditionValueC = {dws_ "B" "L" "I" "Z" "Z" } {dws/ BLIZZARD }
;rsm174650
;no36 spore
[FPA 009 Begin@FPA_Spore_Begin]
Mode = 3
Type = 0
Address = {HEX @}
MotionBEnable0 = 3
MotionBlur0 = 8
MotionBEnable1 = 3
MotionBlur1 = 8
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "S" "P" "O" "R" SPORE }
;rsm152115
;no12 rock slide
[FPA 010 Begin]
Mode = 3
Type = 0
Address = {HEX @}
MotionBEnable0 = 3
MotionBlur0 = 27
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID}
ConditionValueB = {dws_ == == == == == }
ConditionValueC = {dws_ "R" "O" "C" "K" ROCK_SLIDE }
[FPA 010 End]
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 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID 00 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_ "D" "R" "E" "A" DREAM_EATER 00 "R" "O" "C" "K" ROCK_SLIDE 00 "S" "P" "O" "R" SPORE 00 "S" "E" "L" "F" "D" MEGA_PUNCH 00 "S" "E" "L" "F" "D" SELFDESTRUCT 00 "C" "O" "N" "F" "S" CONFUSION 00 "E" "X" "P" "L" EXPLOSION 00 "E" "X" "P" "L" MEGA_PUNCH }
;explosion
;No76 explosion
[FPA 76 Begin]
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_ "E" "X" "P" "L" EXPLOSION }
;No56 self-destruct
[FPA 56 Begin]
Mode = 3
Type = 0
Address = {HEX @}
MotionBEnable0 = 3
MotionBlur0 = 23
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID}
ConditionValueB = {dws_ == == == == == == }
ConditionValueC = {dws_ "S" "E" "L" "F" "D" SELFDESTRUCT}
;No131 blizzard
[FPA 131 Begin]
Mode = 3
Type = 0
Address = {HEX @}
MotionBEnable0 = 3
MotionBlur0 = 26
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID}
ConditionValueB = {dws_ == == == == == == }
ConditionValueC = {dws_ "B" "L" "I" "Z" "Z" BLIZZARD }
;confusion
[FPA conf Begin]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable1 = 3
MotionBlur1 = 21
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID}
ConditionValueB = {dws_ == == == == == == }
ConditionValueC = {dws_ "C" "O" "N" "F" "S" CONFUSION }
;phychic
[FPA phy Begin]
Mode = 3
Type = 0
Address = {hex @}
MotionBEnable1 = 3
MotionBlur1 = 21
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID}
ConditionValueB = {dws_ == == == == == == }
ConditionValueC = {dws_ "P" "S" "Y" "C" "I" PSYCHIC_M }
[FPA phy End]
Mode = 3
Type = 1
Address = {hex @}
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID}
ConditionValueB = {dws_ == == == == == == }
ConditionValueC = {dws_ "P" "S" "Y" "C" "I" PSYCHIC_M }