pmdsky-debug-py 10.1.15__py3-none-any.whl → 10.2.19__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pmdsky_debug_py/na.py CHANGED
@@ -405,6 +405,24 @@ class NaArm9Functions:
405
405
  None,
406
406
  )
407
407
 
408
+ SinAbs4096 = Symbol(
409
+ [0x18D0],
410
+ [0x20018D0],
411
+ None,
412
+ "SinAbs4096",
413
+ "This function computes the sine of the absolute value of r0 using a lookup table. The period of the function is 4096, and the range is [-256, 256].\n\nr0: The value to get the sine of.\nreturn: floor(256 * sin(pi * abs(x) / 2048)) as a signed 32-bit integer.",
414
+ None,
415
+ )
416
+
417
+ CosAbs4096 = Symbol(
418
+ [0x1980],
419
+ [0x2001980],
420
+ None,
421
+ "CosAbs4096",
422
+ "This function computes the cosine of the absolute value of r0 using a lookup table. The period of the function is 4096, and the range is [-256, 256].\n\nr0: The value to get the cosine of.\nreturn: floor(256 * cos(pi * abs(x) / 2048)) as a signed 32-bit integer.",
423
+ None,
424
+ )
425
+
408
426
  UFixedPoint64CmpLt = Symbol(
409
427
  [0x1A30],
410
428
  [0x2001A30],
@@ -1852,6 +1870,15 @@ class NaArm9Functions:
1852
1870
  None,
1853
1871
  )
1854
1872
 
1873
+ ReturnEggExclusiveItem = Symbol(
1874
+ [0xEB90],
1875
+ [0x200EB90],
1876
+ None,
1877
+ "ReturnEggExclusiveItem",
1878
+ "Checks if a species has an egg exclusive item, for the purposes of the Croagunk Swap Shop.\nPulls from BABY_EXCLUSIVE_ITEM_PAIRS, so Pichu/Thundershard is not correctly accounted for by this function.\nr0: monster ID\nreturn: Exclusive item_id for that monster, 0 if none found.",
1879
+ None,
1880
+ )
1881
+
1855
1882
  SetActiveInventoryToMain = Symbol(
1856
1883
  [0xEBCC],
1857
1884
  [0x200EBCC],
@@ -2770,12 +2797,30 @@ class NaArm9Functions:
2770
2797
  None,
2771
2798
  )
2772
2799
 
2800
+ GenerateCroagunkItems = Symbol(
2801
+ [0x12B7C],
2802
+ [0x2012B7C],
2803
+ None,
2804
+ "GenerateCroagunkItems",
2805
+ "Generates the Croagunk Swap Shop items for Croagunk in Wigglytuff's Guild.\nreturn: 1 if at least one item generated, 0 otherwise.",
2806
+ None,
2807
+ )
2808
+
2773
2809
  GetSynthItem = Symbol(
2774
2810
  [0x13250],
2775
2811
  [0x2013250],
2776
2812
  None,
2777
2813
  "GetSynthItem",
2778
- "Note: unverified, ported from Irdkwia's notes",
2814
+ "Searches synth_template in SYNTH/synth.bin for a matching exclusive item.\nr0: item_id of an exclusive item.\nreturn: pointer to synth_template containing that item. 0 if no match was found.",
2815
+ None,
2816
+ )
2817
+
2818
+ GetValidSynthsForSpecies = Symbol(
2819
+ [0x132A4],
2820
+ [0x20132A4],
2821
+ None,
2822
+ "GetValidSynthsForSpecies",
2823
+ "Fills out monster_synth_data for the specified monster, containing the synth templates that apply to said monster.\nr0: monster_id of the monster\nr1: [output] Pointer to an empty monster_synth_data, to be filled by the function.\nr2: Pointer to a type_synth_data, so the monster's types can be enabled in the bitfield.\nreturn: 1 if at least one synth_template matches the species, and 0 if not.",
2779
2824
  None,
2780
2825
  )
2781
2826
 
@@ -2838,7 +2883,7 @@ class NaArm9Functions:
2838
2883
  [0x20137B8],
2839
2884
  None,
2840
2885
  "InitMove",
2841
- "Initializes a move info struct.\n\nThis sets f_exists and f_enabled_for_ai on the flags, the ID to the given ID, the PP to the max PP for the move ID, and the ginseng boost to 0.\n\nr0: pointer to move to initialize\nr1: move ID",
2886
+ "Initializes a move info struct.\n\nThis sets f_exists and f_enabled_for_ai on the flags, the ID to the given ID, the PP to the max PP for the move ID, and the ginseng boost to 0.\n\nr0: [output] pointer to move to initialize\nr1: move ID",
2842
2887
  None,
2843
2888
  )
2844
2889
 
@@ -3013,12 +3058,12 @@ class NaArm9Functions:
3013
3058
  None,
3014
3059
  )
3015
3060
 
3016
- IsAffectedByTaunt = Symbol(
3061
+ IsUsableWhileTaunted = Symbol(
3017
3062
  [0x13B50],
3018
3063
  [0x2013B50],
3019
3064
  None,
3020
- "IsAffectedByTaunt",
3021
- "Note: unverified, ported from Irdkwia's notes\n\nBased on struct move_data, maybe this should be IsUsableWhileTaunted?\n\nr0: move\nreturn: bool",
3065
+ "IsUsableWhileTaunted",
3066
+ "Returns true if the given move can be used while the user is affected by Taunt, or false if the move cannot be used while taunted.\n\nr0: move\nreturn: bool whether the move can be used while taunted.",
3022
3067
  None,
3023
3068
  )
3024
3069
 
@@ -3454,6 +3499,15 @@ class NaArm9Functions:
3454
3499
  None,
3455
3500
  )
3456
3501
 
3502
+ PlaySeByIdVolumeWrapper = Symbol(
3503
+ [0x17C80],
3504
+ [0x2017C80],
3505
+ None,
3506
+ "PlaySeByIdVolumeWrapper",
3507
+ "Wrapper for PlaySeByIdVolume with 0x100 as the volume.\n\nr0: Sound effect ID",
3508
+ None,
3509
+ )
3510
+
3457
3511
  PlaySeVolumeWrapper = Symbol(
3458
3512
  [0x17CCC],
3459
3513
  [0x2017CCC],
@@ -3490,6 +3544,15 @@ class NaArm9Functions:
3490
3544
  None,
3491
3545
  )
3492
3546
 
3547
+ PlayMeById = Symbol(
3548
+ [0x1820C],
3549
+ [0x201820C],
3550
+ None,
3551
+ "PlayMeById",
3552
+ "Initializes some values and then calls SendAudioCommand to play a ME track (musical sound effect).\n\nFor a list of tracks, see https://wiki.skytemple.org/index.php?title=List_of_Sound_Effects#ME\n\nChecks for DEBUG_FLAG_BGM_OFF. The volume is set to either 0 or 255 depending on the flag before calling SendAudioCommand.\n\nr0: ME ID",
3553
+ None,
3554
+ )
3555
+
3493
3556
  PlaySeByIdVolume = Symbol(
3494
3557
  [0x182B8],
3495
3558
  [0x20182B8],
@@ -4372,6 +4435,24 @@ class NaArm9Functions:
4372
4435
  None,
4373
4436
  )
4374
4437
 
4438
+ GetSize0x80Buffer = Symbol(
4439
+ [0x24FB8],
4440
+ [0x2024FB8],
4441
+ None,
4442
+ "GetSize0x80Buffer",
4443
+ "Returns a pointer to a buffer of size 0x80.\n\nr0: index in a global list of buffers\nreturn: buffer pointer",
4444
+ None,
4445
+ )
4446
+
4447
+ GetSize0x80Buffer2 = Symbol(
4448
+ [0x24FC8],
4449
+ [0x2024FC8],
4450
+ None,
4451
+ "GetSize0x80Buffer2",
4452
+ "Same as GetSize0x80Buffer, except the buffer is from a separate list.\n\nr0: index in a global list of buffers\nreturn: buffer pointer",
4453
+ None,
4454
+ )
4455
+
4375
4456
  GetDungeonResultString = Symbol(
4376
4457
  [0x24FD8],
4377
4458
  [0x2024FD8],
@@ -4381,6 +4462,15 @@ class NaArm9Functions:
4381
4462
  None,
4382
4463
  )
4383
4464
 
4465
+ SubstitutePlaceholderItemTags = Symbol(
4466
+ [0x24FE8],
4467
+ [0x2024FE8],
4468
+ None,
4469
+ "SubstitutePlaceholderItemTags",
4470
+ "Sets what item's name should be displayed in place of the [item:r0] tag when printing a string to the message log.\n\nIs almost always accompanied by a SetMessageLogPreprocessorArgsIdVal(tag id, tag id | 0x40000) call.\n\nr0: tag id\nr1: item struct pointer\nr2: some static address related to storing the item (always the same throughout the code)",
4471
+ None,
4472
+ )
4473
+
4384
4474
  SetQuestionMarks = Symbol(
4385
4475
  [0x250E4],
4386
4476
  [0x20250E4],
@@ -4530,7 +4620,7 @@ class NaArm9Functions:
4530
4620
  [0x202598C],
4531
4621
  None,
4532
4622
  "GetTalkLine",
4533
- "Note: unverified, ported from Irdkwia's notes\n\nr0: personality_index\nr1: group_id\nr2: restrictions\nreturn: ?",
4623
+ "Gets the string id to be displayed for dialogue with a team member.\n\nr0: personality_index (either a monster id or some constant)\nr1: talk type\nr2: restrictions\nreturn: string id",
4534
4624
  None,
4535
4625
  )
4536
4626
 
@@ -4831,6 +4921,24 @@ class NaArm9Functions:
4831
4921
  None,
4832
4922
  )
4833
4923
 
4924
+ GetWindowIdSelectedItemOnPage = Symbol(
4925
+ [0x2AB80],
4926
+ [0x202AB80],
4927
+ None,
4928
+ "GetWindowIdSelectedItemOnPage",
4929
+ "Gets the index on the page of the current item the user has selected on the menu given by the window_id.\n\nr0: window id\nreturn: index of current selected item on the page",
4930
+ None,
4931
+ )
4932
+
4933
+ GetSimpleMenuResult = Symbol(
4934
+ [0x2ABB0, 0x2B57C],
4935
+ [0x202ABB0, 0x202B57C],
4936
+ None,
4937
+ "GetSimpleMenuResult",
4938
+ "Note: unverified, ported from Irdkwia's notes\n\nr0: window_id\nreturn: ?",
4939
+ None,
4940
+ )
4941
+
4834
4942
  UpdateParentMenu = Symbol(
4835
4943
  [0x2ABFC],
4836
4944
  [0x202ABFC],
@@ -4912,15 +5020,6 @@ class NaArm9Functions:
4912
5020
  None,
4913
5021
  )
4914
5022
 
4915
- GetSimpleMenuResult = Symbol(
4916
- [0x2B57C],
4917
- [0x202B57C],
4918
- None,
4919
- "GetSimpleMenuResult",
4920
- "Note: unverified, ported from Irdkwia's notes\n\nr0: window_id\nreturn: ?",
4921
- None,
4922
- )
4923
-
4924
5023
  UpdateSimpleMenu = Symbol(
4925
5024
  [0x2B5C8],
4926
5025
  [0x202B5C8],
@@ -5011,6 +5110,15 @@ class NaArm9Functions:
5011
5110
  None,
5012
5111
  )
5013
5112
 
5113
+ DrawAdvancedMenu = Symbol(
5114
+ [0x2C260],
5115
+ [0x202C260],
5116
+ None,
5117
+ "DrawAdvancedMenu",
5118
+ "Draws the contents of an advanced menu on the screen.\n\nr0: window pointer",
5119
+ None,
5120
+ )
5121
+
5014
5122
  CreateCollectionMenu = Symbol(
5015
5123
  [0x2C3A8],
5016
5124
  [0x202C3A8],
@@ -5569,6 +5677,15 @@ class NaArm9Functions:
5569
5677
  None,
5570
5678
  )
5571
5679
 
5680
+ AddMessageToAlertBox = Symbol(
5681
+ [0x3010C],
5682
+ [0x203010C],
5683
+ None,
5684
+ "AddMessageToAlertBox",
5685
+ "Adds a message to the dungeon alert box.\n\nr0: window_id\nr1: preprocessor flags\nr2: message string pointer\nr3: preprocessor_args struct pointer\nstack[0]: whether the message is the start of a new group (meaning it should be preceded by a horizontal line)\nreturn: whether the message was successfully added",
5686
+ None,
5687
+ )
5688
+
5572
5689
  IsAlertBoxActive = Symbol(
5573
5690
  [0x301F4],
5574
5691
  [0x20301F4],
@@ -5677,6 +5794,15 @@ class NaArm9Functions:
5677
5794
  None,
5678
5795
  )
5679
5796
 
5797
+ GetWindowIdPageStart = Symbol(
5798
+ [0x30A18],
5799
+ [0x2030A18],
5800
+ None,
5801
+ "GetWindowIdPageStart",
5802
+ "Gets the item the current menu page of a given window id starts on (the current page id times the maximum number of items on one page).\n\nr0: window id\nreturn: first item on page",
5803
+ None,
5804
+ )
5805
+
5680
5806
  GetAdvancedTextBoxFlags2 = Symbol(
5681
5807
  [0x30A40],
5682
5808
  [0x2030A40],
@@ -5790,7 +5916,88 @@ class NaArm9Functions:
5790
5916
  [0x2032474],
5791
5917
  None,
5792
5918
  "IsMenuOptionActive",
5793
- "Called whenever a menu option is selected. Returns whether the option is active or not.\n\nr0: ?\nreturn: True if the menu option is enabled, false otherwise.",
5919
+ "Called whenever a menu option is selected. Returns whether the option is active or not.\n\nr0: window_input_ctx struct pointer\nreturn: True if the menu option is enabled, false otherwise.",
5920
+ None,
5921
+ )
5922
+
5923
+ GetSelectedItemOnPage = Symbol(
5924
+ [0x32558],
5925
+ [0x2032558],
5926
+ None,
5927
+ "GetSelectedItemOnPage",
5928
+ "Gets the index on the page of the current item the user has selected.\n\nr0: window_input_ctx struct pointer\nreturn: index of current selected item on the page",
5929
+ None,
5930
+ )
5931
+
5932
+ GetCurrentPage = Symbol(
5933
+ [0x32560],
5934
+ [0x2032560],
5935
+ None,
5936
+ "GetCurrentPage",
5937
+ "Gets the index of the current menu page the user is on.\n\nr0: window_input_ctx struct pointer\nreturn: current page",
5938
+ None,
5939
+ )
5940
+
5941
+ GetPageStart = Symbol(
5942
+ [0x32568],
5943
+ [0x2032568],
5944
+ None,
5945
+ "GetPageStart",
5946
+ "Gets the index of the item the current menu page starts on (the current page index times the maximum number of items on one page).\n\nr0: window_input_ctx struct pointer\nreturn: index of first item on page",
5947
+ None,
5948
+ )
5949
+
5950
+ GetSelectedMenuItemIdx = Symbol(
5951
+ [0x32578],
5952
+ [0x2032578],
5953
+ None,
5954
+ "GetSelectedMenuItemIdx",
5955
+ "Gets the index of the current menu item the user has selected.\n\nr0: window_input_ctx struct pointer\nreturn: index of current selected item",
5956
+ None,
5957
+ )
5958
+
5959
+ GetTotalNumMenuItems = Symbol(
5960
+ [0x3258C],
5961
+ [0x203258C],
5962
+ None,
5963
+ "GetTotalNumMenuItems",
5964
+ "Gets the total number of items in the menu.\n\nr0: window_input_ctx struct pointer\nreturn: number of menu items",
5965
+ None,
5966
+ )
5967
+
5968
+ GetNumItemsOnPage = Symbol(
5969
+ [0x32594],
5970
+ [0x2032594],
5971
+ None,
5972
+ "GetNumItemsOnPage",
5973
+ "Gets the number of items on the current menu page.\n\nr0: window_input_ctx struct pointer\nreturn: number of items on page",
5974
+ None,
5975
+ )
5976
+
5977
+ GetMaxItemsOnPage = Symbol(
5978
+ [0x3259C],
5979
+ [0x203259C],
5980
+ None,
5981
+ "GetMaxItemsOnPage",
5982
+ "Gets the maximum possible number of items the menu can hold on one of its pages.\n\nr0: window_input_ctx struct pointer\nreturn: number of menu pages",
5983
+ None,
5984
+ )
5985
+
5986
+ GetTotalNumPages = Symbol(
5987
+ [0x325A4],
5988
+ [0x20325A4],
5989
+ None,
5990
+ "GetTotalNumPages",
5991
+ "Gets the total number of pages in the menu.\n\nr0: window_input_ctx struct pointer\nreturn: number of menu pages",
5992
+ None,
5993
+ )
5994
+
5995
+ GetPageItemYOffset = Symbol(
5996
+ [0x328D8],
5997
+ [0x20328D8],
5998
+ None,
5999
+ "GetPageItemYOffset",
6000
+ "Gets the y-offset of a given item on the current menu page.\n\nr0: window_input_ctx struct pointer\nr1: item index on page, in range [0, n_items_on_page)\nreturn: y-offset",
5794
6001
  None,
5795
6002
  )
5796
6003
 
@@ -5812,6 +6019,60 @@ class NaArm9Functions:
5812
6019
  None,
5813
6020
  )
5814
6021
 
6022
+ OverlayLoadEntriesEqual = Symbol(
6023
+ [0x347A0],
6024
+ [0x20347A0],
6025
+ None,
6026
+ "OverlayLoadEntriesEqual",
6027
+ "Checks if two overlay_load_entries have the same values for all of their fields.\n\nr0: overlay_load_entry pointer\nr1: overlay_load_entry pointer\nreturn: bool",
6028
+ None,
6029
+ )
6030
+
6031
+ FreeActiveMenu = Symbol(
6032
+ [0x347F0],
6033
+ [0x20347F0],
6034
+ None,
6035
+ "FreeActiveMenu",
6036
+ "Frees the currently active menu by calling the destructor function of the active entry in menu_control.\n\nNo params.",
6037
+ None,
6038
+ )
6039
+
6040
+ InitMenu = Symbol(
6041
+ [0x348E4],
6042
+ [0x20348E4],
6043
+ None,
6044
+ "InitMenu",
6045
+ "Initializes a menu by setting the incoming_entry field of menu_control to the given overlay_load_entry.\n\nr0: overlay_load_entry pointer\nreturn: whether the menu was successfully initialized",
6046
+ None,
6047
+ )
6048
+
6049
+ InitMenuWithWindowExtraInfo = Symbol(
6050
+ [0x34974],
6051
+ [0x2034974],
6052
+ None,
6053
+ "InitMenuWithWindowExtraInfo",
6054
+ "Has the same functionality as InitMenu except also tries to initialize menu_control's window_extra_info struct.\n\nr0: overlay_load_entry pointer\nr1: whether there is a window_extra_info struct\nr2: window_extra_info pointer\nreturn: whether the menu was successfully initialized",
6055
+ None,
6056
+ )
6057
+
6058
+ CopyMenuControlWindowExtraInfo = Symbol(
6059
+ [0x34A38],
6060
+ [0x2034A38],
6061
+ None,
6062
+ "CopyMenuControlWindowExtraInfo",
6063
+ "Copies menu_control's window_extra_info to the given address.\n\nr0: [output] window_extra_info pointer\nreturn: whether the window extra info was successfully copied",
6064
+ None,
6065
+ )
6066
+
6067
+ HandleMenus = Symbol(
6068
+ [0x34A80],
6069
+ [0x2034A80],
6070
+ None,
6071
+ "HandleMenus",
6072
+ "Master function called on every frame for handling the game's menus (seemingly the vast majority with the exception of some in dungeon mode). \n\nThis includes updating them, freeing them, and entering and exiting their respective overlays if applicable.\n\nNo params.",
6073
+ None,
6074
+ )
6075
+
5815
6076
  SetupAndShowKeyboard = Symbol(
5816
6077
  [0x367B4],
5817
6078
  [0x20367B4],
@@ -5875,6 +6136,15 @@ class NaArm9Functions:
5875
6136
  None,
5876
6137
  )
