Reverse engineer unusual weather events

This commit is contained in:
Phlosioneer
2019-02-27 03:42:04 -05:00
parent 231355f84d
commit fe55580fe1
18 changed files with 115 additions and 87 deletions
+28 -28
View File
@@ -3188,7 +3188,7 @@ gUnknown_08273D1F:: @ 8273D1F
gUnknown_08273D1F:: @ 8273D1F
lockall
compare VAR_0x4037, 9
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START
goto_if_ge Route105_EventScript_273D51
goto Route105_EventScript_273D5F
end
@@ -3200,7 +3200,7 @@ Route105_EventScript_273D31:: @ 8273D31
doweather
call Route105_EventScript_273D6D
special DrawWholeMapView
setvar VAR_0x4037, 0
setvar VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE
setvar VAR_0x4039, 0
clearflag FLAG_SPECIAL_FLAG_0x4000
fadescreenswapbuffers 0
@@ -3218,23 +3218,23 @@ Route105_EventScript_273D5F:: @ 8273D5F
end
Route105_EventScript_273D6D:: @ 8273D6D
switch VAR_0x4037
case 1, Route105_EventScript_273E23
case 2, Route105_EventScript_273E36
case 3, Route105_EventScript_273E49
case 4, Route105_EventScript_273E5C
case 5, Route105_EventScript_273E6F
case 6, Route105_EventScript_273E82
case 7, Route105_EventScript_273E95
case 8, Route105_EventScript_273EA8
case 9, Route105_EventScript_273EBB
case 10, Route105_EventScript_273F28
case 11, Route105_EventScript_273F95
case 12, Route105_EventScript_274002
case 13, Route105_EventScript_27406F
case 14, Route105_EventScript_2740DC
case 15, Route105_EventScript_274149
case 16, Route105_EventScript_2741B6
switch VAR_UNUSUAL_WEATHER_LOCATION
case UNUSUAL_WEATHER_ROUTE_114_NORTH, Route105_EventScript_273E23
case UNUSUAL_WEATHER_ROUTE_114_SOUTH, Route105_EventScript_273E36
case UNUSUAL_WEATHER_ROUTE_115_WEST, Route105_EventScript_273E49
case UNUSUAL_WEATHER_ROUTE_115_EAST, Route105_EventScript_273E5C
case UNUSUAL_WEATHER_ROUTE_116_NORTH, Route105_EventScript_273E6F
case UNUSUAL_WEATHER_ROUTE_116_SOUTH, Route105_EventScript_273E82
case UNUSUAL_WEATHER_ROUTE_118_EAST, Route105_EventScript_273E95
case UNUSUAL_WEATHER_ROUTE_118_WEST, Route105_EventScript_273EA8
case UNUSUAL_WEATHER_ROUTE_105_NORTH, Route105_EventScript_273EBB
case UNUSUAL_WEATHER_ROUTE_105_SOUTH, Route105_EventScript_273F28
case UNUSUAL_WEATHER_ROUTE_125_WEST, Route105_EventScript_273F95
case UNUSUAL_WEATHER_ROUTE_125_EAST, Route105_EventScript_274002
case UNUSUAL_WEATHER_ROUTE_127_NORTH, Route105_EventScript_27406F
case UNUSUAL_WEATHER_ROUTE_127_SOUTH, Route105_EventScript_2740DC
case UNUSUAL_WEATHER_ROUTE_129_WEST, Route105_EventScript_274149
case UNUSUAL_WEATHER_ROUTE_129_EAST, Route105_EventScript_2741B6
return
Route105_EventScript_273E23:: @ 8273E23
@@ -3401,15 +3401,15 @@ Underwater3_EventScript_274223:: @ 8274223
Underwater5_EventScript_274223:: @ 8274223
Underwater6_EventScript_274223:: @ 8274223
Underwater7_EventScript_274223:: @ 8274223
switch VAR_0x4037
case 9, Underwater3_EventScript_274281
case 10, Underwater3_EventScript_27428A
case 11, Underwater3_EventScript_274293
case 12, Underwater3_EventScript_27429C
case 13, Underwater3_EventScript_2742A5
case 14, Underwater3_EventScript_2742AE
case 15, Underwater3_EventScript_2742B7
case 16, Underwater3_EventScript_2742C0
switch VAR_UNUSUAL_WEATHER_LOCATION
case UNUSUAL_WEATHER_ROUTE_105_NORTH, Underwater3_EventScript_274281
case UNUSUAL_WEATHER_ROUTE_105_SOUTH, Underwater3_EventScript_27428A
case UNUSUAL_WEATHER_ROUTE_125_WEST, Underwater3_EventScript_274293
case UNUSUAL_WEATHER_ROUTE_125_EAST, Underwater3_EventScript_27429C
case UNUSUAL_WEATHER_ROUTE_127_NORTH, Underwater3_EventScript_2742A5
case UNUSUAL_WEATHER_ROUTE_127_SOUTH, Underwater3_EventScript_2742AE
case UNUSUAL_WEATHER_ROUTE_129_WEST, Underwater3_EventScript_2742B7
case UNUSUAL_WEATHER_ROUTE_129_EAST, Underwater3_EventScript_2742C0
return
Underwater3_EventScript_274281:: @ 8274281
+4 -4
View File
@@ -6,9 +6,9 @@ Route105_MapScripts:: @ 81EE1DB
Route105_MapScript1_1EE1EB: @ 81EE1EB
call_if_unset FLAG_REGI_DOORS_OPENED, Route105_EventScript_1EE20B
compare VAR_0x4037, 9
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_NORTH
call_if_eq Route105_EventScript_2739AB
compare VAR_0x4037, 10
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_SOUTH
call_if_eq Route105_EventScript_273A18
end
@@ -20,9 +20,9 @@ Route105_EventScript_1EE20B:: @ 81EE20B
Route105_MapScript1_1EE21E: @ 81EE21E
compare VAR_0x4039, 1
call_if_eq Route105_EventScript_273D13
compare VAR_0x4037, 9
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_NORTH
call_if_eq Route105_EventScript_273D17
compare VAR_0x4037, 10
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_SOUTH
call_if_eq Route105_EventScript_273D17
end
+4 -4
View File
@@ -7,16 +7,16 @@ Route114_MapScripts:: @ 81F252F
Route114_MapScript1_1F253F: @ 81F253F
compare VAR_0x4039, 1
call_if_eq Route114_EventScript_273D13
compare VAR_0x4037, 1
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_NORTH
call_if_eq Route114_EventScript_273D1B
compare VAR_0x4037, 2
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_SOUTH
call_if_eq Route114_EventScript_273D1B
end
Route114_MapScript1_1F2561: @ 81F2561
compare VAR_0x4037, 1
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_NORTH
call_if_eq Route114_EventScript_273913
compare VAR_0x4037, 2
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_SOUTH
call_if_eq Route114_EventScript_273926
end
+4 -4
View File
@@ -5,18 +5,18 @@ Route115_MapScripts:: @ 81F2920
.byte 0
Route115_MapScript1_1F2930: @ 81F2930
compare VAR_0x4037, 3
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_WEST
call_if_eq Route115_EventScript_273939
compare VAR_0x4037, 4
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_EAST
call_if_eq Route115_EventScript_27394C
end
Route115_MapScript1_1F2947: @ 81F2947
compare VAR_0x4039, 1
call_if_eq Route115_EventScript_273D13
compare VAR_0x4037, 3
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_WEST
call_if_eq Route115_EventScript_273D1B
compare VAR_0x4037, 4
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_EAST
call_if_eq Route115_EventScript_273D1B
end
+4 -4
View File
@@ -8,9 +8,9 @@ Route116_MapScript1_1F2C1C: @ 81F2C1C
call_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_1F2C47
compare VAR_0x4039, 1
call_if_eq Route116_EventScript_273D13
compare VAR_0x4037, 5
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_NORTH
call_if_eq Route116_EventScript_273D1B
compare VAR_0x4037, 6
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_SOUTH
call_if_eq Route116_EventScript_273D1B
end
@@ -19,9 +19,9 @@ Route116_EventScript_1F2C47:: @ 81F2C47
return
Route116_MapScript1_1F2C4F: @ 81F2C4F
compare VAR_0x4037, 5
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_NORTH
call_if_eq Route116_EventScript_27395F
compare VAR_0x4037, 6
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_SOUTH
call_if_eq Route116_EventScript_273972
end
+4 -4
View File
@@ -8,16 +8,16 @@ Route118_MapScript1_1F3DCC: @ 81F3DCC
call Route118_EventScript_28CCC7
compare VAR_0x4039, 1
call_if_eq Route118_EventScript_273D13
compare VAR_0x4037, 7
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_EAST
call_if_eq Route118_EventScript_273D1B
compare VAR_0x4037, 8
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_WEST
call_if_eq Route118_EventScript_273D1B
end
Route118_MapScript1_1F3DF3: @ 81F3DF3
compare VAR_0x4037, 7
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_EAST
call_if_eq Route118_EventScript_273985
compare VAR_0x4037, 8
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_WEST
call_if_eq Route118_EventScript_273998
end
@@ -137,11 +137,13 @@ Route119_WeatherInstitute_2F_EventScript_2700F7:: @ 82700F7
end
Route119_WeatherInstitute_2F_EventScript_27010A:: @ 827010A
@ This code uses VAR_0x8004 to count the number of legendaries the player has defeated
@ already.
setvar VAR_0x8004, 0
call_if_set FLAG_DEFEATED_KYOGRE, Route119_WeatherInstitute_2F_EventScript_270160
call_if_set FLAG_DEFEATED_GROUDON, Route119_WeatherInstitute_2F_EventScript_270160
call_if_set FLAG_DEFEATED_KYOGRE, WeatherInstitute_UnusualWeather_IncrementLegendCount
call_if_set FLAG_DEFEATED_GROUDON, WeatherInstitute_UnusualWeather_IncrementLegendCount
compare VAR_0x8004, 2
goto_if_eq Route119_WeatherInstitute_2F_EventScript_270166
goto_if_eq WeatherInstitute_UnusualWeather_LegendariesAlreadyDefeated
call_if_unset FLAG_TEMP_2, Route119_WeatherInstitute_2F_EventScript_270159
specialvar VAR_RESULT, sub_813B374
compare VAR_RESULT, 1
@@ -156,16 +158,16 @@ Route119_WeatherInstitute_2F_EventScript_27014F:: @ 827014F
end
Route119_WeatherInstitute_2F_EventScript_270159:: @ 8270159
special sub_813B2E4
special CreateUnusualWeatherEvent
setflag FLAG_TEMP_2
return
Route119_WeatherInstitute_2F_EventScript_270160:: @ 8270160
WeatherInstitute_UnusualWeather_IncrementLegendCount:: @ 8270160
addvar VAR_0x8004, 1
return
Route119_WeatherInstitute_2F_EventScript_270166:: @ 8270166
msgbox Route119_WeatherInstitute_2F_Text_2708FC, MSGBOX_DEFAULT
WeatherInstitute_UnusualWeather_LegendariesAlreadyDefeated:: @ 8270166
msgbox WeatherInstitute_UnusualWeather_LegendariesAlreadyDefeatedText, MSGBOX_DEFAULT
release
end
@@ -325,7 +327,7 @@ Route119_WeatherInstitute_2F_Text_270873: @ 8270873
.string "Could that mean, somewhere near\n"
.string "{STR_VAR_1}…$"
Route119_WeatherInstitute_2F_Text_2708FC: @ 82708FC
WeatherInstitute_UnusualWeather_LegendariesAlreadyDefeatedText: @ 82708FC
.string "Abnormal weather conditions are\n"
.string "no longer being reported.\p"
.string "The occasional rainfall is a blessing,\n"
+4 -4
View File
@@ -8,16 +8,16 @@ Route125_MapScript1_1F6758: @ 81F6758
call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
compare VAR_0x4039, 1
call_if_eq Route125_EventScript_273D13
compare VAR_0x4037, 11
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_WEST
call_if_eq Route125_EventScript_273D17
compare VAR_0x4037, 12
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_EAST
call_if_eq Route125_EventScript_273D17
end
Route125_MapScript1_1F6783: @ 81F6783
compare VAR_0x4037, 11
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_WEST
call_if_eq Route125_EventScript_273A85
compare VAR_0x4037, 12
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_EAST
call_if_eq Route125_EventScript_273AF2
end
+4 -4
View File
@@ -8,16 +8,16 @@ Route127_MapScript1_1F69E9: @ 81F69E9
call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
compare VAR_0x4039, 1
call_if_eq Route127_EventScript_273D13
compare VAR_0x4037, 13
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_NORTH
call_if_eq Route127_EventScript_273D17
compare VAR_0x4037, 14
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_SOUTH
call_if_eq Route127_EventScript_273D17
end
Route127_MapScript1_1F6A14: @ 81F6A14
compare VAR_0x4037, 13
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_NORTH
call_if_eq Route127_EventScript_273B5F
compare VAR_0x4037, 14
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_SOUTH
call_if_eq Route127_EventScript_273BCC
end
+4 -4
View File
@@ -5,9 +5,9 @@ Route129_MapScripts:: @ 81F7284
.byte 0
Route129_MapScript1_1F7294: @ 81F7294
compare VAR_0x4037, 15
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_WEST
call_if_eq Route129_EventScript_273C39
compare VAR_0x4037, 16
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_EAST
call_if_eq Route129_EventScript_273CA6
end
@@ -16,9 +16,9 @@ Route129_MapScript1_1F72AB: @ 81F72AB
call_if_eq Route129_EventScript_273D13
compare VAR_0x405E, 4
call_if_ge Route129_EventScript_1F72D8
compare VAR_0x4037, 15
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_WEST
call_if_eq Route129_EventScript_273D17
compare VAR_0x4037, 16
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_EAST
call_if_eq Route129_EventScript_273D17
end
+1 -1
View File
@@ -499,7 +499,7 @@ gSpecials:: @ 81DBA64
def_special sub_813B21C
def_special SetMatchCallRegisteredFlag
def_special sub_8175280
def_special sub_813B2E4
def_special CreateUnusualWeatherEvent
def_special sub_813B374
def_special sub_813B490
def_special sub_80A08CC