5877
6138
 
6139
+ GetCheckIqMenuSkillString = Symbol(
6140
+ [0x4213C],
6141
+ [0x204213C],
6142
+ None,
6143
+ "GetCheckIqMenuSkillString",
6144
+ "Gets the string for a team member's IQ skill to be displayed in the Check IQ menu.\n\nIs stored as an advanced_menu_entry_fn_t in the advanced_menu struct.\n\nr0: [output] buffer\nr1: id in team member's IQ skill list\nreturn: input buffer",
6145
+ None,
6146
+ )
6147
+
5878
6148
  GetNotifyNote = Symbol(
5879
6149
  [0x484A0],
5880
6150
  [0x20484A0],
@@ -6145,6 +6415,15 @@ class NaArm9Functions:
6145
6415
  None,
6146
6416
  )
6147
6417
 
6418
+ LoadScriptVariableValueString = Symbol(
6419
+ [0x4BBB0],
6420
+ [0x204BBB0],
6421
+ None,
6422
+ "LoadScriptVariableValueString",
6423
+ "Loads a string from the value of a given script variable. Adds a trailing null terminator in the output.\n\nr0: script variable ID\nr1: [output] script variable value string\nr2: number of characters to load",
6424
+ None,
6425
+ )
6426
+
6148
6427
  SaveScriptVariableValueBytes = Symbol(
6149
6428
  [0x4BBCC],
6150
6429
  [0x204BBCC],
@@ -6163,6 +6442,15 @@ class NaArm9Functions:
6163
6442
  None,
6164
6443
  )
6165
6444
 
6445
+ CalcScriptVariables = Symbol(
6446
+ [0x4BCAC],
6447
+ [0x204BCAC],
6448
+ None,
6449
+ "CalcScriptVariables",
6450
+ "Performs a calculation on two loaded script variables.\n\nr0: script variable 1\nr1: script variable 2\nr2: calculation to perform on the script variables\nreturn: calculation result",
6451
+ None,
6452
+ )
6453
+
6166
6454
  EventFlagResume = Symbol(
6167
6455
  [0x4BFC0],
6168
6456
  [0x204BFC0],
@@ -6622,6 +6910,15 @@ class NaArm9Functions:
6622
6910
  None,
6623
6911
  )
6624
6912
 
6913
+ TilesetSecondaryTerrainIsChasm = Symbol(
6914
+ [0x4F55C],
6915
+ [0x204F55C],
6916
+ None,
6917
+ "TilesetSecondaryTerrainIsChasm",
6918
+ "Returns true if the given tileset has a chasm secondary terrain.\n\nr0: tileset id\nreturn: bool",
6919
+ None,
6920
+ )
6921
+
6625
6922
  GetNbFloors = Symbol(
6626
6923
  [0x4F57C],
6627
6924
  [0x204F57C],
@@ -8841,7 +9138,7 @@ class NaArm9Functions:
8841
9138
  [0x205EE10],
8842
9139
  None,
8843
9140
  "DungeonRequestsDoneWrapper",
8844
- "Calls DungeonRequestsDone with the second argument set to false.\n\nr0: ?\nreturn: number of mission completed",
9141
+ "Calls DungeonRequestsDone with the second argument set to false.\n\nr0: ?\nreturn: number of missions completed",
8845
9142
  None,
8846
9143
  )
8847
9144
 
@@ -8859,7 +9156,7 @@ class NaArm9Functions:
8859
9156
  [0x205F0B8],
8860
9157
  None,
8861
9158
  "AddMissionToJobList",
8862
- "Adds a mission to the Job List.\n\nr0: mission to add",
9159
+ "Adds a mission to the Job List.\n\nr0: mission to add\nreturn: bool (0 if mission was successfully added)",
8863
9160
  None,
8864
9161
  )
8865
9162
 
@@ -9088,12 +9385,21 @@ class NaArm9Functions:
9088
9385
  None,
9089
9386
  )
9090
9387
 
9091
- GetActorMatchingStorageId = Symbol(
9388
+ GetScriptEntityMonsterId = Symbol(
9389
+ [0x65974],
9390
+ [0x2065974],
9391
+ None,
9392
+ "GetScriptEntityMonsterId",
9393
+ "Returns the monster id of the script entity given by the id.\n\nr0: script_entity_id\nreturn: monster id",
9394
+ None,
9395
+ )
9396
+
9397
+ GetScriptEntityMatchingStorageId = Symbol(
9092
9398
  [0x65998],
9093
9399
  [0x2065998],
9094
9400
  None,
9095
- "GetActorMatchingStorageId",
9096
- "Note: unverified, ported from Irdkwia's notes\n\nr0: actor_id\nreturn: storage ID",
9401
+ "GetScriptEntityMatchingStorageId",
9402
+ "Returns the storage id matching the script entity given by the id.\n\nr0: script_entity_id\nreturn: storage ID",
9097
9403
  None,
9098
9404
  )
9099
9405
 
@@ -9102,7 +9408,7 @@ class NaArm9Functions:
9102
9408
  [0x2065B3C],
9103
9409
  None,
9104
9410
  "SetActorTalkMainAndActorTalkSub",
9105
- "Sets ACTOR_TALK_MAIN and ACTOR_TALK_SUB to given actor IDs.\n\nr0: actor_id for ACTOR_TALK_MAIN\nr1: actor_id for ACTOR_TALK_SUB",
9411
+ "Sets ACTOR_TALK_MAIN and ACTOR_TALK_SUB to given actor IDs.\n\nr0: script_entity_id for ACTOR_TALK_MAIN\nr1: script_entity_id for ACTOR_TALK_SUB",
9106
9412
  None,
9107
9413
  )
9108
9414
 
@@ -9111,7 +9417,7 @@ class NaArm9Functions:
9111
9417
  [0x2065B50],
9112
9418
  None,
9113
9419
  "SetActorTalkMain",
9114
- "Sets ACTOR_TALK_MAIN to be actor_id.\nImplements SPECIAL_PROC_SET_ACTOR_TALK_MAIN (see ScriptSpecialProcessCall).\n\nr0: actor_id",
9420
+ "Sets ACTOR_TALK_MAIN to be actor_id.\nImplements SPECIAL_PROC_SET_ACTOR_TALK_MAIN (see ScriptSpecialProcessCall).\n\nr0: script_entity_id",
9115
9421
  None,
9116
9422
  )
9117
9423
 
@@ -9120,7 +9426,7 @@ class NaArm9Functions:
9120
9426
  [0x2065B60],
9121
9427
  None,
9122
9428
  "SetActorTalkSub",
9123
- "Sets ACTOR_TALK_SUB to be actor_id.\nImplements SPECIAL_PROC_SET_ACTOR_TALK_SUB (see ScriptSpecialProcessCall).\n\nr0: actor_id",
9429
+ "Sets ACTOR_TALK_SUB to be actor_id.\nImplements SPECIAL_PROC_SET_ACTOR_TALK_SUB (see ScriptSpecialProcessCall).\n\nr0: script_entity_id",
9124
9430
  None,
9125
9431
  )
9126
9432
 
@@ -9261,10 +9567,16 @@ class NaArm9Functions:
9261
9567
  "DirectoryFile_LoadDirectoryFile", LoadFileInPack
9262
9568
  )
9263
9569
 
9570
+ IsAffectedByTaunt = _Deprecated("IsAffectedByTaunt", IsUsableWhileTaunted)
9571
+
9264
9572
  IsMoveRangeString19 = _Deprecated("IsMoveRangeString19", IsMoveRangeStringUser)
9265
9573
 
9266
9574
  GetLowKickMultiplier = _Deprecated("GetLowKickMultiplier", GetWeightMultiplier)
9267
9575
 
9576
+ GetActorMatchingStorageId = _Deprecated(
9577
+ "GetActorMatchingStorageId", GetScriptEntityMatchingStorageId
9578
+ )
9579
+
9268
9580
 
9269
9581
  class NaArm9Data:
9270
9582
 
@@ -9403,6 +9715,15 @@ class NaArm9Data:
9403
9715
  "uint32_t",
9404
9716
  )
9405
9717
 
9718
+ SINE_VALUE_TABLE = Symbol(
9719
+ [0x90C48],
9720
+ [0x2090C48],
9721
+ 0x1000,
9722
+ "SINE_VALUE_TABLE",
9723
+ "A lookup table for the values of sine. The table contains 1024 values evenly distributed in the range [sin(0) * 256, sin(pi / 2) * 256); i.e., the first quarter of the unit circle. The rest of sine (and cosine) is derived by reusing these values.",
9724
+ "int16_t[1024]",
9725
+ )
9726
+
9406
9727
  NATURAL_LOG_VALUE_TABLE = Symbol(
9407
9728
  [0x91448],
9408
9729
  [0x2091448],
@@ -9485,13 +9806,13 @@ class NaArm9Data:
9485
9806
  "",
9486
9807
  )
9487
9808
 
9488
- ARM9_UNKNOWN_TABLE__NA_2097FF8 = Symbol(
9809
+ BABY_EXCLUSIVE_ITEM_PAIRS = Symbol(
9489
9810
  [0x97FF8],
9490
9811
  [0x2097FF8],
9491
9812
  0x40,
9492
- "ARM9_UNKNOWN_TABLE__NA_2097FF8",
9493
- "16*0x4 (0x2+0x2)\n\nNote: unverified, ported from Irdkwia's notes",
9494
- "",
9813
+ "BABY_EXCLUSIVE_ITEM_PAIRS",
9814
+ "Stores the IDs of each baby Pokemon (and Phione), as well as the exclusive item they hatch with.",
9815
+ "struct baby_exclusive_item_pair[16]",
9495
9816
  )
9496
9817
 
9497
9818
  KECLEON_SHOP_ITEM_TABLE_LISTS_1 = Symbol(
@@ -9755,6 +10076,15 @@ class NaArm9Data:
9755
10076
  "struct window_params",
9756
10077
  )
9757
10078
 
10079
+ NULL_OVERLAY_LOAD_ENTRY = Symbol(
10080
+ [0x9B08C],
10081
+ [0x209B08C],
10082
+ None,
10083
+ "NULL_OVERLAY_LOAD_ENTRY",
10084
+ "An overlay_load_entry whose values are all zeroes.\n\ntype: overlay_load_entry",
10085
+ "struct overlay_load_entry",
10086
+ )
10087
+
9758
10088
  PARTNER_TALK_KIND_TABLE = Symbol(
9759
10089
  [0x9CCE4],
9760
10090
  [0x209CCE4],
@@ -9764,6 +10094,15 @@ class NaArm9Data:
9764
10094
  "struct partner_talk_kind_table_entry[11]",
9765
10095
  )
9766
10096
 
10097
+ EVENT_FLAG_PROG_POS_INFO = Symbol(
10098
+ [0x9CEAC],
10099
+ [0x209CEAC],
10100
+ 0x8,
10101
+ "EVENT_FLAG_PROG_POS_INFO",
10102
+ "Debug information used to log an error with an unrecognized operation in CalcScriptVariables.",
10103
+ "struct prog_pos_info",
10104
+ )
10105
+
9767
10106
  SCRIPT_VARS_LOCALS = Symbol(
9768
10107
  [0x9CECC],
9769
10108
  [0x209CECC],
@@ -9773,6 +10112,15 @@ class NaArm9Data:
9773
10112
  "struct script_local_var_table",
9774
10113
  )
9775
10114
 
10115
+ EVENT_FLAG_EXPANSION_ERROR = Symbol(
10116
+ [0x9CF28],
10117
+ [0x209CF28],
10118
+ 0x20,
10119
+ "EVENT_FLAG_EXPANSION_ERROR",
10120
+ "Error log message for an unrecognized operation in CalcScriptVariables.",
10121
+ "",
10122
+ )
10123
+
9776
10124
  SCRIPT_VARS = Symbol(
9777
10125
  [0x9D870],
9778
10126
  [0x209D870],
@@ -10214,6 +10562,15 @@ class NaArm9Data:
10214
10562
  "fx32_8",
10215
10563
  )
10216
10564
 
10565
+ TACTICS_FOLLOW_LEADER = Symbol(
10566
+ [0xA190C],
10567
+ [0x20A190C],
10568
+ 0xC,
10569
+ "TACTICS_FOLLOW_LEADER",
10570
+ "Array of boolean values corresponding to each tactic_id enum, determining whether the tactic makes party members follow the leader.",
10571
+ "bool[12]",
10572
+ )
10573
+
10217
10574
  FORBIDDEN_FORGOT_MOVE_LIST = Symbol(
10218
10575
  [0xA1918],
10219
10576
  [0x20A1918],
@@ -10291,7 +10648,7 @@ class NaArm9Data:
10291
10648
  [0x20A1AE8],
10292
10649
  0xC8,
10293
10650
  "SECONDARY_TERRAIN_TYPES",
10294
- "The type of secondary terrain for each dungeon in the game.\n\nThis is an array of 200 bytes. Each byte is an enum corresponding to one dungeon.\n\ntype: struct secondary_terrain_type_8[200]",
10651
+ "The type of secondary terrain for each tileset in the game.\n\nThis is an array of 200 bytes. Each byte is an enum corresponding to one tileset.\n\ntype: struct secondary_terrain_type_8[200]",
10295
10652
  "struct secondary_terrain_type_8[200]",
10296
10653
  )
10297
10654
 
@@ -10990,6 +11347,15 @@ class NaArm9Data:
10990
11347
  "int16_t[6]",
10991
11348
  )
10992
11349
 
11350
+ MENU_CONTROL_PTR = Symbol(
11351
+ [0xAFD98],
11352
+ [0x20AFD98],
11353
+ None,
11354
+ "MENU_CONTROL_PTR",
11355
+ "Pointer to the master struct used for handling menus.\n\ntype: menu_control*",
11356
+ "struct menu_control*",
11357
+ )
11358
+
10993
11359
  KEYBOARD_STRING_IDS = Symbol(
10994
11360
  [0xAFDFC],
10995
11361
  [0x20AFDFC],
@@ -11068,7 +11434,7 @@ class NaArm9Data:
11068
11434
  None,
11069
11435
  "MONSTER_DATA_TABLE_PTR",
11070
11436
  "[Runtime] Points to data about monster species.",
11071
- "undefined*",
11437
+ "struct monster_data_table*",
11072
11438
  )
11073
11439
 
11074
11440
  UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE = Symbol(
@@ -13244,6 +13610,15 @@ class NaLibsFunctions:
13244
13610
  None,
13245
13611
  )
13246
13612
 
13613
+ PM_ForceToPowerOff = Symbol(
13614
+ [0x15F34],
13615
+ [0x208200C],
13616
+ None,
13617
+ "PM_ForceToPowerOff",
13618
+ "Powers off the system.\n\nreturn: ?",
13619
+ None,
13620
+ )
13621
+
13247
13622
  abs = Symbol(
13248
13623
  [0x1A484],
13249
13624
  [0x208655C],
@@ -13577,12 +13952,12 @@ class NaLibsFunctions:
13577
13952
  None,
13578
13953
  )
13579
13954
 
13580
- _dgeq = Symbol(
13955
+ _dgr = Symbol(
13581
13956
  [0x22E04],
13582
13957
  [0x208EEDC],
13583
13958
  None,
13584
- "_dgeq",
13585
- "Implements the >= operator for IEEE 754 double-precision floating-point numbers.\n\nr0: a (low bits)\nr1: a (high bits)\nr2: b (low bits)\nr3: b (high bits)\nreturn: a >= b",
13959
+ "_dgr",
13960
+ "Implements the > operator for IEEE 754 double-precision floating-point numbers.\n\nr0: a (low bits)\nr1: a (high bits)\nr2: b (low bits)\nr3: b (high bits)\nreturn: a > b",
13586
13961
  None,
13587
13962
  )
13588
13963
 
@@ -17211,6 +17586,15 @@ class NaOverlay10Data:
17211
17586
  "struct dungeon_id_8",
17212
17587
  )
17213
17588
 
17589
+ FIERY_DRUM_RECRUIT_BOOST = Symbol(
17590
+ [0x7990],
17591
+ [0x22C4410],
17592
+ 0x2,
17593
+ "FIERY_DRUM_RECRUIT_BOOST",
17594
+ "The amount added to the recruit rate with compatible species when holding a Fiery Drum.",
17595
+ "int16_t",
17596
+ )
17597
+
17214
17598
  BAD_POISON_DAMAGE_COOLDOWN = Symbol(
17215
17599
  [0x7994],
17216
17600
  [0x22C4414],
@@ -17220,6 +17604,15 @@ class NaOverlay10Data:
17220
17604
  "int16_t",
17221
17605
  )
17222
17606
 
17607
+ ICY_FLUTE_RECRUIT_BOOST = Symbol(
17608
+ [0x799C],
17609
+ [0x22C441C],
17610
+ 0x2,
17611
+ "ICY_FLUTE_RECRUIT_BOOST",
17612
+ "The amount added to the recruit rate with compatible species when holding an Icy Flute.",
17613
+ "int16_t",
17614
+ )
17615
+
17223
17616
  PROTEIN_STAT_BOOST = Symbol(
17224
17617
  [0x79A0],
17225
17618
  [0x22C4420],
@@ -17265,6 +17658,15 @@ class NaOverlay10Data:
17265
17658
  "int16_t",
17266
17659
  )
17267
17660
 
17661
+ GOLDEN_MASK_RECRUIT_BOOST = Symbol(
17662
+ [0x79BC],
17663
+ [0x22C443C],
17664
+ 0x2,
17665
+ "GOLDEN_MASK_RECRUIT_BOOST",
17666
+ "The amount added to the recruit rate when holding a Golden Mask.",
17667
+ "int16_t",
17668
+ )
17669
+
17268
17670
  IRON_TAIL_LOWER_DEFENSE_CHANCE = Symbol(
17269
17671
  [0x79C0],
17270
17672
  [0x22C4440],
@@ -17310,6 +17712,15 @@ class NaOverlay10Data:
17310
17712
  "int16_t",
17311
17713
  )
17312
17714
 
17715
+ HURL_DAMAGE = Symbol(
17716
+ [0x79D8],
17717
+ [0x22C4458],
17718
+ 0x2,
17719
+ "HURL_DAMAGE",
17720
+ "Damage dealt from hurling a monster at another monster (10).",
17721
+ "int16_t",
17722
+ )
17723
+
17313
17724
  TRAP_BUSTER_ACTIVATION_CHANCE = Symbol(
17314
17725
  [0x79DC],
17315
17726
  [0x22C445C],
@@ -17346,6 +17757,15 @@ class NaOverlay10Data:
17346
17757
  "int16_t",
17347
17758
  )
17348
17759
 
17760
+ AMBER_TEAR_RECRUIT_BOOST = Symbol(
17761
+ [0x79FC],
17762
+ [0x22C447C],
17763
+ 0x2,
17764
+ "AMBER_TEAR_RECRUIT_BOOST",
17765
+ "The amount added to the recruit rate when holding an Amber Tear.",
17766
+ "int16_t",
17767
+ )
17768
+
17349
17769
  MUDDY_WATER_LOWER_ACCURACY_CHANCE = Symbol(
17350
17770
  [0x7A04],
17351
17771
  [0x22C4484],
@@ -17454,6 +17874,15 @@ class NaOverlay10Data:
17454
17874
  "int16_t",
17455
17875
  )
17456
17876
 
17877
+ CURSE_DAMAGE_COOLDOWN = Symbol(
17878
+ [0x7A3C],
17879
+ [0x22C44BC],
17880
+ None,
17881
+ "CURSE_DAMAGE_COOLDOWN",
17882
+ "The number of turns between passive curse damage (3).",
17883
+ "int16_t",
17884
+ )
17885
+
17457
17886
  STEEL_WING_BOOST_DEFENSE_CHANCE = Symbol(
17458
17887
  [0x7A44],
17459
17888
  [0x22C44C4],
@@ -17508,6 +17937,15 @@ class NaOverlay10Data:
17508
17937
  "int16_t",
17509
17938
  )
17510
17939
 
17940
+ PITFALL_TRAP_DAMAGE = Symbol(
17941
+ [0x7A64],
17942
+ [0x22C44E4],
17943
+ 0x2,
17944
+ "PITFALL_TRAP_DAMAGE",
17945
+ "Damage dealt by pitfall traps (5).",
17946
+ "int16_t",
17947
+ )
17948
+
17511
17949
  CHARGE_BEAM_BOOST_SPECIAL_ATTACK_CHANCE = Symbol(
17512
17950
  [0x7A70],
17513
17951
  [0x22C44F0],
@@ -17535,6 +17973,15 @@ class NaOverlay10Data:
17535
17973
  "int16_t",
17536
17974
  )
17537
17975
 
17976
+ FRIEND_BOW_FAST_FRIEND_BOOST = Symbol(
17977
+ [0x7A7C],
17978
+ [0x22C44FC],
17979
+ 0x2,
17980
+ "FRIEND_BOW_FAST_FRIEND_BOOST",
17981
+ "The amount added to the recruit rate when holding a Friend Bow or with the Fast Friend IQ skill.",
17982
+ "int16_t",
17983
+ )
17984
+
17538
17985
  OCTAZOOKA_LOWER_ACCURACY_CHANCE = Symbol(
17539
17986
  [0x7A80],
17540
17987
  [0x22C4500],
@@ -17589,6 +18036,15 @@ class NaOverlay10Data:
17589
18036
  "int16_t",
17590
18037
  )
17591
18038
 
18039
+ CUTE_CHARM_INFATUATE_CHANCE = Symbol(
18040
+ [0x7AA4],
18041
+ [0x22C4524],
18042
+ 0x2,
18043
+ "CUTE_CHARM_INFATUATE_CHANCE",
18044
+ "The chance of Cute Charm infatuating, as a percentage (12%).",
18045
+ "int16_t",
18046
+ )
18047
+
17592
18048
  LICK_PARALYZE_CHANCE = Symbol(
17593
18049
  [0x7AA8],
17594
18050
  [0x22C4528],
@@ -17733,6 +18189,15 @@ class NaOverlay10Data:
17733
18189
  "int16_t",
17734
18190
  )
17735
18191
 
18192
+ INGRAIN_BONUS_REGEN = Symbol(
18193
+ [0x7B10],
18194
+ [0x22C4590],
18195
+ None,
18196
+ "INGRAIN_BONUS_REGEN",
18197
+ "The passive bonus regen given by the Ingrain status condition (10).",
18198
+ "int16_t",
18199
+ )
18200
+
17736
18201
  AFTERMATH_CHANCE = Symbol(
17737
18202
  [0x7B14],
17738
18203
  [0x22C4594],
@@ -17760,6 +18225,15 @@ class NaOverlay10Data:
17760
18225
  "int16_t",
17761
18226
  )
17762
18227
 
18228
+ WRAP_DAMAGE = Symbol(
18229
+ [0x7B50],
18230
+ [0x22C45D0],
18231
+ None,
18232
+ "WRAP_DAMAGE",
18233
+ "Damage dealt by the wrap status condition (6).",
18234
+ "int16_t",
18235
+ )
18236
+
17763
18237
  TYPE_ADVANTAGE_MASTER_CRIT_RATE = Symbol(
17764
18238
  [0x7B60],
17765
18239
  [0x22C45E0],
@@ -17769,6 +18243,15 @@ class NaOverlay10Data:
17769
18243
  "int16_t",
17770
18244
  )
17771
18245
 
18246
+ INGRAIN_BONUS_REGEN_COOLDOWN = Symbol(
18247
+ [0x7B68],
18248
+ [0x22C45E8],
18249
+ None,
18250
+ "INGRAIN_BONUS_REGEN_COOLDOWN",
18251
+ "The number of turns between ingrain health regeneration (5).",
18252
+ "int16_t",
18253
+ )
18254
+
17772
18255
  ORAN_BERRY_HP_RESTORATION = Symbol(
17773
18256
  [0x7B6C],
17774
18257
  [0x22C45EC],
@@ -17778,6 +18261,15 @@ class NaOverlay10Data:
17778
18261
  "int16_t",
17779
18262
  )
17780
18263
 
18264
+ WRAP_DAMAGE_COOLDOWN = Symbol(
18265
+ [0x7B70],
18266
+ [0x22C45F0],
18267
+ None,
18268
+ "WRAP_DAMAGE_COOLDOWN",
18269
+ "The number of turns between passive wrap damage (2).",
18270
+ "int16_t",
18271
+ )
18272
+
17781
18273
  SITRUS_BERRY_FULL_HP_BOOST = Symbol(
17782
18274
  [0x7B74],
17783
18275
  [0x22C45F4],
@@ -17836,6 +18328,15 @@ class NaOverlay10Data:
17836
18328
  [0x7BA4], [0x22C4624], 0x2, "STICK_POWER", "Attack power for Sticks.", "int16_t"
17837
18329
  )
17838
18330
 
18331
+ AQUA_RING_BONUS_REGEN = Symbol(
18332
+ [0x7BA8],
18333
+ [0x22C4628],
18334
+ None,
18335
+ "AQUA_RING_BONUS_REGEN",
18336
+ "The passive bonus regen given by the Aqua Ring status condition (8).",
18337
+ "int16_t",
18338
+ )
18339
+
17839
18340
  BUBBLE_LOWER_SPEED_CHANCE = Symbol(
17840
18341
  [0x7BAC],
17841
18342
  [0x22C462C],
@@ -17890,6 +18391,15 @@ class NaOverlay10Data:
17890
18391
  "int16_t",
17891
18392
  )
17892
18393
 
18394
+ CHATOT_SCARF_BOUNCE_CHANCE = Symbol(
18395
+ [0x7BC8],
18396
+ [0x22C4648],
18397
+ 0x2,
18398
+ "CHATOT_SCARF_BOUNCE_CHANCE",
18399
+ "The chance of the Chatot Scarf bouncing back a move, as a percentage (20%).",
18400
+ "int16_t",
18401
+ )
18402
+
17893
18403
  WEATHER_MOVE_TURN_COUNT = Symbol(
17894
18404
  [0x7BD4],
17895
18405
  [0x22C4654],
@@ -18178,6 +18688,15 @@ class NaOverlay10Data:
18178
18688
  "int16_t",
18179
18689
  )
18180
18690
 
18691
+ BAD_WEATHER_DAMAGE = Symbol(
18692
+ [0x7C6C],
18693
+ [0x22C46EC],
18694
+ None,
18695
+ "BAD_WEATHER_DAMAGE",
18696
+ "Damage dealt by the Sandstorm and Hail weather conditions (3).",
18697
+ "int16_t",
18698
+ )
18699
+
18181
18700
  SCOPE_LENS_CRIT_RATE_BOOST = Symbol(
18182
18701
  [0x7C70],
18183
18702
  [0x22C46F0],
@@ -18196,6 +18715,51 @@ class NaOverlay10Data:
18196
18715
  "int16_t",
18197
18716
  )
18198
18717
 
18718
+ SKY_MELODICA_RECRUIT_BOOST = Symbol(
18719
+ [0x7C7C],
18720
+ [0x22C46FC],
18721
+ 0x2,
18722
+ "SKY_MELODICA_RECRUIT_BOOST",
18723
+ "The amount added to the recruit rate with compatible species when holding a Sky Melodica.",
18724
+ "int16_t",
18725
+ )
18726
+
18727
+ GRASS_CORNET_RECRUIT_BOOST = Symbol(
18728
+ [0x7C80],
18729
+ [0x22C4700],
18730
+ 0x2,
18731
+ "GRASS_CORNET_RECRUIT_BOOST",
18732
+ "The amount added to the recruit rate with compatible species when holding a Grass Cornet.",
18733
+ "int16_t",
18734
+ )
18735
+
18736
+ ROCK_HORN_RECRUIT_BOOST = Symbol(
18737
+ [0x7C84],
18738
+ [0x22C4704],
18739
+ 0x2,
18740
+ "ROCK_HORN_RECRUIT_BOOST",
18741
+ "The amount added to the recruit rate with compatible species when holding a Rock Horn.",
18742
+ "int16_t",
18743
+ )
18744
+
18745
+ AQUA_MONICA_RECRUIT_BOOST = Symbol(
18746
+ [0x7C88],
18747
+ [0x22C4708],
18748
+ 0x2,
18749
+ "AQUA_MONICA_RECRUIT_BOOST",
18750
+ "The amount added to the recruit rate with compatible species when holding a Aqua Monica.",
18751
+ "int16_t",
18752
+ )
18753
+
18754
+ TERRA_CYMBAL_RECRUIT_BOOST = Symbol(
18755
+ [0x7C8C],
18756
+ [0x22C470C],
18757
+ 0x2,
18758
+ "TERRA_CYMBAL_RECRUIT_BOOST",
18759
+ "The amount added to the recruit rate with compatible species when holding a Terra Cymbal.",
18760
+ "int16_t",
18761
+ )
18762
+
18199
18763
  ME_FIRST_MULTIPLIER = Symbol(
18200
18764
  [0x7C90],
18201
18765
  [0x22C4710],
@@ -18241,6 +18805,60 @@ class NaOverlay10Data:
18241
18805
  "int16_t[2]",
18242
18806
  )
18243
18807
 
18808
+ SLEEPLESSNESS_TURN_RANGE = Symbol(
18809
+ [0x7CA8],
18810
+ [0x22C4728],
18811
+ 0x4,
18812
+ "SLEEPLESSNESS_TURN_RANGE",
18813
+ "The turn range for the Sleepless status, [0x7F, 0x7F] (infinite).\n\ntype: int16_t[2]",
18814
+ "int16_t[2]",
18815
+ )
18816
+
18817
+ REFLECT_TURN_RANGE = Symbol(
18818
+ [0x7CAC],
18819
+ [0x22C472C],
18820
+ 0x4,
18821
+ "REFLECT_TURN_RANGE",
18822
+ "The turn range for the Reflect status, [10, 12).\n\ntype: int16_t[2]",
18823
+ "int16_t[2]",
18824
+ )
18825
+
18826
+ LIGHT_SCREEN_TURN_RANGE = Symbol(
18827
+ [0x7CB0],
18828
+ [0x22C4730],
18829
+ 0x4,
18830
+ "LIGHT_SCREEN_TURN_RANGE",
18831
+ "The turn range for the Light Screen status, [10, 12).\n\ntype: int16_t[2]",
18832
+ "int16_t[2]",
18833
+ )
18834
+
18835
+ SAFEGUARD_TURN_RANGE = Symbol(
18836
+ [0x7CB4],
18837
+ [0x22C4734],
18838
+ 0x4,
18839
+ "SAFEGUARD_TURN_RANGE",
18840
+ "The turn range for the Safeguard status, [15, 20).\n\ntype: int16_t[2]",
18841
+ "int16_t[2]",
18842
+ )
18843
+
18844
+ MIST_TURN_RANGE = Symbol(
18845
+ [0x7CB8],
18846
+ [0x22C4738],
18847
+ 0x4,
18848
+ "MIST_TURN_RANGE",
18849
+ "The turn range for the Mist status, [10, 14).\n\ntype: int16_t[2]",
18850
+ "int16_t[2]",
18851
+ )
18852
+
18853
+ MAGIC_COAT_TURN_RANGE = Symbol(
18854
+ [0x7CC0],
18855
+ [0x22C4740],
18856
+ 0x4,
18857
+ "MAGIC_COAT_TURN_RANGE",
18858
+ "The turn range for the Magic Coat status, [10, 14).\n\ntype: int16_t[2]",
18859
+ "int16_t[2]",
18860
+ )
18861
+
18244
18862
  BURN_DAMAGE_MULTIPLIER = Symbol(
18245
18863
  [0x7CC4],
18246
18864
  [0x22C4744],
@@ -18268,6 +18886,15 @@ class NaOverlay10Data:
18268
18886
  "fx32_8",
18269
18887
  )
18270
18888
 
18889
+ SET_REFLECT_STATUS_TURN_RANGE = Symbol(
18890
+ [0x7CD0],
18891
+ [0x22C4750],
18892
+ 0x4,
18893
+ "SET_REFLECT_STATUS_TURN_RANGE",
18894
+ "The turn range for the statuses (Counter, Mini Counter, Metal Burst) set by SetReflectStatus, [6, 12).\n\ntype: int16_t[2]",
18895
+ "int16_t[2]",
18896
+ )
18897
+
18271
18898
  MATCHUP_IMMUNE_MULTIPLIER = Symbol(
18272
18899
  [0x7CD8],
18273
18900
  [0x22C4758],
@@ -18277,6 +18904,15 @@ class NaOverlay10Data:
18277
18904
  "fx32_8",
18278
18905
  )
18279
18906
 
18907
+ GASTRO_ACID_TURN_RANGE = Symbol(
18908
+ [0x7CEC],
18909
+ [0x22C476C],
18910
+ 0x4,
18911
+ "GASTRO_ACID_TURN_RANGE",
18912
+ "The turn range for the Gastro Acid status, [4, 10).\n\ntype: int16_t[2]",
18913
+ "int16_t[2]",
18914
+ )
18915
+
18280
18916
  SPORT_CONDITION_TURN_RANGE = Symbol(
18281
18917
  [0x7D0C],
18282
18918
  [0x22C478C],
@@ -18304,6 +18940,15 @@ class NaOverlay10Data:
18304
18940
  "int",
18305
18941
  )
18306
18942
 
18943
+ DECOY_TURN_RANGE = Symbol(
18944
+ [0x7D34],
18945
+ [0x22C47B4],
18946
+ 0x4,
18947
+ "DECOY_TURN_RANGE",
18948
+ "The turn range for the Decoy status, [20, 50).\n\ntype: int16_t[2]",
18949
+ "int16_t[2]",
18950
+ )
18951
+
18307
18952
  TINTED_LENS_MULTIPLIER = Symbol(
18308
18953
  [0x7D40],
18309
18954
  [0x22C47C0],
@@ -18439,6 +19084,15 @@ class NaOverlay10Data:
18439
19084
  "fx32_8",
18440
19085
  )
18441
19086
 
19087
+ MIRROR_MOVE_TURN_RANGE = Symbol(
19088
+ [0x7DC0],
19089
+ [0x22C4840],
19090
+ 0x4,
19091
+ "MIRROR_MOVE_TURN_RANGE",
19092
+ "The turn range for the Mirror Move status, [1, 3).\n\ntype: int16_t[2]",
19093
+ "int16_t[2]",
19094
+ )
19095
+
18442
19096
  AIR_BLADE_DAMAGE_MULTIPLIER = Symbol(
18443
19097
  [0x7DC4],
18444
19098
  [0x22C4844],
@@ -18475,6 +19129,15 @@ class NaOverlay10Data:
18475
19129
  "int16_t[2]",
18476
19130
  )
18477
19131
 
19132
+ CRINGE_TURN_RANGE = Symbol(
19133
+ [0x7E04],
19134
+ [0x22C4884],
19135
+ 0x4,
19136
+ "CRINGE_TURN_RANGE",
19137
+ "The turn range for the Cringe status, [1, 1].\n\ntype: int16_t[2]",
19138
+ "int16_t[2]",
19139
+ )
19140
+
18478
19141
  SPEED_BOOST_TURN_RANGE = Symbol(
18479
19142
  [0x7E08],
18480
19143
  [0x22C4888],
@@ -18484,6 +19147,24 @@ class NaOverlay10Data:
18484
19147
  "int16_t[2]",
18485
19148
  )
18486
19149
 
19150
+ SPEED_LOWER_TURN_RANGE = Symbol(
19151
+ [0x7E0C],
19152
+ [0x22C488C],
19153
+ None,
19154
+ "SPEED_LOWER_TURN_RANGE",
19155
+ "The turn range for lowered speed, [6, 8].\n\ntype: int16_t[2]",
19156
+ "int16_t[2]",
19157
+ )
19158
+
19159
+ PARALYSIS_TURN_RANGE = Symbol(
19160
+ [0x7E14],
19161
+ [0x22C4894],
19162
+ None,
19163
+ "PARALYSIS_TURN_RANGE",
19164
+ "The turn range for the Paralysis status, [1, 2].\n\ntype: int16_t[2]",
19165
+ "int16_t[2]",
19166
+ )
19167
+
18487
19168
  SOLARBEAM_DAMAGE_MULTIPLIER = Symbol(
18488
19169
  [0x7E24],
18489
19170
  [0x22C48A4],
@@ -18898,6 +19579,10 @@ class NaOverlay10Data:
18898
19579
  "struct data_processing_instruction",
18899
19580
  )
18900
19581
 
19582
+ REFLECT_LIGHT_SCREEN_TURN_RANGE = _Deprecated(
19583
+ "REFLECT_LIGHT_SCREEN_TURN_RANGE", REFLECT_TURN_RANGE
19584
+ )
19585
+
18901
19586
 
18902
19587
  class NaOverlay10Section:
18903
19588
  name = "overlay10"
@@ -19210,6 +19895,33 @@ class NaOverlay11Functions:
19210
19895
  None,
19211
19896
  )
19212
19897
 
19898
+ GroundBgInit = Symbol(
19899
+ [0xF9D8],
19900
+ [0x22EBC18],
19901
+ None,
19902
+ "GroundBgInit",
19903
+ "Initializes the ground_bg struct by setting most fields to 0 and allocating memory for sub-structs.\n\nr0: ground_bg struct pointer\nr1: Unknown sub-struct of ground_bg (offset 0x52C)",
19904
+ None,
19905
+ )
19906
+
19907
+ GroundBgFreeAll = Symbol(
19908
+ [0xFC6C],
19909
+ [0x22EBEAC],
19910
+ None,
19911
+ "GroundBgFreeAll",
19912
+ "Frees memory and closes any open files in the ground_bg struct.\n\nr0: ground_bg struct pointer",
19913
+ None,
19914
+ )
19915
+
19916
+ GroundBgCloseOpenedFiles = Symbol(
19917
+ [0xFD88],
19918
+ [0x22EBFC8],
19919
+ None,
19920
+ "GroundBgCloseOpenedFiles",
19921
+ "Closes any open files in the ground_bg struct.\n\nr0: ground_bg struct pointer",
19922
+ None,
19923
+ )
19924
+
19213
19925
  LoadMapType10 = Symbol(
19214
19926
  [0x10AE4],
19215
19927
  [0x22ECD24],
@@ -19228,6 +19940,15 @@ class NaOverlay11Functions:
19228
19940
  None,
19229
19941
  )
19230
19942
 
19943
+ BmaLayerNrlDecompressor = Symbol(
19944
+ [0x12094],
19945
+ [0x22EE2D4],
19946
+ None,
19947
+ "BmaLayerNrlDecompressor",
19948
+ "Decompresses the NRL-compressed data in a .bma file.\n\nr0: [output] Array to hold the decompressed data\nr1: Pointer to the start of the compressed .bma data to decompress\nr2: Unknown ground_bg sub-struct (offset 0x52C)\nr3: .bma file header\nreturn: Pointer at the end of the .bma data",
19949
+ None,
19950
+ )
19951
+
19231
19952
  GetSpecialLayoutBackground = Symbol(
19232
19953
  [0x1531C],
19233
19954
  [0x22F155C],
@@ -20137,6 +20858,15 @@ class NaOverlay11Functions:
20137
20858
  None,
20138
20859
  )
20139
20860
 
20861
+ SwapShopInventoryManager = Symbol(
20862
+ [0x2EFCC],
20863
+ [0x230B20C],
20864
+ None,
20865
+ "SwapShopInventoryManager",
20866
+ "Called primarily handle the display and preparation of the swap shop inventory list, exclusive items list, and the item trade list. \nCreates a swap_shop_inventory_data struct if one does not already exist. \nIs the child function to SwapShopDialogueManager.\n\nr0: switch case index for the function: 0 = Swap List Inventory, 1 = Unknown, 2 = Species Exclusive Item List, 3 = Item Trade Away Selection List.\nr1: Depends on r0. If case 2: ID of the monster to retrieve an exclusive item list for. If case 3: Number of Exclusive Items the player owns.",
20867
+ None,
20868
+ )
20869
+
20140
20870
  HandleControlsTopScreenGround = Symbol(
20141
20871
  [0x323D8],
20142
20872
  [0x230E618],
@@ -20313,6 +21043,15 @@ class NaOverlay11Data:
20313
21043
  "struct monster_id_16[22]",
20314
21044
  )
20315
21045
 
21046
+ POSITION_ZERO = Symbol(
21047
+ [0x449B8],
21048
+ [0x2320BF8],
21049
+ 0x8,
21050
+ "POSITION_ZERO",
21051
+ "A pixel_position struct initialized at position (0, 0). Used to initialize the camera_pixel_position field in the ground_bg struct.\n\ntype: struct pixel_position",
21052
+ "struct pixel_position",
21053
+ )
21054
+
20316
21055
  LEVEL_TILEMAP_LIST = Symbol(
20317
21056
  [0x44AEC],
20318
21057
  [0x2320D2C],
@@ -20402,6 +21141,15 @@ class NaOverlay11Data:
20402
21141
  "struct main_ground_data",
20403
21142
  )
20404
21143
 
21144
+ SWAP_SHOP_INVENTORY_PTRS = Symbol(
21145
+ [0x48B64],
21146
+ [0x2324DA4],
21147
+ None,
21148
+ "SWAP_SHOP_INVENTORY_PTRS",
21149
+ "Host pointers to multiple structures used for performing internal Swap Shop checks.",
21150
+ "struct swap_shop_inventory_ptrs",
21151
+ )
21152
+
20405
21153
  WORLD_MAP_MODE = Symbol(
20406
21154
  [0x48BA4],
20407
21155
  [0x2324DE4],
@@ -22377,7 +23125,68 @@ class NaOverlay20Section:
22377
23125
 
22378
23126
  class NaOverlay21Functions:
22379
23127
 
22380
- pass
23128
+ SwapShopDialogueManager = Symbol(
23129
+ [0x0],
23130
+ [0x238A140],
23131
+ None,
23132
+ "SwapShopDialogueManager",
23133
+ "Called primarily to fill dialogue boxes or display portraits, this function exists to print the next portrait, dialogue, or input for the Swap Shop. \nConsistently writes the provided input to shared_switch_case, and occasionally writes to next_switch_case. \nOften calls SwapShopInventoryManager, and is often called by SwapShopMainManager.\n\nr0: New current_switch_case value.",
23134
+ None,
23135
+ )
23136
+
23137
+ GetFirstExclusivePrerequisite = Symbol(
23138
+ [0x16A0],
23139
+ [0x238B7E0],
23140
+ None,
23141
+ "GetFirstExclusivePrerequisite",
23142
+ "Retrieves the item ID of the first item needed to trade for the specified item. There are hardcoded exceptions for the Eeveelution/Hitmontrio items,\nbut outside of that, the output will be as follows.\n output_id = input_id - ((input_id - 0x1FA) % 4)\n\nr0: item ID of the exclusive item to be checked.\nreturn: item ID of the first exclusive item required to trade for the input.",
23143
+ None,
23144
+ )
23145
+
23146
+ SwapShopEntryPoint = Symbol(
23147
+ [0x1708],
23148
+ [0x238B848],
23149
+ None,
23150
+ "SwapShopEntryPoint",
23151
+ "Is the entrypoint of the overlay_load_entry, and seems to run once to initiate the Swap Shop. Is not called anywhere else.\nAllocates space for swap_shop_menu_data, and initializes many of its fields.\n\nreturn: Always returns 1.",
23152
+ None,
23153
+ )
23154
+
23155
+ SwapShopDestructor = Symbol(
23156
+ [0x17BC],
23157
+ [0x238B8FC],
23158
+ None,
23159
+ "SwapShopDestructor",
23160
+ "Is the destructor of the overlay_load_entry, and seems to run once on closing the Swap Shop. Is not called anywhere else.\nFrees up the allocated space for swap_shop_menu_data if it is not already empty.\n\nNo params.",
23161
+ None,
23162
+ )
23163
+
23164
+ SwapShopMainManager = Symbol(
23165
+ [0x17E8],
23166
+ [0x238B928],
23167
+ None,
23168
+ "SwapShopMainManager",
23169
+ "Called every frame the Croagunk Swap Shop is open, acting as a parent function for the various processes the Swap Shop is responsible for. \nPrimarily handles displaying dialogue boxes, retrieving menu selections, and contributing updates to the various switch case indices.\nOften calls SwapShopDialogueManager, either with an immediate or with the designated next_switch_case value. \n\nreturn: Typically returns 1, but seems to return 4 to exit the Swap Shop. Possibly related to the explorerscript output?",
23170
+ None,
23171
+ )
23172
+
23173
+ CloseTextboxAndSimpleMenu = Symbol(
23174
+ [0x27E0],
23175
+ [0x238C920],
23176
+ None,
23177
+ "CloseTextboxAndSimpleMenu",
23178
+ "Checks both the text_window_id and menu_window_id for -2. If either are not -2, close the textbox/simple menu, and assign the id to -2.\n\nNo params.",
23179
+ None,
23180
+ )
23181
+
23182
+ SwapShopPrintCurrentGold = Symbol(
23183
+ [0x2864],
23184
+ [0x238C9A4],
23185
+ None,
23186
+ "SwapShopPrintCurrentGold",
23187
+ "A text box callback function containing the player's current gold using SWAP_SHOP_GOLD_STRING, as seen on the Swap Shop main menu.\n\nr0: window_id of the textbox",
23188
+ None,
23189
+ )
22381
23190
 
22382
23191
 
22383
23192
  class NaOverlay21Data:
@@ -22387,7 +23196,7 @@ class NaOverlay21Data:
22387
23196
  [0x238CA28],
22388
23197
  0x10,
22389
23198
  "SWAP_SHOP_WINDOW_PARAMS_1",
22390
- "Note: unverified, ported from Irdkwia's notes",
23199
+ "Used with SwapShopPrintCurrentGold for a simple textbox.",
22391
23200
  "struct window_params",
22392
23201
  )
22393
23202
 
@@ -22396,7 +23205,7 @@ class NaOverlay21Data:
22396
23205
  [0x238CA38],
22397
23206
  0x18,
22398
23207
  "SWAP_SHOP_MENU_ITEMS_CONFIRM",
22399
- "",
23208
+ "Used with SWAP_SHOP_WINDOW_PARAMS_7.",
22400
23209
  "struct simple_menu_id_item[3]",
22401
23210
  )
22402
23211
 
@@ -22405,7 +23214,7 @@ class NaOverlay21Data:
22405
23214
  [0x238CA50],
22406
23215
  0x18,
22407
23216
  "SWAP_SHOP_SUBMENU_ITEMS_1",
22408
- "",
23217
+ "Used with SWAP_SHOP_WINDOW_PARAMS_6.",
22409
23218
  "struct simple_menu_id_item[3]",
22410
23219
  )
22411
23220
 
@@ -22414,7 +23223,7 @@ class NaOverlay21Data:
22414
23223
  [0x238CA68],
22415
23224
  0x20,
22416
23225
  "SWAP_SHOP_SUBMENU_ITEMS_2",
22417
- "",
23226
+ "Used with SWAP_SHOP_WINDOW_PARAMS_7.",
22418
23227
  "struct simple_menu_id_item[4]",
22419
23228
  )
22420
23229
 
@@ -22423,7 +23232,7 @@ class NaOverlay21Data:
22423
23232
  [0x238CA88],
22424
23233
  0x20,
22425
23234
  "SWAP_SHOP_MAIN_MENU_ITEMS_1",
22426
- "",
23235
+ "Used with SWAP_SHOP_WINDOW_PARAMS_6.",
22427
23236
  "struct simple_menu_id_item[4]",
22428
23237
  )
22429
23238
 
@@ -22432,7 +23241,7 @@ class NaOverlay21Data:
22432
23241
  [0x238CAA8],
22433
23242
  0x28,
22434
23243
  "SWAP_SHOP_MAIN_MENU_ITEMS_2",
22435
- "",
23244
+ "Used alongside SWAP_SHOP_WINDOW_PARAMS_5.",
22436
23245
  "struct simple_menu_id_item[5]",
22437
23246
  )
22438
23247
 
@@ -22441,7 +23250,7 @@ class NaOverlay21Data:
22441
23250
  [0x238CAD0],
22442
23251
  0x30,
22443
23252
  "SWAP_SHOP_SUBMENU_ITEMS_3",
22444
- "",
23253
+ "Used alongside SWAP_SHOP_WINDOW_PARAMS_9.",
22445
23254
  "struct simple_menu_id_item[6]",
22446
23255
  )
22447
23256
 
@@ -22450,8 +23259,8 @@ class NaOverlay21Data:
22450
23259
  [0x238CB00],
22451
23260
  0x38,
22452
23261
  "OVERLAY21_UNKNOWN_STRING_IDS",
22453
- "Note: unverified, ported from Irdkwia's notes",
22454
- "",
23262
+ "Seem to be completely unused by the Swap Shop, but the strings are 1:1 for the ones that are in use elsewhere in the shop.",
23263
+ "int16_t[24]",
22455
23264
  )
22456
23265
 
22457
23266
  SWAP_SHOP_WINDOW_PARAMS_2 = Symbol(
@@ -22459,7 +23268,7 @@ class NaOverlay21Data:
22459
23268
  [0x238CB38],
22460
23269
  0x10,
22461
23270
  "SWAP_SHOP_WINDOW_PARAMS_2",
22462
- "Note: unverified, ported from Irdkwia's notes",
23271
+ "Seem to be completely unused by the Swap Shop.",
22463
23272
  "struct window_params",
22464
23273
  )
22465
23274
 
@@ -22468,7 +23277,7 @@ class NaOverlay21Data:
22468
23277
  [0x238CB48],
22469
23278
  0x10,
22470
23279
  "SWAP_SHOP_WINDOW_PARAMS_3",
22471
- "Note: unverified, ported from Irdkwia's notes",
23280
+ "Seem to be completely unused by the Swap Shop.",
22472
23281
  "struct window_params",
22473
23282
  )
22474
23283
 
@@ -22477,7 +23286,7 @@ class NaOverlay21Data:
22477
23286
  [0x238CB58],
22478
23287
  0x10,
22479
23288
  "SWAP_SHOP_WINDOW_PARAMS_4",
22480
- "Note: unverified, ported from Irdkwia's notes",
23289
+ "Seem to be completely unused by the Swap Shop.",
22481
23290
  "struct window_params",
22482
23291
  )
22483
23292
 
@@ -22486,7 +23295,7 @@ class NaOverlay21Data:
22486
23295
  [0x238CB68],
22487
23296
  0x10,
22488
23297
  "SWAP_SHOP_WINDOW_PARAMS_5",
22489
- "Note: unverified, ported from Irdkwia's notes",
23298
+ "Used alongside SWAP_SHOP_MAIN_MENU_ITEMS_2.",
22490
23299
  "struct window_params",
22491
23300
  )
22492
23301
 
@@ -22495,7 +23304,7 @@ class NaOverlay21Data:
22495
23304
  [0x238CB78],
22496
23305
  0x10,
22497
23306
  "SWAP_SHOP_WINDOW_PARAMS_6",
22498
- "Note: unverified, ported from Irdkwia's notes",
23307
+ "Used alongside both SWAP_SHOP_MAIN_MENU_ITEMS_1 and SWAP_SHOP_SUBMENU_ITEMS_1.",
22499
23308
  "struct window_params",
22500
23309
  )
22501
23310
 
@@ -22504,7 +23313,7 @@ class NaOverlay21Data:
22504
23313
  [0x238CB88],
22505
23314
  0x10,
22506
23315
  "SWAP_SHOP_WINDOW_PARAMS_7",
22507
- "Note: unverified, ported from Irdkwia's notes",
23316
+ "Used alongside both SWAP_SHOP_MENU_ITEMS_CONFIRM and SWAP_SHOP_SUBMENU_ITEMS_2.",
22508
23317
  "struct window_params",
22509
23318
  )
22510
23319
 
@@ -22513,7 +23322,7 @@ class NaOverlay21Data:
22513
23322
  [0x238CB98],
22514
23323
  0x10,
22515
23324
  "SWAP_SHOP_WINDOW_PARAMS_8",
22516
- "Note: unverified, ported from Irdkwia's notes",
23325
+ "Used alone, seemingly for the exclusive item description window.",
22517
23326
  "struct window_params",
22518
23327
  )
22519
23328
 
@@ -22522,12 +23331,246 @@ class NaOverlay21Data:
22522
23331
  [0x238CBA8],
22523
23332
  0x10,
22524
23333
  "SWAP_SHOP_WINDOW_PARAMS_9",
22525
- "Note: unverified, ported from Irdkwia's notes",
23334
+ "Used alongside SWAP_SHOP_SUBMENU_ITEMS_3.",
22526
23335
  "struct window_params",
22527
23336
  )
22528
23337
 
23338
+ SWAP_SHOP_TALK_WELCOME_DEBUG_STRING = Symbol(
23339
+ [0x2A78],
23340
+ [0x238CBB8],
23341
+ None,
23342
+ "SWAP_SHOP_TALK_WELCOME_DEBUG_STRING",
23343
+ "MENU_SYNTHESIS_MODE_START:\n",
23344
+ "char[28]",
23345
+ )
23346
+
23347
+ SWAP_SHOP_MAIN_MENU_OPTIONS_DEBUG_STRING = Symbol(
23348
+ [0x2A94],
23349
+ [0x238CBD4],
23350
+ None,
23351
+ "SWAP_SHOP_MAIN_MENU_OPTIONS_DEBUG_STRING",
23352
+ "MENU_SYNTHESIS_MODE_SELECTMENU:\n",
23353
+ "char[33]",
23354
+ )
23355
+
23356
+ SWAP_SHOP_TALK_CONTINUE_SWAP_DEBUG_STRING = Symbol(
23357
+ [0x2AB8],
23358
+ [0x238CBF8],
23359
+ None,
23360
+ "SWAP_SHOP_TALK_CONTINUE_SWAP_DEBUG_STRING",
23361
+ "MENU_SYNTHESIS_MODE_RESTART:\n",
23362
+ "char[30]",
23363
+ )
23364
+
23365
+ SWAP_SHOP_TALK_SUBINFO_DEBUG_STRING = Symbol(
23366
+ [0x2AD8],
23367
+ [0x238CC18],
23368
+ None,
23369
+ "SWAP_SHOP_TALK_SUBINFO_DEBUG_STRING",
23370
+ "MENU_SYNTHESIS_MODE_EXPLANATION:\n",
23371
+ "char[34]",
23372
+ )
23373
+
23374
+ SWAP_SHOP_TALK_COME_AGAIN_DEBUG_STRING = Symbol(
23375
+ [0x2AFC],
23376
+ [0x238CC3C],
23377
+ None,
23378
+ "SWAP_SHOP_TALK_COME_AGAIN_DEBUG_STRING",
23379
+ "MENU_SYNTHESIS_MODE_THANKS:\n",
23380
+ "char[29]",
23381
+ )
23382
+
23383
+ SWAP_SHOP_TALK_LACKING_SWAP_ITEMS_DEBUG_STRING = Symbol(
23384
+ [0x2B1C],
23385
+ [0x238CC5C],
23386
+ None,
23387
+ "SWAP_SHOP_TALK_LACKING_SWAP_ITEMS_DEBUG_STRING",
23388
+ "MENU_SYNTHESIS_MODE_ITEM_NON:\n",
23389
+ "char[31]",
23390
+ )
23391
+
23392
+ SWAP_SHOP_TALK_SWAP_BROKE_DEBUG_STRING = Symbol(
23393
+ [0x2B3C],
23394
+ [0x238CC7C],
23395
+ None,
23396
+ "SWAP_SHOP_TALK_SWAP_BROKE_DEBUG_STRING",
23397
+ "MENU_SYNTHESIS_MODE_GOLD_NON\n",
23398
+ "char[30]",
23399
+ )
23400
+
23401
+ SWAP_SHOP_TALK_SWAP_POOR_DEBUG_STRING = Symbol(
23402
+ [0x2B5C],
23403
+ [0x238CC9C],
23404
+ None,
23405
+ "SWAP_SHOP_TALK_SWAP_POOR_DEBUG_STRING",
23406
+ "MENU_SYNTHESIS_GOLD",
23407
+ "char[19]",
23408
+ )
23409
+
23410
+ SWAP_SHOP_UNK_8_DEBUG_STRING = Symbol(
23411
+ [0x2B80],
23412
+ [0x238CCC0],
23413
+ None,
23414
+ "SWAP_SHOP_UNK_8_DEBUG_STRING",
23415
+ "MENU_SYNTHESIS_MODE_SELECT_FULL:\n",
23416
+ "char[34]",
23417
+ )
23418
+
23419
+ SWAP_SHOP_CLOSE_SHOP_DEBUG_STRING = Symbol(
23420
+ [0x2BA4],
23421
+ [0x238CCE4],
23422
+ None,
23423
+ "SWAP_SHOP_CLOSE_SHOP_DEBUG_STRING",
23424
+ "MENU_SYNTHESIS_MODE_QUIT\n",
23425
+ "char[26]",
23426
+ )
23427
+
23428
+ SWAP_SHOP_TALK_WHAT_ITEMS_DEBUG_STRING = Symbol(
23429
+ [0x2BC0],
23430
+ [0x238CD00],
23431
+ None,
23432
+ "SWAP_SHOP_TALK_WHAT_ITEMS_DEBUG_STRING",
23433
+ "MENU_SYNTHESIS_MODE_SELECT_START:\n",
23434
+ "char[35]",
23435
+ )
23436
+
23437
+ SWAP_SHOP_TALK_VALUABLE_SWAP_DEBUG_STRING = Symbol(
23438
+ [0x2BE4],
23439
+ [0x238CD24],
23440
+ None,
23441
+ "SWAP_SHOP_TALK_VALUABLE_SWAP_DEBUG_STRING",
23442
+ "MENU_SYNTHESIS_MODE__RESTART:\n",
23443
+ "char[31]",
23444
+ )
23445
+
23446
+ SWAP_SHOP_INIT_SWAP_ITEMS_MENU_DEBUG_STRING = Symbol(
23447
+ [0x2C04],
23448
+ [0x238CD44],
23449
+ None,
23450
+ "SWAP_SHOP_INIT_SWAP_ITEMS_MENU_DEBUG_STRING",
23451
+ "MENU_SYNTHESIS_MODE_SELECT_INIT:\n",
23452
+ "char[34]",
23453
+ )
23454
+
23455
+ SWAP_SHOP_SWAP_ITEMS_MENU_DEBUG_STRING = Symbol(
23456
+ [0x2C28],
23457
+ [0x238CD68],
23458
+ None,
23459
+ "SWAP_SHOP_SWAP_ITEMS_MENU_DEBUG_STRING",
23460
+ "MENU_SYNTHESIS_MODE_SELECT_SELECT:\n",
23461
+ "char[36]",
23462
+ )
23463
+
23464
+ SWAP_SHOP_RETURN_SWAP_ITEMS_MENU_DEBUG_STRING = Symbol(
23465
+ [0x2C4C],
23466
+ [0x238CD8C],
23467
+ None,
23468
+ "SWAP_SHOP_RETURN_SWAP_ITEMS_MENU_DEBUG_STRING",
23469
+ "MENU_SYNTHESIS_MODE_SELECT_RESELECT:\n",
23470
+ "char[38]",
23471
+ )
23472
+
23473
+ SWAP_SHOP_SELECT_SWAP_ITEM_OPTIONS_DEBUG_STRING = Symbol(
23474
+ [0x2C74],
23475
+ [0x238CDB4],
23476
+ None,
23477
+ "SWAP_SHOP_SELECT_SWAP_ITEM_OPTIONS_DEBUG_STRING",
23478
+ "\tMENU_SYNTHESIS_MODE_SELECT_SUB_MENU:\n",
23479
+ "char[40]",
23480
+ )
23481
+
23482
+ SWAP_SHOP_SWAP_ITEM_GET_INFO_DEBUG_STRING = Symbol(
23483
+ [0x2C9C],
23484
+ [0x238CDDC],
23485
+ None,
23486
+ "SWAP_SHOP_SWAP_ITEM_GET_INFO_DEBUG_STRING",
23487
+ "MENU_SYNTHESIS_MODE_SELECT_EXPLA\n",
23488
+ "char[34]",
23489
+ )
23490
+
23491
+ SWAP_SHOP_ITEM_ZERO_STRING = Symbol(
23492
+ [0x2CC0], [0x238CE00], None, "SWAP_SHOP_ITEM_ZERO_STRING", "[item:0]", "char[8]"
23493
+ )
23494
+
23495
+ SWAP_SHOP_TALK_CONFIRM_SWAP_DEBUG_STRING = Symbol(
23496
+ [0x2CCC],
23497
+ [0x238CE0C],
23498
+ None,
23499
+ "SWAP_SHOP_TALK_CONFIRM_SWAP_DEBUG_STRING",
23500
+ "MENU_SYNTHESIS_MODE_SELECT_CONFIRM_1:\n",
23501
+ "char[39]",
23502
+ )
23503
+
23504
+ SWAP_SHOP_CONFIRM_CHOICE_DEBUG_STRING = Symbol(
23505
+ [0x2CF4],
23506
+ [0x238CE34],
23507
+ None,
23508
+ "SWAP_SHOP_CONFIRM_CHOICE_DEBUG_STRING",
23509
+ "_SELL_CONFIRM NEW_1\n",
23510
+ "char[21]",
23511
+ )
23512
+
23513
+ SWAP_SHOP_INIT_SCRIPT_ACTION_1_DEBUG_STRING = Symbol(
23514
+ [0x2D0C],
23515
+ [0x238CE4C],
23516
+ None,
23517
+ "SWAP_SHOP_INIT_SCRIPT_ACTION_1_DEBUG_STRING",
23518
+ "MENU_SYNTHESIS_MODE_SELECT_THANKS_ACTION:\n",
23519
+ "char[43]",
23520
+ )
23521
+
23522
+ SWAP_SHOP_INIT_SCRIPT_ACTION_2_DEBUG_STRING = Symbol(
23523
+ [0x2D38],
23524
+ [0x238CE78],
23525
+ None,
23526
+ "SWAP_SHOP_INIT_SCRIPT_ACTION_2_DEBUG_STRING",
23527
+ "MENU_SYNTHESIS_MODE_SELECT_THANKS_ACTION2:\n",
23528
+ "char[44]",
23529
+ )
23530
+
23531
+ SWAP_SHOP_INIT_SCRIPT_ACTION_3_DEBUG_STRING = Symbol(
23532
+ [0x2D64],
23533
+ [0x238CEA4],
23534
+ None,
23535
+ "SWAP_SHOP_INIT_SCRIPT_ACTION_3_DEBUG_STRING",
23536
+ "MENU_SYNTHESIS_MODE_SELECT_THANKS_ACTION3:\n",
23537
+ "char[44]",
23538
+ )
23539
+
23540
+ SWAP_SHOP_TEXT_PUT_IN_CAULDRON_DEBUG_STRING = Symbol(
23541
+ [0x2D90],
23542
+ [0x238CED0],
23543
+ None,
23544
+ "SWAP_SHOP_TEXT_PUT_IN_CAULDRON_DEBUG_STRING",
23545
+ "MENU_SYNTHESIS_MODE_SELECT_THANKS_1:\n",
23546
+ "char[38]",
23547
+ )
23548
+
23549
+ SWAP_SHOP_DO_SWAP_THEN_TALK_DEBUG_STRING = Symbol(
23550
+ [0x2DB8],
23551
+ [0x238CEF8],
23552
+ None,
23553
+ "SWAP_SHOP_DO_SWAP_THEN_TALK_DEBUG_STRING",
23554
+ "MENU_SYNTHESIS_MODE_SELECT_THANKS:\n",
23555
+ "char[36]",
23556
+ )
23557
+
22529
23558
  OVERLAY21_JP_STRING = Symbol(
22530
- [0x2DDC], [0x238CF1C], 0x8, "OVERLAY21_JP_STRING", "合成:", ""
23559
+ [0x2DDC],
23560
+ [0x238CF1C],
23561
+ 0x8,
23562
+ "OVERLAY21_JP_STRING",
23563
+ "合成:(synthesis in Japanese)",
23564
+ "wchar_t[3]",
23565
+ )
23566
+
23567
+ SWAP_SHOP_GOLD_STRING = Symbol(
23568
+ [0x2DE4],
23569
+ [0x238CF24],
23570
+ None,
23571
+ "SWAP_SHOP_GOLD_STRING",
23572
+ "[CS:V][gold:0][CR]",
23573
+ "char[18]",
22531
23574
  )
22532
23575
 
22533
23576
  OVERLAY21_RESERVED_SPACE = Symbol(
@@ -22536,16 +23579,16 @@ class NaOverlay21Data:
22536
23579
  0x8,
22537
23580
  "OVERLAY21_RESERVED_SPACE",
22538
23581
  "Note: unverified, ported from Irdkwia's notes",
22539
- "",
23582
+ "undefined[8]",
22540
23583
  )
22541
23584
 
22542
- OVERLAY21_UNKNOWN_POINTER__NA_238CF40 = Symbol(
23585
+ SWAP_SHOP_MENU_DATA_PTR = Symbol(
22543
23586
  [0x2E00],
22544
23587
  [0x238CF40],
22545
23588
  0x4,
22546
- "OVERLAY21_UNKNOWN_POINTER__NA_238CF40",
22547
- "Note: unverified, ported from Irdkwia's notes",
22548
- "",
23589
+ "SWAP_SHOP_MENU_DATA_PTR",
23590
+ "Pointer to the swap_shop_menu_data that governs the operations of most overlay_21 functions.",
23591
+ "struct swap_shop_menu_data*",
22549
23592
  )
22550
23593
 
22551
23594
  OVERLAY21_UNKNOWN_POINTER__NA_238CF44 = Symbol(
@@ -22554,7 +23597,7 @@ class NaOverlay21Data:
22554
23597
  0x4,
22555
23598
  "OVERLAY21_UNKNOWN_POINTER__NA_238CF44",
22556
23599
  "Note: unverified, ported from Irdkwia's notes",
22557
- "",
23600
+ "undefined*",
22558
23601
  )
22559
23602
 
22560
23603
 
@@ -23703,6 +24746,15 @@ class NaOverlay29Functions:
23703
24746
  None,
23704
24747
  )
23705
24748
 
24749
+ FloorSecondaryTerrainIsChasm = Symbol(
24750
+ [0x4138],
24751
+ [0x22E0378],
24752
+ None,
24753
+ "FloorSecondaryTerrainIsChasm",
24754
+ "Returns true if the current floor has a chasm secondary terrain, checking first if floor_generation_status::has_chasms_as_secondary_terrain is true\nand if not, whether the tileset's entry in SECONDARY_TERRAIN_TYPES is SECONDARY_TERRAIN_CHASM.\n\nr0: tileset id\nreturn: bool",
24755
+ None,
24756
+ )
24757
+
23706
24758
  GetFloorType = Symbol(
23707
24759
  [0x4170],
23708
24760
  [0x22E03B0],
@@ -23784,6 +24836,24 @@ class NaOverlay29Functions:
23784
24836
  None,
23785
24837
  )
23786
24838
 
24839
+ SetDungeonEscapeFields = Symbol(
24840
+ [0x47A8],
24841
+ [0x22E09E8],
24842
+ None,
24843
+ "SetDungeonEscapeFields",
24844
+ "Sets the successful_exit_tracker and end_floor_no_death_check_flag fields of the dungeon struct.\n\nr0: new successful_exit_tracker\nr1: new end_floor_no_death_check_flag",
24845
+ None,
24846
+ )
24847
+
24848
+ GetSuccessfulExitTracker = Symbol(
24849
+ [0x47C4],
24850
+ [0x22E0A04],
24851
+ None,
24852
+ "GetSuccessfulExitTracker",
24853
+ "Returns the successful_exit_tracker field of the dungeon struct.\n\nreturn: successful_exit_tracker",
24854
+ None,
24855
+ )
24856
+
23787
24857
  CheckTouchscreenArea = Symbol(
23788
24858
  [0x4A78],
23789
24859
  [0x22E0CB8],
@@ -23951,7 +25021,7 @@ class NaOverlay29Functions:
23951
25021
  [0x22E2AD8],
23952
25022
  None,
23953
25023
  "SubstitutePlaceholderStringTags",
23954
- "Replaces instances of a given placeholder tag by the string representation of the given entity.\n\nFrom the eos-move-effects docs (which are somewhat nebulous): 'Replaces the string at StringID [r0] by the string representation of the target [r1] (aka its name). Any message with the string manipulator '[string:StringID]' will use that string'.\n\nThe game uses various placeholder tags in its strings, which you can read about here: https://textbox.skytemple.org/.\n\nr0: string ID (unclear what this means)\nr1: entity pointer\nr2: ?",
25024
+ "Replaces instances of a given placeholder tag by the string representation of the given entity.\n\nFrom the eos-move-effects docs (which are somewhat nebulous): 'Replaces the string at StringID [r0] by the string representation of the target [r1] (aka its name). Any message with the string manipulator '[string:StringID]' will use that string'.\n\nThe game uses various placeholder tags in its strings, which you can read about here: https://textbox.skytemple.org/.\n\nr0: string ID (unclear what this means)\nr1: entity pointer\nr2: unused",
23955
25025
  None,
23956
25026
  )
23957
25027
 
@@ -24118,6 +25188,15 @@ class NaOverlay29Functions:
24118
25188
  None,
24119
25189
  )
24120
25190
 
25191
+ PlayParalysisEffect = Symbol(
25192
+ [0x8000],
25193
+ [0x22E4240],
25194
+ None,
25195
+ "PlayParalysisEffect",
25196
+ "Displays the graphical effect on a monster that just became paralyzed.\n\nr0: entity pointer",
25197
+ None,
25198
+ )
25199
+
24121
25200
  PlayEffectAnimationEntityStandard = Symbol(
24122
25201
  [0x80A8],
24123
25202
  [0x22E42E8],
@@ -24127,6 +25206,24 @@ class NaOverlay29Functions:
24127
25206
  None,
24128
25207
  )
24129
25208
 
25209
+ PlaySpeedUpEffect = Symbol(
25210
+ [0x828C],
25211
+ [0x22E44CC],
25212
+ None,
25213
+ "PlaySpeedUpEffect",
25214
+ "Displays the graphical effect on a monster that just raised movement speed.\n\nr0: entity pointer",
25215
+ None,
25216
+ )
25217
+
25218
+ PlaySpeedDownEffect = Symbol(
25219
+ [0x82DC],
25220
+ [0x22E451C],
25221
+ None,
25222
+ "PlaySpeedDownEffect",
25223
+ "Displays the graphical effect on a monster that just lowered movement speed.\n\nr0: entity pointer",
25224
+ None,
25225
+ )
25226
+
24130
25227
  ShowPpRestoreEffect = Symbol(
24131
25228
  [0x8724],
24132
25229
  [0x22E4964],
@@ -24136,6 +25233,105 @@ class NaOverlay29Functions:
24136
25233
  None,
24137
25234
  )
24138
25235
 
25236
+ PlayOffensiveStatDownEffect = Symbol(
25237
+ [0x8AE8],
25238
+ [0x22E4D28],
25239
+ None,
25240
+ "PlayOffensiveStatDownEffect",
25241
+ "Displays the graphical effect on a monster that just lowered an offensive stat.\n\nr0: entity pointer\nr1: stat index",
25242
+ None,
25243
+ )
25244
+
25245
+ PlayDefensiveStatDownEffect = Symbol(
25246
+ [0x8B8C],
25247
+ [0x22E4DCC],
25248
+ None,
25249
+ "PlayDefensiveStatDownEffect",
25250
+ "Displays the graphical effect on a monster that just lowered a defensive stat.\n\nr0: entity pointer\nr1: stat index",
25251
+ None,
25252
+ )
25253
+
25254
+ PlayOffensiveStatUpEffect = Symbol(
25255
+ [0x8C34],
25256
+ [0x22E4E74],
25257
+ None,
25258
+ "PlayOffensiveStatUpEffect",
25259
+ "Displays the graphical effect on a monster that just raised an offensive stat.\n\nr0: entity pointer\nr1: stat index",
25260
+ None,
25261
+ )
25262
+
25263
+ PlayDefensiveStatUpEffect = Symbol(
25264
+ [0x8CDC],
25265
+ [0x22E4F1C],
25266
+ None,
25267
+ "PlayDefensiveStatUpEffect",
25268
+ "Displays the graphical effect on a monster that just raised a defensive stat.\n\nr0: entity pointer\nr1: stat index",
25269
+ None,
25270
+ )
25271
+
25272
+ PlayOffensiveStatMultiplierUpEffect = Symbol(
25273
+ [0x8D80],
25274
+ [0x22E4FC0],
25275
+ None,
25276
+ "PlayOffensiveStatMultiplierUpEffect",
25277
+ "Displays the graphical effect on a monster that just raised an offensive stat multiplier.\n\nr0: entity pointer\nr1: stat index",
25278
+ None,
25279
+ )
25280
+
25281
+ PlayOffensiveStatMultiplierDownEffect = Symbol(
25282
+ [0x8E28],
25283
+ [0x22E5068],
25284
+ None,
25285
+ "PlayOffensiveStatMultiplierDownEffect",
25286
+ "Displays the graphical effect on a monster that just lowered an offensive stat multiplier.\n\nr0: entity pointer\nr1: stat index",
25287
+ None,
25288
+ )
25289
+
25290
+ PlayDefensiveStatMultiplierUpEffect = Symbol(
25291
+ [0x8ECC],
25292
+ [0x22E510C],
25293
+ None,
25294
+ "PlayDefensiveStatMultiplierUpEffect",
25295
+ "Displays the graphical effect on a monster that just raised a defensive stat multiplier.\n\nr0: entity pointer\nr1: stat index",
25296
+ None,
25297
+ )
25298
+
25299
+ PlayDefensiveStatMultiplierDownEffect = Symbol(
25300
+ [0x8F70],
25301
+ [0x22E51B0],
25302
+ None,
25303
+ "PlayDefensiveStatMultiplierDownEffect",
25304
+ "Displays the graphical effect on a monster that just lowered a defensive stat multiplier.\n\nr0: entity pointer\nr1: stat index",
25305
+ None,
25306
+ )
25307
+
25308
+ PlayHitChanceUpEffect = Symbol(
25309
+ [0x9018],
25310
+ [0x22E5258],
25311
+ None,
25312
+ "PlayHitChanceUpEffect",
25313
+ "Displays the graphical effect on a monster that just raised a hit chance stat.\n\nr0: entity pointer\nr1: stat index",
25314
+ None,
25315
+ )
25316
+
25317
+ PlayHitChanceDownEffect = Symbol(
25318
+ [0x90B8],
25319
+ [0x22E52F8],
25320
+ None,
25321
+ "PlayHitChanceDownEffect",
25322
+ "Displays the graphical effect on a monster that just lowered a hit chance stat.\n\nr0: entity pointer\nr1: stat index",
25323
+ None,
25324
+ )
25325
+
25326
+ PlaySeByIdIfShouldDisplayEntity = Symbol(
25327
+ [0x9460],
25328
+ [0x22E56A0],
25329
+ None,
25330
+ "PlaySeByIdIfShouldDisplayEntity",
25331
+ "Plays the specified sound effect if ShouldDisplayEntityAdvanced returns true for the entity (or if the entity pointer is null).\n\nr0: entity pointer\nr1: Sound effect ID",
25332
+ None,
25333
+ )
25334
+
24139
25335
  ShouldDisplayEntityAdvanced = Symbol(
24140
25336
  [0x9C90],
24141
25337
  [0x22E5ED0],
@@ -24181,6 +25377,15 @@ class NaOverlay29Functions:
24181
25377
  None,
24182
25378
  )
24183
25379
 
25380
+ GetRandomTrapId = Symbol(
25381
+ [0xB84C],
25382
+ [0x22E7A8C],
25383
+ None,
25384
+ "GetRandomTrapId",
25385
+ "Gets the id of the trap to be used as the effect of a Random Trap.\n\nreturn: trap id",
25386
+ None,
25387
+ )
25388
+
24184
25389
  GetItemIdToSpawn = Symbol(
24185
25390
  [0xB884],
24186
25391
  [0x22E7AC4],
@@ -24343,6 +25548,15 @@ class NaOverlay29Functions:
24343
25548
  None,
24344
25549
  )
24345
25550
 
25551
+ IsPositionWithinTwoTiles = Symbol(
25552
+ [0xD11C],
25553
+ [0x22E935C],
25554
+ None,
25555
+ "IsPositionWithinTwoTiles",
25556
+ "Checks if a given target position is within two tiles of a given origin position.\n\nr0: Origin position\nr1: Target position\nreturn: True if the target position within two tiles of the origin position.",
25557
+ None,
25558
+ )
25559
+
24346
25560
  GetLeader = Symbol(
24347
25561
  [0xD340],
24348
25562
  [0x22E9580],
@@ -24550,6 +25764,15 @@ class NaOverlay29Functions:
24550
25764
  None,
24551
25765
  )
24552
25766
 
25767
+ PlaySeByIdIfNotSilence = Symbol(
25768
+ [0xEA8C],
25769
+ [0x22EACCC],
25770
+ None,
25771
+ "PlaySeByIdIfNotSilence",
25772
+ "Plays the specified sound effect if it is not the designated silence value (0x3F00).\n\nr0: Sound effect ID",
25773
+ None,
25774
+ )
25775
+
24553
25776
  MusicTableIdxToMusicId = Symbol(
24554
25777
  [0xEAC0],
24555
25778
  [0x22EAD00],
@@ -24577,6 +25800,15 @@ class NaOverlay29Functions:
24577
25800
  None,
24578
25801
  )
24579
25802
 
25803
+ ResetLeaderActionFields = Symbol(
25804
+ [0xF158],
25805
+ [0x22EB398],
25806
+ None,
25807
+ "ResetLeaderActionFields",
25808
+ "Resets the leader monster's action_id fields to 0.\n\nr0: whether to also set the action_use_idx fields of the action_parameters structs and the arc_item_target_pos fields to 0",
25809
+ None,
25810
+ )
25811
+
24580
25812
  SetLeaderActionFields = Symbol(
24581
25813
  [0xF188],
24582
25814
  [0x22EB3C8],
@@ -24793,6 +26025,15 @@ class NaOverlay29Functions:
24793
26025
  None,
24794
26026
  )
24795
26027
 
26028
+ SpawnTraps = Symbol(
26029
+ [0x11648],
26030
+ [0x22ED888],
26031
+ None,
26032
+ "SpawnTraps",
26033
+ "Spawns a new dungeon floor's traps.\n\nNo params.",
26034
+ None,
26035
+ )
26036
+
24796
26037
  SpawnEnemyTrapAtPos = Symbol(
24797
26038
  [0x11730],
24798
26039
  [0x22ED970],
@@ -24811,6 +26052,15 @@ class NaOverlay29Functions:
24811
26052
  None,
24812
26053
  )
24813
26054
 
26055
+ CanLayTrap = Symbol(
26056
+ [0x119F0],
26057
+ [0x22EDC30],
26058
+ None,
26059
+ "CanLayTrap",
26060
+ "Checks if a trap can be placed on the tile.\n\nr0: position\nreturn: true if a trap can be spawned at the given position.",
26061
+ None,
26062
+ )
26063
+
24814
26064
  TrySpawnTrap = Symbol(
24815
26065
  [0x11A7C],
24816
26066
  [0x22EDCBC],
@@ -24838,6 +26088,33 @@ class NaOverlay29Functions:
24838
26088
  None,
24839
26089
  )
24840
26090
 
26091
+ TryRevealAttackedTrap = Symbol(
26092
+ [0x11C9C],
26093
+ [0x22EDEDC],
26094
+ None,
26095
+ "TryRevealAttackedTrap",
26096
+ "Reveals the trap given by the position if the dungeon struct's regular_attack_reveal_traps field is true.\n\nIs also activated on a tile if a fainted monster drops an item on it.\n\nr0: position struct pointer\nr1: boolean for whether to update trap visibility afterwards (always 1 in practice)\nreturn: true if there is a trap on the position",
26097
+ None,
26098
+ )
26099
+
26100
+ SubstitutePlaceholderTrapTags2 = Symbol(
26101
+ [0x11D1C],
26102
+ [0x22EDF5C],
26103
+ None,
26104
+ "SubstitutePlaceholderTrapTags2",
26105
+ "Used in TryTriggerTrap. Has the same functionality as SubstitutePlaceholderTrapTags.\n\nr1: tag id\nr2: trap id",
26106
+ None,
26107
+ )
26108
+
26109
+ SubstitutePlaceholderTrapTags = Symbol(
26110
+ [0x11D3C],
26111
+ [0x22EDF7C],
26112
+ None,
26113
+ "SubstitutePlaceholderTrapTags",
26114
+ "Used in SubstitutePlaceholderStringTags. Substitutes a [trap:r1] tag in a message log message for the name of a trap.\n\nr0: preprocessor_args pointer (in practice, always the global struct used for the message log)\nr1: tag id\nr2: trap id",
26115
+ None,
26116
+ )
26117
+
24841
26118
  TryTriggerTrap = Symbol(
24842
26119
  [0x11D60],
24843
26120
  [0x22EDFA0],
@@ -24964,6 +26241,15 @@ class NaOverlay29Functions:
24964
26241
  None,
24965
26242
  )
24966
26243
 
26244
+ SpawnMonstersAroundPos = Symbol(
26245
+ [0x13274],
26246
+ [0x22EF4B4],
26247
+ None,
26248
+ "SpawnMonstersAroundPos",
26249
+ "Spawns a given number of monsters around a position. Used by the Summon Trap and Grudge Trap.\n\nr0: entity pointer (unused)\nr1: position\nr2: number of enemies to spawn\nreturn: number of enemies that have actually been spawned",
26250
+ None,
26251
+ )
26252
+
24967
26253
  RevealTrapsNearby = Symbol(
24968
26254
  [0x13398],
24969
26255
  [0x22EF5D8],
@@ -25000,6 +26286,15 @@ class NaOverlay29Functions:
25000
26286
  None,
25001
26287
  )
25002
26288
 
26289
+ IsBehaviorLoneOutlaw = Symbol(
26290
+ [0x138A8],
26291
+ [0x22EFAE8],
26292
+ None,
26293
+ "IsBehaviorLoneOutlaw",
26294
+ "Checks if a behavior ID corresponds to one of the outlaw types that are not from an outlaw team. I.e., BEHAVIOR_OUTLAW, BEHAVIOR_HIDDEN_OUTLAW, or BEHAVIOR_FLEEING_OUTLAW.\n\nr0: monster behavior ID\nreturn: bool",
26295
+ None,
26296
+ )
26297
+
25003
26298
  IsSecretBazaarNpcBehavior = Symbol(
25004
26299
  [0x138C4],
25005
26300
  [0x22EFB04],
@@ -25018,6 +26313,15 @@ class NaOverlay29Functions:
25018
26313
  None,
25019
26314
  )
25020
26315
 
26316
+ GetLeaderActionId = Symbol(
26317
+ [0x1495C],
26318
+ [0x22F0B9C],
26319
+ None,
26320
+ "GetLeaderActionId",
26321
+ "Gets the current action id of the leader monster's action data.\n\nreturn: action_id",
26322
+ None,
26323
+ )
26324
+
25021
26325
  GetEntityTouchscreenArea = Symbol(
25022
26326
  [0x1496C],
25023
26327
  [0x22F0BAC],
@@ -25072,6 +26376,15 @@ class NaOverlay29Functions:
25072
26376
  None,
25073
26377
  )
25074
26378
 
26379
+ HandleHeldItemSwaps = Symbol(
26380
+ [0x1838C],
26381
+ [0x22F45CC],
26382
+ None,
26383
+ "HandleHeldItemSwaps",
26384
+ "Handles giving/taking held items to/from a party member (and likely other things).\n\nr0: entity pointer",
26385
+ None,
26386
+ )
26387
+
25075
26388
  UseSingleUseItemWrapper = Symbol(
25076
26389
  [0x1908C],
25077
26390
  [0x22F52CC],
@@ -25270,12 +26583,12 @@ class NaOverlay29Functions:
25270
26583
  None,
25271
26584
  )
25272
26585
 
25273
- CreateMonsterSummaryFromMonster = Symbol(
26586
+ CreateMonsterSummaryFromEntity = Symbol(
25274
26587
  [0x1C78C],
25275
26588
  [0x22F89CC],
25276
26589
  None,
25277
- "CreateMonsterSummaryFromMonster",
25278
- "Creates a snapshot of the condition of a monster struct in a monster_summary struct.\n\nr0: [output] monster_summary\nr1: monster",
26590
+ "CreateMonsterSummaryFromEntity",
26591
+ "Creates a snapshot of the condition of a monster struct in a monster_summary struct.\n\nr0: [output] monster_summary\nr1: monster_entity",
25279
26592
  None,
25280
26593
  )
25281
26594
 
@@ -25604,6 +26917,33 @@ class NaOverlay29Functions:
25604
26917
  None,
25605
26918
  )
25606
26919
 
26920
+ IsHero = Symbol(
26921
+ [0x1F4A4],
26922
+ [0x22FB6E4],
26923
+ None,
26924
+ "IsHero",
26925
+ "Checks if an entity is the hero, returning true if the 'Joined At' field of its monster struct is DUNGEON_JOINED_AT_QUESTION_MARKS (reserved for the hero).\n\nr0: entity pointer\nreturn: bool",
26926
+ None,
26927
+ )
26928
+
26929
+ IsSpecialStoryAllyOrClient = Symbol(
26930
+ [0x1F830],
26931
+ [0x22FBA70],
26932
+ None,
26933
+ "IsSpecialStoryAllyOrClient",
26934
+ "Same as IsSpecialStoryAlly, except taking an entity pointer and also checking if it is a client.\n\nr0: entity pointer\nreturn: bool",
26935
+ None,
26936
+ )
26937
+
26938
+ ResetTriggerFlags = Symbol(
26939
+ [0x1F874],
26940
+ [0x22FBAB4],
26941
+ None,
26942
+ "ResetTriggerFlags",
26943
+ "Resets a monster's contact_ability_trigger_bitflags and exclusive_item_trigger_bitflags fields to 0.\n\nr0: entity pointer",
26944
+ None,
26945
+ )
26946
+
25607
26947
  IsSpecialStoryAlly = Symbol(
25608
26948
  [0x1F890],
25609
26949
  [0x22FBAD0],
@@ -25622,6 +26962,33 @@ class NaOverlay29Functions:
25622
26962
  None,
25623
26963
  )
25624
26964
 
26965
+ IsMonsterLoneOutlaw = Symbol(
26966
+ [0x1FBA0],
26967
+ [0x22FBDE0],
26968
+ None,
26969
+ "IsMonsterLoneOutlaw",
26970
+ "Checks if a monster's behavior corresponds to one of the outlaw types that are not from an outlaw team. I.e., BEHAVIOR_OUTLAW, BEHAVIOR_HIDDEN_OUTLAW, or BEHAVIOR_FLEEING_OUTLAW.\n\nr0: monster pointer\nreturn: bool",
26971
+ None,
26972
+ )
26973
+
26974
+ IsSecretBazaarNpc = Symbol(
26975
+ [0x1FBB0],
26976
+ [0x22FBDF0],
26977
+ None,
26978
+ "IsSecretBazaarNpc",
26979
+ "Checks if an entity is a Secret Bazaar NPCs.\n\nr0: entity pointer\nreturn: bool",
26980
+ None,
26981
+ )
26982
+
26983
+ IsTeamMemberOnFirstTurnInFixedRoom = Symbol(
26984
+ [0x1FBC4],
26985
+ [0x22FBE04],
26986
+ None,
26987
+ "IsTeamMemberOnFirstTurnInFixedRoom",
26988
+ "Returns true if a monster is a team member, it is the first turn of the current floor, and the floor is a fixed room.\n\nr0: monster pointer\nreturn: bool",
26989
+ None,
26990
+ )
26991
+
25625
26992
  InitOtherMonsterData = Symbol(
25626
26993
  [0x1FC18],
25627
26994
  [0x22FBE58],
@@ -25820,6 +27187,15 @@ class NaOverlay29Functions:
25820
27187
  None,
25821
27188
  )
25822
27189
 
27190
+ CanMoveThroughWalls = Symbol(
27191
+ [0x236C8],
27192
+ [0x22FF908],
27193
+ None,
27194
+ "CanMoveThroughWalls",
27195
+ "Checks if a given monster can move through walls, including both the innate ability of Ghost types and outside modifiers like Mobile Scarf/Orb.\n\nr0: Entity pointer\nreturn: True if the monster can move through walls.",
27196
+ None,
27197
+ )
27198
+
25823
27199
  CannotStandOnTile = Symbol(
25824
27200
  [0x23A5C],
25825
27201
  [0x22FFC9C],
@@ -25861,7 +27237,7 @@ class NaOverlay29Functions:
25861
27237
  [0x2300108],
25862
27238
  None,
25863
27239
  "GetMonsterDisplayNameType",
25864
- "Determines how the name of a monster should be displayed.\n\nr0: Entity pointer\nreturn: Display name type",
27240
+ "Determines how the name of a monster should be displayed.\n\nr0: Monster pointer\nreturn: Display name type",
25865
27241
  None,
25866
27242
  )
25867
27243
 
@@ -25883,6 +27259,15 @@ class NaOverlay29Functions:
25883
27259
  None,
25884
27260
  )
25885
27261
 
27262
+ SetPreprocessorArgsStringToName = Symbol(
27263
+ [0x241CC],
27264
+ [0x230040C],
27265
+ None,
27266
+ "SetPreprocessorArgsStringToName",
27267
+ "Sets a strings element in a preprocessor_args struct to the name of a monster.\n\nr0: preprocessor_args pointer (if this is null, will use the global message log preprocessor_args struct)\nr1: position in strings array\nr2: monster pointer\nr3: unused\nstack[0]: if 0, will call GetMonsterName; if 1, will call GetMonsterNameWithGender; the 2 case is unknown and seemingly unused.",
27268
+ None,
27269
+ )
27270
+
25886
27271
  IsMonsterDrowsy = Symbol(
25887
27272
  [0x24270],
25888
27273
  [0x23004B0],
@@ -25991,9 +27376,18 @@ class NaOverlay29Functions:
25991
27376
  None,
25992
27377
  )
25993
27378
 
27379
+ MonsterHasQuarterHp = Symbol(
27380
+ [0x2459C],
27381
+ [0x23007DC],
27382
+ None,
27383
+ "MonsterHasQuarterHp",
27384
+ "Checks if a monster has a quarter or less HP remaining.\n\nr0: entity pointer\nreturn: bool",
27385
+ None,
27386
+ )
27387
+
25994
27388
  CheckVariousStatuses2 = Symbol(
25995
- [0x245D8],
25996
- [0x2300818],
27389
+ [0x245D8, 0x2469C],
27390
+ [0x2300818, 0x23008DC],
25997
27391
  None,
25998
27392
  "CheckVariousStatuses2",
25999
27393
  "Returns 0 if none of these conditions holds for the given entity:\nblinded (checked only if blind_check == 1),\nasleep, frozen, paused, infatuated, wrapping, wrapped, biding, petrified, or terrified.\n\nr0: Entity pointer\nr1: If true, return 1 if entity is blinded\nreturn: bool",
@@ -26001,8 +27395,8 @@ class NaOverlay29Functions:
26001
27395
  )
26002
27396
 
26003
27397
  CheckVariousConditions = Symbol(
26004
- [0x24900],
26005
- [0x2300B40],
27398
+ [0x24900, 0x249B8],
27399
+ [0x2300B40, 0x2300BF8],
26006
27400
  None,
26007
27401
  "CheckVariousConditions",
26008
27402
  "Returns 0 if none of these conditions holds for the given entity: is a rescue client,\ndoesn’t gain experience (a mission client/story teammate?), is a terrified non-team-leader,\nmeets any of the conditions in CheckVariousStatuses2 (with blind_check = 0), is charging a two-turn move.\n\nr0: Entity pointer\nreturn: bool",
@@ -26010,8 +27404,8 @@ class NaOverlay29Functions:
26010
27404
  )
26011
27405
 
26012
27406
  CheckVariousStatuses = Symbol(
26013
- [0x24A70],
26014
- [0x2300CB0],
27407
+ [0x24A70, 0x24AC0],
27408
+ [0x2300CB0, 0x2300D00],
26015
27409
  None,
26016
27410
  "CheckVariousStatuses",
26017
27411
  "Returns 0 if none of these conditions holds for the given entity: asleep, frozen, petrified, biding.\n\nr0: Entity pointer\nreturn: bool",
@@ -26081,6 +27475,24 @@ class NaOverlay29Functions:
26081
27475
  None,
26082
27476
  )
26083
27477
 
27478
+ IsAtJunction = Symbol(
27479
+ [0x25258],
27480
+ [0x2301498],
27481
+ None,
27482
+ "IsAtJunction",
27483
+ "Checks if the tile the given monster is on is considered a junction for the purposes of AI movement. This is affected by what types of terrain the monster can cross.\n\nr0: Entity pointer\nreturn: True if tile the monster is on is a junction.",
27484
+ None,
27485
+ )
27486
+
27487
+ ShouldAvoidFirstHit = Symbol(
27488
+ [0x25354],
27489
+ [0x2301594],
27490
+ None,
27491
+ "ShouldAvoidFirstHit",
27492
+ "Checks whether an AI-controlled monster should try to avoid the first hit in battle.\n\nr0: Entity pointer\nr1: If false, this function always returns false.\nreturn: True if the monster should try to avoid the first hit in battle.",
27493
+ None,
27494
+ )
27495
+
26084
27496
  ShouldMonsterRunAway = Symbol(
26085
27497
  [0x25378],
26086
27498
  [0x23015B8],
@@ -26117,6 +27529,15 @@ class NaOverlay29Functions:
26117
27529
  None,
26118
27530
  )
26119
27531
 
27532
+ GetTreatmentBetweenMonstersIgnoreStatus = Symbol(
27533
+ [0x2566C],
27534
+ [0x23018AC],
27535
+ None,
27536
+ "GetTreatmentBetweenMonstersIgnoreStatus",
27537
+ "Called to check if a monster should treat another as an ally, enemy, or ignore it. Similar to GetTreatmentBetweenMonsters, except temporary statuses (decoy, invisible, petrified) are ignored.\n\nr0: Pointer to entity 1\nr1: Pointer to entity 2\nreturn: Treatment that monster 1 should apply to monster 2",
27538
+ None,
27539
+ )
27540
+
26120
27541
  SafeguardIsActive = Symbol(
26121
27542
  [0x25700],
26122
27543
  [0x2301940],
@@ -26261,6 +27682,15 @@ class NaOverlay29Functions:
26261
27682
  None,
26262
27683
  )
26263
27684
 
27685
+ CanSeeTeammate = Symbol(
27686
+ [0x25FC0],
27687
+ [0x2302200],
27688
+ None,
27689
+ "CanSeeTeammate",
27690
+ "Checks if an allied monster can see any other teammate (via CanSeeTarget). Always returns false for enemy monsters.\n\nr0: monster pointer\nreturn: True if the monster is an allied monster that can see another teammate.",
27691
+ None,
27692
+ )
27693
+
26264
27694
  GetMoveTypeForMonster = Symbol(
26265
27695
  [0x2603C],
26266
27696
  [0x230227C],
@@ -26351,6 +27781,15 @@ class NaOverlay29Functions:
26351
27781
  None,
26352
27782
  )
26353
27783
 
27784
+ DungeonTmLearnMove = Symbol(
27785
+ [0x27694],
27786
+ [0x23038D4],
27787
+ None,
27788
+ "DungeonTmLearnMove",
27789
+ "Makes a team member learn a given move, or prompts them to forget one first if their move list is full. Used when activating a TM in dungeon mode.\n\nr0: user entity pointer\nr1: move id\nreturn: whether the move was successfully learned",
27790
+ None,
27791
+ )
27792
+
26354
27793
  GetMonsterMoves = Symbol(
26355
27794
  [0x278D8],
26356
27795
  [0x2303B18],
@@ -26585,6 +28024,15 @@ class NaOverlay29Functions:
26585
28024
  None,
26586
28025
  )
26587
28026
 
28027
+ TryEndPetrifiedOrSleepStatus = Symbol(
28028
+ [0x2B99C],
28029
+ [0x2307BDC],
28030
+ None,
28031
+ "TryEndPetrifiedOrSleepStatus",
28032
+ "Ends the target's petrified status unconditionally, and the target's sleep status if the status turns have run out.\n\nr0: user entity who attacked the target\nr1: target entity to try ending a status for.\nreturn: Whether or not the target's status ended.",
28033
+ None,
28034
+ )
28035
+
26588
28036
  EndFrozenStatus = Symbol(
26589
28037
  [0x2BA38],
26590
28038
  [0x2307C78],
@@ -26630,6 +28078,15 @@ class NaOverlay29Functions:
26630
28078
  None,
26631
28079
  )
26632
28080
 
28081
+ GetLeaderIfVisible = Symbol(
28082
+ [0x2C084],
28083
+ [0x23082C4],
28084
+ None,
28085
+ "GetLeaderIfVisible",
28086
+ "For allied monsters, gets the leader monster if they are visible to the ally. Always returns null for enemy monsters.\n\nr0: Pointer to monster\nreturn: Pointer to the leader monster if visible, null otherwise.",
28087
+ None,
28088
+ )
28089
+
26633
28090
  RunMonsterAi = Symbol(
26634
28091
  [0x2C100],
26635
28092
  [0x2308340],
@@ -26720,6 +28177,15 @@ class NaOverlay29Functions:
26720
28177
  None,
26721
28178
  )
26722
28179
 
28180
+ WeightWeakTypePicker = Symbol(
28181
+ [0x2F594],
28182
+ [0x230B7D4],
28183
+ None,
28184
+ "WeightWeakTypePicker",
28185
+ "Calculates a move weight used for deciding which target the move should be used on.\nThis function is used to calculate move weight when the attacker has the IQ skill Weak-Type Picker,\nwhich weights moves higher depending on type effectiveness.\n\nr0: attacker pointer\nr2: defender pointer\nr3: attack type\nreturn: Move weight for deciding move targeting.",
28186
+ None,
28187
+ )
28188
+
26723
28189
  CalcDamage = Symbol(
26724
28190
  [0x2F96C],
26725
28191
  [0x230BBAC],
@@ -26927,6 +28393,15 @@ class NaOverlay29Functions:
26927
28393
  None,
26928
28394
  )
26929
28395
 
28396
+ FindDirectionOfAdjacentMonsterWithItem = Symbol(
28397
+ [0x33690],
28398
+ [0x230F8D0],
28399
+ None,
28400
+ "FindDirectionOfAdjacentMonsterWithItem",
28401
+ "Given a monster, looks for an adjacent monster with the specified held item and returns the direction of that monster. Returns DIR_NONE if no monster is found. If there are multiple monsters with the specified held item, start in the direction the monster is facing and rotate in the order of DIRECTIONS_XY, picking the first direction with an eligible monster.\n\nr0: entity to look for an adjacent monster around it\nr1: held item to search for on adjacent monsters\nreturn: direction of an adjacent monster with the specified held item, or DIR_NONE if there are none.",
28402
+ None,
28403
+ )
28404
+
26930
28405
  TrySpawnEnemyItemDrop = Symbol(
26931
28406
  [0x33798],
26932
28407
  [0x230F9D8],
@@ -27022,7 +28497,7 @@ class NaOverlay29Functions:
27022
28497
  [0x231206C],
27023
28498
  None,
27024
28499
  "TryInflictPausedStatus",
27025
- "Inflicts the Paused status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: ?\nr3: number of turns\nstack[0]: flag to log a message on failure\nstack[1]: flag to only perform the check for inflicting without actually inflicting\nreturn: Whether or not the status could be inflicted",
28500
+ "Inflicts the Paused status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: bool for whether status should not be inflicted if Safeguard is active\nr3: number of turns\nstack[0]: flag to log a message on failure\nstack[1]: flag to only perform the check for inflicting without actually inflicting\nreturn: Whether or not the status could be inflicted",
27026
28501
  None,
27027
28502
  )
27028
28503
 
@@ -27274,7 +28749,7 @@ class NaOverlay29Functions:
27274
28749
  [0x2314ABC],
27275
28750
  None,
27276
28751
  "TrySealMove",
27277
- "Seals one of the target monster's moves. The move to be sealed is randomly selected.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: flag to log a message on failure\nreturn: Whether or not a move was sealed",
28752
+ "Seals one of the target monster's moves. The move to be sealed is randomly selected.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: flag to only perform the check for inflicting without actually inflicting\nreturn: Whether or not a move was sealed",
27278
28753
  None,
27279
28754
  )
27280
28755
 
@@ -27418,7 +28893,7 @@ class NaOverlay29Functions:
27418
28893
  [0x2315B70],
27419
28894
  None,
27420
28895
  "TryInflictSureShotStatus",
27421
- "Inflicts the Sure Shot status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer",
28896
+ "Inflicts the Sure Shot status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: number of turns the status will last for",
27422
28897
  None,
27423
28898
  )
27424
28899
 
@@ -27427,7 +28902,7 @@ class NaOverlay29Functions:
27427
28902
  [0x2315C00],
27428
28903
  None,
27429
28904
  "TryInflictWhifferStatus",
27430
- "Inflicts the Whiffer status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer",
28905
+ "Inflicts the Whiffer status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: number of turns the status will last for\nr3: flag to only perform the check for inflicting without actually inflicting",
27431
28906
  None,
27432
28907
  )
27433
28908
 
@@ -27454,7 +28929,7 @@ class NaOverlay29Functions:
27454
28929
  [0x2315E24],
27455
28930
  None,
27456
28931
  "TryInflictDecoyStatus",
27457
- "Inflicts the Decoy status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer\nreturn: Whether or not the status could be inflicted",
28932
+ "Inflicts the Decoy status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: value to set the target monster's unk_decoy_tracker field to\nr3: flag to log a message\nstack[0]: flag to only perform the check for inflicting without actually inflicting\nreturn: Whether or not the status could be inflicted",
27458
28933
  None,
27459
28934
  )
27460
28935
 
@@ -27481,7 +28956,7 @@ class NaOverlay29Functions:
27481
28956
  [0x23163A8],
27482
28957
  None,
27483
28958
  "TryInflictTauntStatus",
27484
- "Inflicts the Taunt status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer\nreturn: Whether or not the status could be inflicted",
28959
+ "Inflicts the Taunt status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: flag to only perform the check for inflicting without actually inflicting\nreturn: Whether or not the status could be inflicted",
27485
28960
  None,
27486
28961
  )
27487
28962
 
@@ -27589,7 +29064,7 @@ class NaOverlay29Functions:
27589
29064
  [0x23176CC],
27590
29065
  None,
27591
29066
  "TryInflictBlinkerStatus",
27592
- "Inflicts the Blinker status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: flag to only perform the check for inflicting without actually inflicting\nr3: flag to log a message on failure\nreturn: Whether or not the status could be inflicted",
29067
+ "Inflicts the Blinker status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: flag to only perform the check for inflicting without actually inflicting\nr3: flag to make the status permanent (always 0 in the base game)\nreturn: Whether or not the status could be inflicted",
27593
29068
  None,
27594
29069
  )
27595
29070
 
@@ -27827,6 +29302,15 @@ class NaOverlay29Functions:
27827
29302
  None,
27828
29303
  )
27829
29304
 
29305
+ SetReflectStatus = Symbol(
29306
+ [0x3CB58],
29307
+ [0x2318D98],
29308
+ None,
29309
+ "SetReflectStatus",
29310
+ "Sets a target monster's reflect status to the specified value. \n\nIf it already has the Counter, Mini Counter or Metal Burst status, its remaining turn counter will remain the same.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: reflect status",
29311
+ None,
29312
+ )
29313
+
27830
29314
  TryInflictSafeguardStatus = Symbol(
27831
29315
  [0x3CC30],
27832
29316
  [0x2318E70],
@@ -28309,7 +29793,7 @@ class NaOverlay29Functions:
28309
29793
  [0x231E8F0],
28310
29794
  None,
28311
29795
  "IsAdjacentToEnemy",
28312
- "Called to check if a hostile entity is present in any of the tiles adjacent to an entity.\n\nr0: Pointer to entity\nreturn: True if yes, false if no",
29796
+ "Called to check if a hostile entity is present in any of the tiles adjacent to an entity. This function uses GetTreatmentBetweenMonsters to determine whether an adjacent entity is hostile, which has special handling for the decoy, petrified, and invisible statuses.\n\nr0: Pointer to entity\nreturn: True if yes, false if no",
28313
29797
  None,
28314
29798
  )
28315
29799
 
@@ -28331,6 +29815,15 @@ class NaOverlay29Functions:
28331
29815
  None,
28332
29816
  )
28333
29817
 
29818
+ InitMoveWrapper = Symbol(
29819
+ [0x427C4],
29820
+ [0x231EA04],
29821
+ None,
29822
+ "InitMoveWrapper",
29823
+ "Wrapper for InitMove which takes a superfluous parameter.\n\nr0: unused\nr1: [output] pointer to move to initialize\nr2: move ID",
29824
+ None,
29825
+ )
29826
+
28334
29827
  MoveIsNotPhysical = Symbol(
28335
29828
  [0x427D8],
28336
29829
  [0x231EA18],
@@ -28349,6 +29842,24 @@ class NaOverlay29Functions:
28349
29842
  None,
28350
29843
  )
28351
29844
 
29845
+ MakeFloorOneRoom = Symbol(
29846
+ [0x42800],
29847
+ [0x231EA40],
29848
+ None,
29849
+ "MakeFloorOneRoom",
29850
+ "Removes all walls to make the floor one room.\n\nr0: user entity pointer",
29851
+ None,
29852
+ )
29853
+
29854
+ TryHurl = Symbol(
29855
+ [0x42BBC],
29856
+ [0x231EDFC],
29857
+ None,
29858
+ "TryHurl",
29859
+ "Attempts to hurl the target monster at another monster, or to an unoccupied tile if there is no valid one in range.\n\nr0: user entity pointer\nr1: target entity pointer",
29860
+ None,
29861
+ )
29862
+
28352
29863
  TryDrought = Symbol(
28353
29864
  [0x43354],
28354
29865
  [0x231F594],
@@ -28358,6 +29869,15 @@ class NaOverlay29Functions:
28358
29869
  None,
28359
29870
  )
28360
29871
 
29872
+ TryTrawl = Symbol(
29873
+ [0x434A4],
29874
+ [0x231F6E4],
29875
+ None,
29876
+ "TryTrawl",
29877
+ "Attempts to pull all items on the floor towards the user.\n\nFails if the floor is a fixed room on which Trawl Orbs are disabled.\n\nr0: user entity pointer",
29878
+ None,
29879
+ )
29880
+
28361
29881
  TryPounce = Symbol(
28362
29882
  [0x439E0],
28363
29883
  [0x231FC20],
@@ -28669,7 +30189,25 @@ class NaOverlay29Functions:
28669
30189
  [0x2333074],
28670
30190
  None,
28671
30191
  "StatusCheckerCheck",
28672
- "Determines if using a given move against its intended targets would be redundant because all of them already have the effect caused by said move.\n\nr0: Pointer to the entity that is considering using the move\nr1: Move pointer\nreturn: True if it makes sense to use the move, false if it would be redundant given the effects it causes and the effects that all the targets already have.",
30192
+ "Determines if using a given move against its intended targets would be redundant because all of them already have the effect caused by said move. Used for moves that affect the user or allies.\n\nr0: Pointer to the entity that is considering using the move\nr1: Move pointer\nreturn: True if it makes sense to use the move, false if it would be redundant given the effects it causes and the effects that all the targets already have.",
30193
+ None,
30194
+ )
30195
+
30196
+ StatusCheckerCheckOnTarget = Symbol(
30197
+ [0x57D90],
30198
+ [0x2333FD0],
30199
+ None,
30200
+ "StatusCheckerCheckOnTarget",
30201
+ "Determines if using a given move against its intended target would be redundant because all of them already have the effect caused by said move. Used for moves that affect enemies.\n\nr0: Pointer to the entity that is considering using the move\nr2: Pointer to the entity being targeted by the move\nr1: Move pointer\nreturn: True if it makes sense to use the move, false if it would be redundant given the effects it causes and the effects that the target already has.",
30202
+ None,
30203
+ )
30204
+
30205
+ HasLastUsedMove = Symbol(
30206
+ [0x58A6C],
30207
+ [0x2334CAC],
30208
+ None,
30209
+ "HasLastUsedMove",
30210
+ "Determines whether a monster has used any of its moves on this floor.\nThis function takes in the monster's move list and checks if any moves have the f_last_used flag set.\n\nr0: Pointer to the monster's moves.\nreturn: True if the move list has any moves with the f_last_used flag set, false otherwise.",
28673
30211
  None,
28674
30212
  )
28675
30213
 
@@ -28925,6 +30463,15 @@ class NaOverlay29Functions:
28925
30463
  None,
28926
30464
  )
28927
30465
 
30466
+ IsTileGround = Symbol(
30467
+ [0x5BBEC],
30468
+ [0x2337E2C],
30469
+ None,
30470
+ "IsTileGround",
30471
+ "Returns true if the given position is a ground tile, meaning that Dig can be used and Dive cannot be used.\nThis depends on the terrain type of the position and the dungeon tileset.\n\nr0: Position\nreturn: True if the current tile is a ground tile.",
30472
+ None,
30473
+ )
30474
+
28928
30475
  IsWaterTileset = Symbol(
28929
30476
  [0x5BC54],
28930
30477
  [0x2337E94],
@@ -28952,6 +30499,24 @@ class NaOverlay29Functions:
28952
30499
  None,
28953
30500
  )
28954
30501
 
30502
+ FindAdjacentEnemy = Symbol(
30503
+ [0x5C068],
30504
+ [0x23382A8],
30505
+ None,
30506
+ "FindAdjacentEnemy",
30507
+ "Finds a hostile entity adjacent to the given entity. Hostility is based on whether the monster->is_not_team_member flag does not match. If there are multiple adjacent hostile enemies, the first one is returned based on the order of directions in DIRECTION_XY.\n\nr0: Pointer to entity\nreturn: A hostile entity adjacent to the given entity, or null if there aren't any.",
30508
+ None,
30509
+ )
30510
+
30511
+ IsAdjacentToEnemyIgnoreTreatment = Symbol(
30512
+ [0x5C110],
30513
+ [0x2338350],
30514
+ None,
30515
+ "IsAdjacentToEnemyIgnoreTreatment",
30516
+ "Called to check if a hostile entity is present in any of the tiles adjacent to an entity. Unlike IsAdjacentToEnemy, this function uses monster->is_not_team_member to determine if an adjacent enemy is hostile rather than GetTreatmentBetweenMonsters, which means it doesn't take decoy, petrified, and invisible statuses into account.\n\nr0: Pointer to entity\nreturn: True if yes, false if no",
30517
+ None,
30518
+ )
30519
+
28955
30520
  ResetGravity = Symbol(
28956
30521
  [0x5C12C],
28957
30522
  [0x233836C],
@@ -28979,6 +30544,15 @@ class NaOverlay29Functions:
28979
30544
  None,
28980
30545
  )
28981
30546
 
30547
+ RevealAttackedTile = Symbol(
30548
+ [0x5C1F0],
30549
+ [0x2338430],
30550
+ None,
30551
+ "RevealAttackedTile",
30552
+ "Reveals the tile given by the position.\n\nIs also activated on a tile if a fainted monster drops an item on it.\n\nr0: position struct pointer",
30553
+ None,
30554
+ )
30555
+
28982
30556
  ShouldBoostKecleonShopSpawnChance = Symbol(
28983
30557
  [0x5C280],
28984
30558
  [0x23384C0],
@@ -29902,7 +31476,7 @@ class NaOverlay29Functions:
29902
31476
  [0x2344148],
29903
31477
  None,
29904
31478
  "AreLateGameTrapsEnabled",
29905
- "Check if late-game traps (Summon, Pitfall, and Pokémon traps) work in the given fixed room.\n\nOr disabled? This function, which Irdkwia's notes label as a disable check, check the struct field labeled in End's notes as an enable flag.\n\nr0: fixed room ID\nreturn: bool",
31479
+ "Check if late-game traps (Summon, Pitfall, and Pokémon traps) work in the given fixed room.\n\nr0: fixed room ID\nreturn: True if late-game traps are enabled, false if they are disabled.",
29906
31480
  None,
29907
31481
  )
29908
31482
 
@@ -29969,6 +31543,24 @@ class NaOverlay29Functions:
29969
31543
  None,
29970
31544
  )
29971
31545
 
31546
+ PrepareItemForPrinting = Symbol(
31547
+ [0x68904, 0x68930],
31548
+ [0x2344B44, 0x2344B70],
31549
+ None,
31550
+ "PrepareItemForPrinting",
31551
+ "Calls functions to prepare an item to be printed in place of the [item:r0] tag in a message log message.\n\nr0: tag id\nr1: item struct pointer",
31552
+ None,
31553
+ )
31554
+
31555
+ PrepareItemForPrinting2 = Symbol(
31556
+ [0x68968],
31557
+ [0x2344BA8],
31558
+ None,
31559
+ "PrepareItemForPrinting2",
31560
+ "Used in SubstitutePlaceholderStringTags. Has the same functionality as PrepareItemForPrinting, except the message log preprocessor_args struct is passed as a parameter.\n\nr0: preprocessor_args pointer (in practice, always the global struct used for the message log)\nr1: tag id\nr2: item pointer",
31561
+ None,
31562
+ )
31563
+
29972
31564
  GenerateStandardItem = Symbol(
29973
31565
  [0x68990],
29974
31566
  [0x2344BD0],
@@ -30095,6 +31687,15 @@ class NaOverlay29Functions:
30095
31687
  None,
30096
31688
  )
30097
31689
 
31690
+ HandleCurvedProjectileThrow = Symbol(
31691
+ [0x6B988],
31692
+ [0x2347BC8],
31693
+ None,
31694
+ "HandleCurvedProjectileThrow",
31695
+ "Throws an item in a curved arc, like a Gravelerock.\n\nr0: monster entity throwing the item\nr1: item being thrown\nr2: position to start throwing the item from\nr3: position to throw the item to\nstack[0]: Metadata about the item being thrown",
31696
+ None,
31697
+ )
31698
+
30098
31699
  DoesProjectileHitTarget = Symbol(
30099
31700
  [0x6BDE0],
30100
31701
  [0x2348020],
@@ -30131,6 +31732,15 @@ class NaOverlay29Functions:
30131
31732
  None,
30132
31733
  )
30133
31734
 
31735
+ IsItemUnkMissionItem2 = Symbol(
31736
+ [0x6CAC0],
31737
+ [0x2348D00],
31738
+ None,
31739
+ "IsItemUnkMissionItem2",
31740
+ "Checks if an item is a special target item with flag item::f_unk_mission_item2 set.\n\nr0: item pointer\nreturn: True if the item is a special target item with flag item::f_unk_mission_item2 set.",
31741
+ None,
31742
+ )
31743
+
30134
31744
  CheckActiveChallengeRequest = Symbol(
30135
31745
  [0x6CF0C],
30136
31746
  [0x234914C],
@@ -30383,12 +31993,129 @@ class NaOverlay29Functions:
30383
31993
  None,
30384
31994
  )
30385
31995
 
30386
- LogMessageByIdWithPopupCheckParticipants = Symbol(
31996
+ InitAlertBoxInfo = Symbol(
31997
+ [0x6ED64],
31998
+ [0x234AFA4],
31999
+ None,
32000
+ "InitAlertBoxInfo",
32001
+ "Initializes the heap-allocated alert_box_info struct in MESSAGE_LOG_INFO.\n\nNo params.",
32002
+ None,
32003
+ )
32004
+
32005
+ FreeAlertBoxInfo = Symbol(
32006
+ [0x6ED90],
32007
+ [0x234AFD0],
32008
+ None,
32009
+ "FreeAlertBoxInfo",
32010
+ "Frees the heap-allocated alert_box_info struct in MESSAGE_LOG_INFO.\n\nNo params.",
32011
+ None,
32012
+ )
32013
+
32014
+ SetMessageLogGroupStartFlag = Symbol(
32015
+ [0x6EDE4],
32016
+ [0x234B024],
32017
+ None,
32018
+ "SetMessageLogGroupStartFlag",
32019
+ "Sets whether the next message in the message log should be the start of a new group separated by a horizontal line.\n\nr0: bool",
32020
+ None,
32021
+ )
32022
+
32023
+ GetMessageLogPreprocessorArgs = Symbol(
32024
+ [0x6EDF4],
32025
+ [0x234B034],
32026
+ None,
32027
+ "GetMessageLogPreprocessorArgs",
32028
+ "Gets a pointer to the global preprocessor_args struct used for the message log.\n\nreturn: preprocessor_args pointer",
32029
+ None,
32030
+ )
32031
+
32032
+ InitMessageLogPreprocessorArgs = Symbol(
32033
+ [0x6EE0C],
32034
+ [0x234B04C],
32035
+ None,
32036
+ "InitMessageLogPreprocessorArgs",
32037
+ "Initializes the global preprocessor_args struct used for the message log.\n\nNo params.",
32038
+ None,
32039
+ )
32040
+
32041
+ SetMessageLogPreprocessorArgsFlagVal = Symbol(
32042
+ [0x6EE2C],
32043
+ [0x234B06C],
32044
+ None,
32045
+ "SetMessageLogPreprocessorArgsFlagVal",
32046
+ "Sets a flag_vals element in the global preprocessor_args struct used for the message log to a specified value.\n\nr0: position in flag_vals array\nr1: value",
32047
+ None,
32048
+ )
32049
+
32050
+ SetMessageLogPreprocessorArgsIdVal = Symbol(
32051
+ [0x6EE44],
32052
+ [0x234B084],
32053
+ None,
32054
+ "SetMessageLogPreprocessorArgsIdVal",
32055
+ "Sets an id_vals element in the global preprocessor_args struct used for the message log to a specified value.\n\nr0: position in id_vals array\nr1: value",
32056
+ None,
32057
+ )
32058
+
32059
+ SetMessageLogPreprocessorArgsNumberVal = Symbol(
32060
+ [0x6EE5C],
32061
+ [0x234B09C],
32062
+ None,
32063
+ "SetMessageLogPreprocessorArgsNumberVal",
32064
+ "Sets a number_vals element in the global preprocessor_args struct used for the message log to a specified value.\n\nr0: position in number_vals array\nr1: value",
32065
+ None,
32066
+ )
32067
+
32068
+ SetMessageLogPreprocessorArgsString = Symbol(
32069
+ [0x6EE74],
32070
+ [0x234B0B4],
32071
+ None,
32072
+ "SetMessageLogPreprocessorArgsString",
32073
+ "Sets a strings element in the global preprocessor_args struct used for the message log to a specified string.\n\nr0: position in strings array\nr1: string pointer",
32074
+ None,
32075
+ )
32076
+
32077
+ SetMessageLogPreprocessorArgsStringToName = Symbol(
32078
+ [0x6EE8C],
32079
+ [0x234B0CC],
32080
+ None,
32081
+ "SetMessageLogPreprocessorArgsStringToName",
32082
+ "Sets a strings element in the global preprocessor_args struct used for the message log to the name of a monster.\n\nr0: position in strings array\nr1: monster_id",
32083
+ None,
32084
+ )
32085
+
32086
+ SetMessageLogPreprocessorArgsSpeakerId = Symbol(
32087
+ [0x6EEC4],
32088
+ [0x234B104],
32089
+ None,
32090
+ "SetMessageLogPreprocessorArgsSpeakerId",
32091
+ "Sets the speaker_id in the global preprocessor_args struct used for the message log to the id of a monster.\n\nr0: monster_id",
32092
+ None,
32093
+ )
32094
+
32095
+ SetMessageLogPreprocessorArgsSpeakerId0x30000 = Symbol(
32096
+ [0x6EED8],
32097
+ [0x234B118],
32098
+ None,
32099
+ "SetMessageLogPreprocessorArgsSpeakerId0x30000",
32100
+ "Sets the speaker_id in the global preprocessor_args struct used for the message log to a monster's team index, ORed with 0x30000.\n\nr0: team_index",
32101
+ None,
32102
+ )
32103
+
32104
+ LogMessageByIdWithPopupAndAbility = Symbol(
30387
32105
  [0x6F010],
30388
32106
  [0x234B250],
30389
32107
  None,
30390
- "LogMessageByIdWithPopupCheckParticipants",
30391
- "Logs the appropriate message based on the participating entites; this function calls LogMessageByIdWithPopupCheckUserTarget is both the user and target pointers are non-null, otherwise it calls LogMessageByIdWithPopupCheckUser if the user pointer is non-null, otherwise doesn't log anything.\n\nThis function also seems to set some global table entry to some value?\n\nr0: user entity pointer\nr1: target entity pointer\nr2: message ID\nr3: index into some table?\nstack[0]: value to set at the table index specified by r3?",
32108
+ "LogMessageByIdWithPopupAndAbility",
32109
+ "Logs the appropriate message based on the participating entites; this function calls LogMessageByIdWithPopupCheckUserTarget is both the user and target pointers are non-null, otherwise it calls LogMessageByIdWithPopupCheckUser if the user pointer is non-null, otherwise doesn't log anything.\n\nThis function also replaces the [c_i:r3] tag by setting an id_vals element in the global preprocessor_args struct used for the message log to an ability.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: message ID\nr3: position in id_vals array\nstack[0]: value (in practice, always the ability, although could be used for any other text tag that uses id_vals)",
32110
+ None,
32111
+ )
32112
+
32113
+ WaitUntilAlertBoxTextIsLoadedWrapper = Symbol(
32114
+ [0x6F054],
32115
+ [0x234B294],
32116
+ None,
32117
+ "WaitUntilAlertBoxTextIsLoadedWrapper",
32118
+ "Calls WaitUntilAlertBoxTextIsLoaded with r0 = 0x50.\n\nNo params.",
30392
32119
  None,
30393
32120
  )
30394
32121
 
@@ -30500,6 +32227,24 @@ class NaOverlay29Functions:
30500
32227
  None,
30501
32228
  )
30502
32229
 
32230
+ AlertBoxIsScrolling = Symbol(
32231
+ [0x6F5AC],
32232
+ [0x234B7EC],
32233
+ None,
32234
+ "AlertBoxIsScrolling",
32235
+ "Returns true if the alert box is currently scrolling (i.e. a message is being loaded).\n\nreturn: bool",
32236
+ None,
32237
+ )
32238
+
32239
+ WaitUntilAlertBoxTextIsLoaded = Symbol(
32240
+ [0x6F7D8],
32241
+ [0x234BA18],
32242
+ None,
32243
+ "WaitUntilAlertBoxTextIsLoaded",
32244
+ "Calls AdvanceFrame in a loop until the dungeon alert box has finished scrolling.\n\nr0: value to pass to AdvanceFrame (unused by the function)",
32245
+ None,
32246
+ )
32247
+
30503
32248
  InitPortraitDungeon = Symbol(
30504
32249
  [0x6F880],
30505
32250
  [0x234BAC0],
@@ -30653,6 +32398,15 @@ class NaOverlay29Functions:
30653
32398
  None,
30654
32399
  )
30655
32400
 
32401
+ StairsMenuAfterStep = Symbol(
32402
+ [0x726B8],
32403
+ [0x234E8F8],
32404
+ None,
32405
+ "StairsMenuAfterStep",
32406
+ "Opens the stairs menu after stepping on a stairs tile.\n\nr0: Entity pointer (in practice, always the leader)\nr1: whether to not open minimap upon menu close",
32407
+ None,
32408
+ )
32409
+
30656
32410
  DungeonModeSetupAndShowNameKeyboard = Symbol(
30657
32411
  [0x72DC8],
30658
32412
  [0x234F008],
@@ -30680,10 +32434,24 @@ class NaOverlay29Functions:
30680
32434
  None,
30681
32435
  )
30682
32436
 
32437
+ CreateMonsterSummaryFromMonster = _Deprecated(
32438
+ "CreateMonsterSummaryFromMonster", CreateMonsterSummaryFromEntity
32439
+ )
32440
+
30683
32441
  ShouldMonsterRunAwayVariation = _Deprecated(
30684
32442
  "ShouldMonsterRunAwayVariation", ShouldMonsterRunAwayAndShowEffect
30685
32443
  )
30686
32444
 
32445
+ GetFlashFireStatus = _Deprecated("GetFlashFireStatus", FlashFireShouldActivate)
32446
+
32447
+ SetPreprocessorArgsIdVal = _Deprecated(
32448
+ "SetPreprocessorArgsIdVal", SetMessageLogPreprocessorArgsIdVal
32449
+ )
32450
+
32451
+ LogMessageByIdWithPopupCheckParticipants = _Deprecated(
32452
+ "LogMessageByIdWithPopupCheckParticipants", LogMessageByIdWithPopupAndAbility
32453
+ )
32454
+
30687
32455
 
30688
32456
  class NaOverlay29Data:
30689
32457
 
@@ -31316,6 +33084,15 @@ class NaOverlay29Data:
31316
33084
  "int16_t[8][2]",
31317
33085
  )
31318
33086
 
33087
+ FACING_DIRECTION_INCREMENTS = Symbol(
33088
+ [0x7553C],
33089
+ [0x235177C],
33090
+ 0x20,
33091
+ "FACING_DIRECTION_INCREMENTS",
33092
+ "An array of direction offsets from a monster's current facing direction, each increasingly farther away from the current direction.\n\nFor example, the array starts with [0, 1, -1, 2...]. If the monster's current direction is DIR_UP, the first four array elements\nare each added to the current direction, corresponding to DIR_UP, DIR_UP_LEFT, DIR_UP_RIGHT, DIR_LEFT.",
33093
+ "int[8]",
33094
+ )
33095
+
31319
33096
  DISPLACEMENTS_WITHIN_2_LARGEST_FIRST = Symbol(
31320
33097
  [0x7559C],
31321
33098
  [0x23517DC],
@@ -31469,6 +33246,15 @@ class NaOverlay29Data:
31469
33246
  "struct fx64_16",
31470
33247
  )
31471
33248
 
33249
+ WEAK_TYPE_PICKER_MATCHUP_MULTIPLIERS = Symbol(
33250
+ [0x76644],
33251
+ [0x2352884],
33252
+ 0x10,
33253
+ "WEAK_TYPE_PICKER_MATCHUP_MULTIPLIERS",
33254
+ "Array of multipliers to a move's AI weight when Weak-Type Picker is in effect, based on the move's type matchup against its target. Array indexes correspond to enum type_matchup.",
33255
+ "int[4]",
33256
+ )
33257
+
31472
33258
  TYPE_DAMAGE_NEGATING_EXCLUSIVE_ITEM_EFFECTS = Symbol(
31473
33259
  [0x76664],
31474
33260
  [0x23528A4],
@@ -31712,6 +33498,15 @@ class NaOverlay29Data:
31712
33498
  "void*",
31713
33499
  )
31714
33500
 
33501
+ MESSAGE_LOG_INFO = Symbol(
33502
+ [0x7758C],
33503
+ [0x23537CC],
33504
+ None,
33505
+ "MESSAGE_LOG_INFO",
33506
+ "[Runtime] Struct containing information and state for logged messages.",
33507
+ "struct message_log_info",
33508
+ )
33509
+
31715
33510
  DUNGEON_FADES_PTR = Symbol(
31716
33511
  [0x775A0],
31717
33512
  [0x23537E0],
@@ -31820,12 +33615,12 @@ class NaOverlay30Section:
31820
33615
 
31821
33616
  class NaOverlay31Functions:
31822
33617
 
31823
- EntryOverlay31 = Symbol(
33618
+ InitDungeonMenu = Symbol(
31824
33619
  [0x0],
31825
33620
  [0x2382820],
31826
33621
  None,
31827
- "EntryOverlay31",
31828
- "Note: unverified, ported from Irdkwia's notes\n\nNo params.",
33622
+ "InitDungeonMenu",
33623
+ "Initializes the main dungeon menu and allocates a struct on the heap with information for HandleDungeonMenu.\n\nNo params.",
31829
33624
  None,
31830
33625
  )
31831
33626
 
@@ -31847,12 +33642,39 @@ class NaOverlay31Functions:
31847
33642
  None,
31848
33643
  )
31849
33644
 
31850
- CreateStairsMenuState = Symbol(
33645
+ DungeonMenuLoop = Symbol(
33646
+ [0x334],
33647
+ [0x2382B54],
33648
+ None,
33649
+ "DungeonMenuLoop",
33650
+ "Handles displaying the main dungeon menu and is called on each frame while it is open.\n\nUses a switch statement based on a state field of the struct allocated in InitDungeonMenu to determine what actions to take.\n\nreturn: 4 if should close main dungeon menu (including when switching menus), 1 otherwise",
33651
+ None,
33652
+ )
33653
+
33654
+ FreeDungeonMenu = Symbol(
33655
+ [0x58C],
33656
+ [0x2382DAC],
33657
+ None,
33658
+ "FreeDungeonMenu",
33659
+ "Closes the main dungeon menu and frees the heap-allocated struct initialized in InitDungeonMenu.\n\nNo params.",
33660
+ None,
33661
+ )
33662
+
33663
+ StairsMenu = Symbol(
33664
+ [0x5F8],
33665
+ [0x2382E18],
33666
+ None,
33667
+ "StairsMenu",
33668
+ "Called when the stairs menu is open. Does not return until the menu is closed.\n\nr0: Entity pointer (in practice, always the leader)\nr1: whether to not open minimap upon menu close",
33669
+ None,
33670
+ )
33671
+
33672
+ InitStairsMenu = Symbol(
31851
33673
  [0x6B4],
31852
33674
  [0x2382ED4],
31853
33675
  None,
31854
- "CreateStairsMenuState",
31855
- "Called when the leader steps on any stairs tile (regular, warp zone, rescue point, hidden stairs).\n\nAllocates a stairs_menu struct on the heap with information for HandleStairsMenu, which will be pointed to by STAIRS_MENU_PTR.\n\nr0: Entity pointer (in practice, always the leader)",
33676
+ "InitStairsMenu",
33677
+ "Called when the leader steps on any stairs tile (regular, warp zone, rescue point, hidden stairs).\n\nInitializes the stairs menu and allocates a stairs_menu struct on the heap with information for HandleStairsMenu, which will be pointed to by STAIRS_MENU_PTR.\n\nr0: Entity pointer (in practice, always the leader)",
31856
33678
  None,
31857
33679
  )
31858
33680
 
@@ -31865,12 +33687,48 @@ class NaOverlay31Functions:
31865
33687
  None,
31866
33688
  )
31867
33689
 
31868
- HandleStairsMenu = Symbol(
33690
+ StairsMenuLoop = Symbol(
31869
33691
  [0x79C],
31870
33692
  [0x2382FBC],
31871
33693
  None,
31872
- "HandleStairsMenu",
31873
- "Handles displaying the stairs menu and is called on each frame while it is open, also updating the leader's action fields.\n\nUses a switch statement based on the state field in stairs_menu to determine what actions to take.\n\nreturn: int",
33694
+ "StairsMenuLoop",
33695
+ "Handles displaying the stairs menu and is called on each frame while it is open, also updating the leader's action fields.\n\nUses a switch statement based on the state field in stairs_menu to determine what actions to take.\n\nreturn: 4 if should close stairs menu entirely, 1 otherwise (including when switching between main/info menus)",
33696
+ None,
33697
+ )
33698
+
33699
+ CloseMainStairsMenu = Symbol(
33700
+ [0xA6C],
33701
+ [0x238328C],
33702
+ None,
33703
+ "CloseMainStairsMenu",
33704
+ "Closes the main stairs menu. Used both when closing it entirely as well as when switching to the info menu.\n\nNo params.",
33705
+ None,
33706
+ )
33707
+
33708
+ FreeStairsMenu = Symbol(
33709
+ [0xAD0],
33710
+ [0x23832F0],
33711
+ None,
33712
+ "FreeStairsMenu",
33713
+ "Closes the main stairs menu and frees the heap-allocated stairs_menu struct pointed to by STAIRS_MENU_PTR.\n\nNo params.",
33714
+ None,
33715
+ )
33716
+
33717
+ EntityIsValidOverlay31 = Symbol(
33718
+ [0xE38],
33719
+ [0x2383658],
33720
+ None,
33721
+ "EntityIsValidOverlay31",
33722
+ "See overlay29.yml::EntityIsValid",
33723
+ None,
33724
+ )
33725
+
33726
+ ItemsMenu = Symbol(
33727
+ [0x10C4],
33728
+ [0x23838E4],
33729
+ None,
33730
+ "ItemsMenu",
33731
+ "Called when the in-dungeon 'items' menu is open. Does not return until the menu is closed.\n\nr0: Pointer to the leader's entity struct\nr1: ?\nreturn: ?",
31874
33732
  None,
31875
33733
  )
31876
33734
 
@@ -31937,6 +33795,15 @@ class NaOverlay31Functions:
31937
33795
  None,
31938
33796
  )
31939
33797
 
33798
+ DrawDungeonHintContents = Symbol(
33799
+ [0x6988],
33800
+ [0x23891A8],
33801
+ None,
33802
+ "DrawDungeonHintContents",
33803
+ "Draws the contents of the current dungeon hint that is to be displayed in the Dungeon Hints menu.\n\nr0: window id",
33804
+ None,
33805
+ )
33806
+
31940
33807
  HelpMenuLoop = Symbol(
31941
33808
  [0x69DC],
31942
33809
  [0x23891FC],
@@ -31946,6 +33813,12 @@ class NaOverlay31Functions:
31946
33813
  None,
31947
33814
  )
31948
33815
 
33816
+ EntryOverlay31 = _Deprecated("EntryOverlay31", InitDungeonMenu)
33817
+
33818
+ CreateStairsMenuState = _Deprecated("CreateStairsMenuState", InitStairsMenu)
33819
+
33820
+ HandleStairsMenu = _Deprecated("HandleStairsMenu", StairsMenuLoop)
33821
+
31949
33822
 
31950
33823
  class NaOverlay31Data:
31951
33824
 
@@ -32043,39 +33916,39 @@ class NaOverlay31Data:
32043
33916
  "struct window_params",
32044
33917
  )
32045
33918
 
32046
- DUNGEON_SUBMENU_ITEMS_1 = Symbol(
33919
+ STAIRS_MENU_ITEMS_NORMAL = Symbol(
32047
33920
  [0x7650],
32048
33921
  [0x2389E70],
32049
33922
  0x20,
32050
- "DUNGEON_SUBMENU_ITEMS_1",
32051
- "",
33923
+ "STAIRS_MENU_ITEMS_NORMAL",
33924
+ "List of 4 simple_menu_id_items for the normal stairs menu.",
32052
33925
  "struct simple_menu_id_item[4]",
32053
33926
  )
32054
33927
 
32055
- DUNGEON_SUBMENU_ITEMS_2 = Symbol(
33928
+ STAIRS_MENU_ITEMS_WARP_ZONE = Symbol(
32056
33929
  [0x7670],
32057
33930
  [0x2389E90],
32058
33931
  0x20,
32059
- "DUNGEON_SUBMENU_ITEMS_2",
32060
- "",
33932
+ "STAIRS_MENU_ITEMS_WARP_ZONE",
33933
+ "List of 4 simple_menu_id_items for the Warp Zone stairs menu.",
32061
33934
  "struct simple_menu_id_item[4]",
32062
33935
  )
32063
33936
 
32064
- DUNGEON_SUBMENU_ITEMS_3 = Symbol(
33937
+ STAIRS_MENU_ITEMS_RESCUE_POINT = Symbol(
32065
33938
  [0x7690],
32066
33939
  [0x2389EB0],
32067
33940
  0x20,
32068
- "DUNGEON_SUBMENU_ITEMS_3",
32069
- "",
33941
+ "STAIRS_MENU_ITEMS_RESCUE_POINT",
33942
+ "List of 4 simple_menu_id_items for the Rescue Point stairs menu.",
32070
33943
  "struct simple_menu_id_item[4]",
32071
33944
  )
32072
33945
 
32073
- DUNGEON_SUBMENU_ITEMS_4 = Symbol(
33946
+ STAIRS_MENU_ITEMS_HIDDEN_STAIRS = Symbol(
32074
33947
  [0x76B0],
32075
33948
  [0x2389ED0],
32076
33949
  0x20,
32077
- "DUNGEON_SUBMENU_ITEMS_4",
32078
- "",
33950
+ "STAIRS_MENU_ITEMS_HIDDEN_STAIRS",
33951
+ "List of 4 simple_menu_id_items for the hidden stairs menu.",
32079
33952
  "struct simple_menu_id_item[4]",
32080
33953
  )
32081
33954
 
@@ -32484,6 +34357,22 @@ class NaOverlay31Data:
32484
34357
  "",
32485
34358
  )
32486
34359
 
34360
+ DUNGEON_SUBMENU_ITEMS_1 = _Deprecated(
34361
+ "DUNGEON_SUBMENU_ITEMS_1", STAIRS_MENU_ITEMS_NORMAL
34362
+ )
34363
+
34364
+ DUNGEON_SUBMENU_ITEMS_2 = _Deprecated(
34365
+ "DUNGEON_SUBMENU_ITEMS_2", STAIRS_MENU_ITEMS_WARP_ZONE
34366
+ )
34367
+
34368
+ DUNGEON_SUBMENU_ITEMS_3 = _Deprecated(
34369
+ "DUNGEON_SUBMENU_ITEMS_3", STAIRS_MENU_ITEMS_RESCUE_POINT
34370
+ )
34371
+
34372
+ DUNGEON_SUBMENU_ITEMS_4 = _Deprecated(
34373
+ "DUNGEON_SUBMENU_ITEMS_4", STAIRS_MENU_ITEMS_HIDDEN_STAIRS
34374
+ )
34375
+
32487
34376
 
32488
34377
  class NaOverlay31Section:
32489
34378
  name = "overlay31"
@@ -33605,6 +35494,15 @@ class NaRamData:
33605
35494
  "int",
33606
35495
  )
33607
35496
 
35497
+ DEFAULT_TILE_COPY = Symbol(
35498
+ [0x37CAB8],
35499
+ [0x237CAB8],
35500
+ 0x14,
35501
+ "DEFAULT_TILE_COPY",
35502
+ "A copy of DEFAULT_TILE. Used to hold the default tile returned from GetTileSafe.",
35503
+ "struct tile",
35504
+ )
35505
+
33608
35506
  FLOOR_GENERATION_STATUS = Symbol(
33609
35507
  [0x37CFBC],
33610
35508
  [0x237CFBC],