pmdsky-debug-py 10.1.15__py3-none-any.whl → 10.2.20__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,78 @@ 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 value 1\nr1: script variable value 2\nr2: calculation to perform on the script variables\nreturn: calculation result",
6451
+ None,
6452
+ )
6453
+
6454
+ CompareScriptVariables = Symbol(
6455
+ [0x4BD98],
6456
+ [0x204BD98],
6457
+ None,
6458
+ "CompareScriptVariables",
6459
+ "Compares two loaded script variables and returns the comparison result.\n\nr0: script variable value 1\nr1: script variable value 2\nr2: comparison to perform on the script variables\nreturn: comparison result",
6460
+ None,
6461
+ )
6462
+
6463
+ CalcScriptVariablesVeneer = Symbol(
6464
+ [0x4BECC],
6465
+ [0x204BECC],
6466
+ None,
6467
+ "CalcScriptVariablesVeneer",
6468
+ "Likely a linker-generated veneer for CalcScriptVariables.\n\nSee https://developer.arm.com/documentation/dui0474/k/image-structure-and-generation/linker-generated-veneers/what-is-a-veneer-\n\nr0: script variable value 1\nr1: script variable value 2\nr2: calculation to perform on the script variables\nreturn: calculation result",
6469
+ None,
6470
+ )
6471
+
6472
+ CalcAndUpdateScriptVarWithOtherValue = Symbol(
6473
+ [0x4BED8],
6474
+ [0x204BED8],
6475
+ None,
6476
+ "CalcAndUpdateScriptVarWithOtherValue",
6477
+ "Runs a calculation on a script variable, then sets the script variable to the calculation result.\n\nr0: pointer to the local variable table\nr1: script variable ID\nr2: other value to use in the calculation\nr3: calculation to perform on the script variables",
6478
+ None,
6479
+ )
6480
+
6481
+ CalcAndUpdateScriptVarWithOtherScriptVar = Symbol(
6482
+ [0x4BF10],
6483
+ [0x204BF10],
6484
+ None,
6485
+ "CalcAndUpdateScriptVarWithOtherScriptVar",
6486
+ "Runs a calculation on a script variable, then sets the script variable to the calculation result.\n\nr0: pointer to the local variable table\nr1: script variable ID\nr2: other script variable to use in the calculation\nr3: calculation to perform on the script variables",
6487
+ None,
6488
+ )
6489
+
6490
+ CompareScriptVariablesVeneer = Symbol(
6491
+ [0x4BF5C],
6492
+ [0x204BF5C],
6493
+ None,
6494
+ "CompareScriptVariablesVeneer",
6495
+ "Likely a linker-generated veneer for CompareScriptVariables.\n\nSee https://developer.arm.com/documentation/dui0474/k/image-structure-and-generation/linker-generated-veneers/what-is-a-veneer-\n\nr0: script variable value 1\nr1: script variable value 2\nr2: comparison to perform on the script variables\nreturn: comparison result",
6496
+ None,
6497
+ )
6498
+
6499
+ LoadAndCompareScriptVarAndValue = Symbol(
6500
+ [0x4BF68],
6501
+ [0x204BF68],
6502
+ None,
6503
+ "LoadAndCompareScriptVarAndValue",
6504
+ "Runs a comparison on a script variable and another value, then returns the comparison result.\n\nr0: pointer to the local variable table\nr1: script variable ID\nr2: other script variable to use in the comparison\nr3: comparison to perform on the script variables\nreturn: comparison result",
6505
+ None,
6506
+ )
6507
+
6508
+ LoadAndCompareScriptVars = Symbol(
6509
+ [0x4BF88],
6510
+ [0x204BF88],
6511
+ None,
6512
+ "LoadAndCompareScriptVars",
6513
+ "Runs a comparison on two script variables, then returns the comparison result.\n\nr0: pointer to the local variable table\nr1: script variable ID\nr2: other script variable to use in the comparison\nr3: comparison to perform on the script variables\nreturn: comparison result",
6514
+ None,
6515
+ )
6516
+
6166
6517
  EventFlagResume = Symbol(
6167
6518
  [0x4BFC0],
6168
6519
  [0x204BFC0],
@@ -6622,6 +6973,15 @@ class NaArm9Functions:
6622
6973
  None,
6623
6974
  )
6624
6975
 
6976
+ TilesetSecondaryTerrainIsChasm = Symbol(
6977
+ [0x4F55C],
6978
+ [0x204F55C],
6979
+ None,
6980
+ "TilesetSecondaryTerrainIsChasm",
6981
+ "Returns true if the given tileset has a chasm secondary terrain.\n\nr0: tileset id\nreturn: bool",
6982
+ None,
6983
+ )
6984
+
6625
6985
  GetNbFloors = Symbol(
6626
6986
  [0x4F57C],
6627
6987
  [0x204F57C],
@@ -8841,7 +9201,7 @@ class NaArm9Functions:
8841
9201
  [0x205EE10],
8842
9202
  None,
8843
9203
  "DungeonRequestsDoneWrapper",
8844
- "Calls DungeonRequestsDone with the second argument set to false.\n\nr0: ?\nreturn: number of mission completed",
9204
+ "Calls DungeonRequestsDone with the second argument set to false.\n\nr0: ?\nreturn: number of missions completed",
8845
9205
  None,
8846
9206
  )
8847
9207
 
@@ -8859,7 +9219,7 @@ class NaArm9Functions:
8859
9219
  [0x205F0B8],
8860
9220
  None,
8861
9221
  "AddMissionToJobList",
8862
- "Adds a mission to the Job List.\n\nr0: mission to add",
9222
+ "Adds a mission to the Job List.\n\nr0: mission to add\nreturn: bool (0 if mission was successfully added)",
8863
9223
  None,
8864
9224
  )
8865
9225
 
@@ -9088,12 +9448,21 @@ class NaArm9Functions:
9088
9448
  None,
9089
9449
  )
9090
9450
 
9091
- GetActorMatchingStorageId = Symbol(
9451
+ GetScriptEntityMonsterId = Symbol(
9452
+ [0x65974],
9453
+ [0x2065974],
9454
+ None,
9455
+ "GetScriptEntityMonsterId",
9456
+ "Returns the monster id of the script entity given by the id.\n\nr0: script_entity_id\nreturn: monster id",
9457
+ None,
9458
+ )
9459
+
9460
+ GetScriptEntityMatchingStorageId = Symbol(
9092
9461
  [0x65998],
9093
9462
  [0x2065998],
9094
9463
  None,
9095
- "GetActorMatchingStorageId",
9096
- "Note: unverified, ported from Irdkwia's notes\n\nr0: actor_id\nreturn: storage ID",
9464
+ "GetScriptEntityMatchingStorageId",
9465
+ "Returns the storage id matching the script entity given by the id.\n\nr0: script_entity_id\nreturn: storage ID",
9097
9466
  None,
9098
9467
  )
9099
9468
 
@@ -9102,7 +9471,7 @@ class NaArm9Functions:
9102
9471
  [0x2065B3C],
9103
9472
  None,
9104
9473
  "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",
9474
+ "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
9475
  None,
9107
9476
  )
9108
9477
 
@@ -9111,7 +9480,7 @@ class NaArm9Functions:
9111
9480
  [0x2065B50],
9112
9481
  None,
9113
9482
  "SetActorTalkMain",
9114
- "Sets ACTOR_TALK_MAIN to be actor_id.\nImplements SPECIAL_PROC_SET_ACTOR_TALK_MAIN (see ScriptSpecialProcessCall).\n\nr0: actor_id",
9483
+ "Sets ACTOR_TALK_MAIN to be actor_id.\nImplements SPECIAL_PROC_SET_ACTOR_TALK_MAIN (see ScriptSpecialProcessCall).\n\nr0: script_entity_id",
9115
9484
  None,
9116
9485
  )
9117
9486
 
@@ -9120,7 +9489,7 @@ class NaArm9Functions:
9120
9489
  [0x2065B60],
9121
9490
  None,
9122
9491
  "SetActorTalkSub",
9123
- "Sets ACTOR_TALK_SUB to be actor_id.\nImplements SPECIAL_PROC_SET_ACTOR_TALK_SUB (see ScriptSpecialProcessCall).\n\nr0: actor_id",
9492
+ "Sets ACTOR_TALK_SUB to be actor_id.\nImplements SPECIAL_PROC_SET_ACTOR_TALK_SUB (see ScriptSpecialProcessCall).\n\nr0: script_entity_id",
9124
9493
  None,
9125
9494
  )
9126
9495
 
@@ -9261,10 +9630,16 @@ class NaArm9Functions:
9261
9630
  "DirectoryFile_LoadDirectoryFile", LoadFileInPack
9262
9631
  )
9263
9632
 
9633
+ IsAffectedByTaunt = _Deprecated("IsAffectedByTaunt", IsUsableWhileTaunted)
9634
+
9264
9635
  IsMoveRangeString19 = _Deprecated("IsMoveRangeString19", IsMoveRangeStringUser)
9265
9636
 
9266
9637
  GetLowKickMultiplier = _Deprecated("GetLowKickMultiplier", GetWeightMultiplier)
9267
9638
 
9639
+ GetActorMatchingStorageId = _Deprecated(
9640
+ "GetActorMatchingStorageId", GetScriptEntityMatchingStorageId
9641
+ )
9642
+
9268
9643
 
9269
9644
  class NaArm9Data:
9270
9645
 
@@ -9403,6 +9778,15 @@ class NaArm9Data:
9403
9778
  "uint32_t",
9404
9779
  )
9405
9780
 
9781
+ SINE_VALUE_TABLE = Symbol(
9782
+ [0x90C48],
9783
+ [0x2090C48],
9784
+ 0x1000,
9785
+ "SINE_VALUE_TABLE",
9786
+ "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.",
9787
+ "int16_t[1024]",
9788
+ )
9789
+
9406
9790
  NATURAL_LOG_VALUE_TABLE = Symbol(
9407
9791
  [0x91448],
9408
9792
  [0x2091448],
@@ -9485,13 +9869,13 @@ class NaArm9Data:
9485
9869
  "",
9486
9870
  )
9487
9871
 
9488
- ARM9_UNKNOWN_TABLE__NA_2097FF8 = Symbol(
9872
+ BABY_EXCLUSIVE_ITEM_PAIRS = Symbol(
9489
9873
  [0x97FF8],
9490
9874
  [0x2097FF8],
9491
9875
  0x40,
9492
- "ARM9_UNKNOWN_TABLE__NA_2097FF8",
9493
- "16*0x4 (0x2+0x2)\n\nNote: unverified, ported from Irdkwia's notes",
9494
- "",
9876
+ "BABY_EXCLUSIVE_ITEM_PAIRS",
9877
+ "Stores the IDs of each baby Pokemon (and Phione), as well as the exclusive item they hatch with.",
9878
+ "struct baby_exclusive_item_pair[16]",
9495
9879
  )
9496
9880
 
9497
9881
  KECLEON_SHOP_ITEM_TABLE_LISTS_1 = Symbol(
@@ -9755,6 +10139,15 @@ class NaArm9Data:
9755
10139
  "struct window_params",
9756
10140
  )
9757
10141
 
10142
+ NULL_OVERLAY_LOAD_ENTRY = Symbol(
10143
+ [0x9B08C],
10144
+ [0x209B08C],
10145
+ None,
10146
+ "NULL_OVERLAY_LOAD_ENTRY",
10147
+ "An overlay_load_entry whose values are all zeroes.\n\ntype: overlay_load_entry",
10148
+ "struct overlay_load_entry",
10149
+ )
10150
+
9758
10151
  PARTNER_TALK_KIND_TABLE = Symbol(
9759
10152
  [0x9CCE4],
9760
10153
  [0x209CCE4],
@@ -9764,6 +10157,33 @@ class NaArm9Data:
9764
10157
  "struct partner_talk_kind_table_entry[11]",
9765
10158
  )
9766
10159
 
10160
+ EVENT_FLAG_PROG_POS_INFO_CALC_SCRIPT_VARIABLES = Symbol(
10161
+ [0x9CEAC],
10162
+ [0x209CEAC],
10163
+ 0x8,
10164
+ "EVENT_FLAG_PROG_POS_INFO_CALC_SCRIPT_VARIABLES",
10165
+ "Debug information used to log an error with an unrecognized operation in CalcScriptVariables.",
10166
+ "struct prog_pos_info",
10167
+ )
10168
+
10169
+ EVENT_FLAG_PROG_POS_INFO_COMPARE_SCRIPT_VARIABLES = Symbol(
10170
+ [0x9CEB4],
10171
+ [0x209CEB4],
10172
+ 0x8,
10173
+ "EVENT_FLAG_PROG_POS_INFO_COMPARE_SCRIPT_VARIABLES",
10174
+ "Debug information used to log an error with an unrecognized operation in CompareScriptVariables.",
10175
+ "struct prog_pos_info",
10176
+ )
10177
+
10178
+ EVENT_FLAG_FILE_NAME = Symbol(
10179
+ [0x9CEBC],
10180
+ [0x209CEBC],
10181
+ 0x10,
10182
+ "EVENT_FLAG_FILE_NAME",
10183
+ "The file name 'event_flag.c', used for debug logging.",
10184
+ "",
10185
+ )
10186
+
9767
10187
  SCRIPT_VARS_LOCALS = Symbol(
9768
10188
  [0x9CECC],
9769
10189
  [0x209CECC],
@@ -9773,6 +10193,24 @@ class NaArm9Data:
9773
10193
  "struct script_local_var_table",
9774
10194
  )
9775
10195
 
10196
+ EVENT_FLAG_CALC_SCRIPT_VARIABLES_ERROR = Symbol(
10197
+ [0x9CF28],
10198
+ [0x209CF28],
10199
+ 0x20,
10200
+ "EVENT_FLAG_CALC_SCRIPT_VARIABLES_ERROR",
10201
+ "Error log message for an unrecognized operation in CalcScriptVariables.",
10202
+ "",
10203
+ )
10204
+
10205
+ EVENT_FLAG_COMPARE_SCRIPT_VARIABLES_ERROR = Symbol(
10206
+ [0x9CF48],
10207
+ [0x209CF48],
10208
+ 0x1C,
10209
+ "EVENT_FLAG_COMPARE_SCRIPT_VARIABLES_ERROR",
10210
+ "Error log message for an unrecognized operation in CompareScriptVariables.",
10211
+ "",
10212
+ )
10213
+
9776
10214
  SCRIPT_VARS = Symbol(
9777
10215
  [0x9D870],
9778
10216
  [0x209D870],
@@ -10214,6 +10652,15 @@ class NaArm9Data:
10214
10652
  "fx32_8",
10215
10653
  )
10216
10654
 
10655
+ TACTICS_FOLLOW_LEADER = Symbol(
10656
+ [0xA190C],
10657
+ [0x20A190C],
10658
+ 0xC,
10659
+ "TACTICS_FOLLOW_LEADER",
10660
+ "Array of boolean values corresponding to each tactic_id enum, determining whether the tactic makes party members follow the leader.",
10661
+ "bool[12]",
10662
+ )
10663
+
10217
10664
  FORBIDDEN_FORGOT_MOVE_LIST = Symbol(
10218
10665
  [0xA1918],
10219
10666
  [0x20A1918],
@@ -10291,7 +10738,7 @@ class NaArm9Data:
10291
10738
  [0x20A1AE8],
10292
10739
  0xC8,
10293
10740
  "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]",
10741
+ "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
10742
  "struct secondary_terrain_type_8[200]",
10296
10743
  )
10297
10744
 
@@ -10990,6 +11437,15 @@ class NaArm9Data:
10990
11437
  "int16_t[6]",
10991
11438
  )
10992
11439
 
11440
+ MENU_CONTROL_PTR = Symbol(
11441
+ [0xAFD98],
11442
+ [0x20AFD98],
11443
+ None,
11444
+ "MENU_CONTROL_PTR",
11445
+ "Pointer to the master struct used for handling menus.\n\ntype: menu_control*",
11446
+ "struct menu_control*",
11447
+ )
11448
+
10993
11449
  KEYBOARD_STRING_IDS = Symbol(
10994
11450
  [0xAFDFC],
10995
11451
  [0x20AFDFC],
@@ -11068,7 +11524,7 @@ class NaArm9Data:
11068
11524
  None,
11069
11525
  "MONSTER_DATA_TABLE_PTR",
11070
11526
  "[Runtime] Points to data about monster species.",
11071
- "undefined*",
11527
+ "struct monster_data_table*",
11072
11528
  )
11073
11529
 
11074
11530
  UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE = Symbol(
@@ -11259,6 +11715,14 @@ class NaArm9Data:
11259
11715
  "EXCLUSIVE_ITEM_ATTACK_BOOSTS", EXCLUSIVE_ITEM_STAT_BOOST_DATA
11260
11716
  )
11261
11717
 
11718
+ EVENT_FLAG_PROG_POS_INFO = _Deprecated(
11719
+ "EVENT_FLAG_PROG_POS_INFO", EVENT_FLAG_PROG_POS_INFO_CALC_SCRIPT_VARIABLES
11720
+ )
11721
+
11722
+ EVENT_FLAG_EXPANSION_ERROR = _Deprecated(
11723
+ "EVENT_FLAG_EXPANSION_ERROR", EVENT_FLAG_CALC_SCRIPT_VARIABLES_ERROR
11724
+ )
11725
+
11262
11726
  DIRECTORY_FILES_EXTRACTED = _Deprecated(
11263
11727
  "DIRECTORY_FILES_EXTRACTED", PACK_FILES_OPENED
11264
11728
  )
@@ -13244,6 +13708,15 @@ class NaLibsFunctions:
13244
13708
  None,
13245
13709
  )
13246
13710
 
13711
+ PM_ForceToPowerOff = Symbol(
13712
+ [0x15F34],
13713
+ [0x208200C],
13714
+ None,
13715
+ "PM_ForceToPowerOff",
13716
+ "Powers off the system.\n\nreturn: ?",
13717
+ None,
13718
+ )
13719
+
13247
13720
  abs = Symbol(
13248
13721
  [0x1A484],
13249
13722
  [0x208655C],
@@ -13577,12 +14050,12 @@ class NaLibsFunctions:
13577
14050
  None,
13578
14051
  )
13579
14052
 
13580
- _dgeq = Symbol(
14053
+ _dgr = Symbol(
13581
14054
  [0x22E04],
13582
14055
  [0x208EEDC],
13583
14056
  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",
14057
+ "_dgr",
14058
+ "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
14059
  None,
13587
14060
  )
13588
14061
 
@@ -17211,6 +17684,15 @@ class NaOverlay10Data:
17211
17684
  "struct dungeon_id_8",
17212
17685
  )
17213
17686
 
17687
+ FIERY_DRUM_RECRUIT_BOOST = Symbol(
17688
+ [0x7990],
17689
+ [0x22C4410],
17690
+ 0x2,
17691
+ "FIERY_DRUM_RECRUIT_BOOST",
17692
+ "The amount added to the recruit rate with compatible species when holding a Fiery Drum.",
17693
+ "int16_t",
17694
+ )
17695
+
17214
17696
  BAD_POISON_DAMAGE_COOLDOWN = Symbol(
17215
17697
  [0x7994],
17216
17698
  [0x22C4414],
@@ -17220,6 +17702,15 @@ class NaOverlay10Data:
17220
17702
  "int16_t",
17221
17703
  )
17222
17704
 
17705
+ ICY_FLUTE_RECRUIT_BOOST = Symbol(
17706
+ [0x799C],
17707
+ [0x22C441C],
17708
+ 0x2,
17709
+ "ICY_FLUTE_RECRUIT_BOOST",
17710
+ "The amount added to the recruit rate with compatible species when holding an Icy Flute.",
17711
+ "int16_t",
17712
+ )
17713
+
17223
17714
  PROTEIN_STAT_BOOST = Symbol(
17224
17715
  [0x79A0],
17225
17716
  [0x22C4420],
@@ -17265,6 +17756,15 @@ class NaOverlay10Data:
17265
17756
  "int16_t",
17266
17757
  )
17267
17758
 
17759
+ GOLDEN_MASK_RECRUIT_BOOST = Symbol(
17760
+ [0x79BC],
17761
+ [0x22C443C],
17762
+ 0x2,
17763
+ "GOLDEN_MASK_RECRUIT_BOOST",
17764
+ "The amount added to the recruit rate when holding a Golden Mask.",
17765
+ "int16_t",
17766
+ )
17767
+
17268
17768
  IRON_TAIL_LOWER_DEFENSE_CHANCE = Symbol(
17269
17769
  [0x79C0],
17270
17770
  [0x22C4440],
@@ -17310,6 +17810,15 @@ class NaOverlay10Data:
17310
17810
  "int16_t",
17311
17811
  )
17312
17812
 
17813
+ HURL_DAMAGE = Symbol(
17814
+ [0x79D8],
17815
+ [0x22C4458],
17816
+ 0x2,
17817
+ "HURL_DAMAGE",
17818
+ "Damage dealt from hurling a monster at another monster (10).",
17819
+ "int16_t",
17820
+ )
17821
+
17313
17822
  TRAP_BUSTER_ACTIVATION_CHANCE = Symbol(
17314
17823
  [0x79DC],
17315
17824
  [0x22C445C],
@@ -17346,6 +17855,15 @@ class NaOverlay10Data:
17346
17855
  "int16_t",
17347
17856
  )
17348
17857
 
17858
+ AMBER_TEAR_RECRUIT_BOOST = Symbol(
17859
+ [0x79FC],
17860
+ [0x22C447C],
17861
+ 0x2,
17862
+ "AMBER_TEAR_RECRUIT_BOOST",
17863
+ "The amount added to the recruit rate when holding an Amber Tear.",
17864
+ "int16_t",
17865
+ )
17866
+
17349
17867
  MUDDY_WATER_LOWER_ACCURACY_CHANCE = Symbol(
17350
17868
  [0x7A04],
17351
17869
  [0x22C4484],
@@ -17454,6 +17972,15 @@ class NaOverlay10Data:
17454
17972
  "int16_t",
17455
17973
  )
17456
17974
 
17975
+ CURSE_DAMAGE_COOLDOWN = Symbol(
17976
+ [0x7A3C],
17977
+ [0x22C44BC],
17978
+ None,
17979
+ "CURSE_DAMAGE_COOLDOWN",
17980
+ "The number of turns between passive curse damage (3).",
17981
+ "int16_t",
17982
+ )
17983
+
17457
17984
  STEEL_WING_BOOST_DEFENSE_CHANCE = Symbol(
17458
17985
  [0x7A44],
17459
17986
  [0x22C44C4],
@@ -17508,6 +18035,15 @@ class NaOverlay10Data:
17508
18035
  "int16_t",
17509
18036
  )
17510
18037
 
18038
+ PITFALL_TRAP_DAMAGE = Symbol(
18039
+ [0x7A64],
18040
+ [0x22C44E4],
18041
+ 0x2,
18042
+ "PITFALL_TRAP_DAMAGE",
18043
+ "Damage dealt by pitfall traps (5).",
18044
+ "int16_t",
18045
+ )
18046
+
17511
18047
  CHARGE_BEAM_BOOST_SPECIAL_ATTACK_CHANCE = Symbol(
17512
18048
  [0x7A70],
17513
18049
  [0x22C44F0],
@@ -17535,6 +18071,15 @@ class NaOverlay10Data:
17535
18071
  "int16_t",
17536
18072
  )
17537
18073
 
18074
+ FRIEND_BOW_FAST_FRIEND_BOOST = Symbol(
18075
+ [0x7A7C],
18076
+ [0x22C44FC],
18077
+ 0x2,
18078
+ "FRIEND_BOW_FAST_FRIEND_BOOST",
18079
+ "The amount added to the recruit rate when holding a Friend Bow or with the Fast Friend IQ skill.",
18080
+ "int16_t",
18081
+ )
18082
+
17538
18083
  OCTAZOOKA_LOWER_ACCURACY_CHANCE = Symbol(
17539
18084
  [0x7A80],
17540
18085
  [0x22C4500],
@@ -17589,6 +18134,15 @@ class NaOverlay10Data:
17589
18134
  "int16_t",
17590
18135
  )
17591
18136
 
18137
+ CUTE_CHARM_INFATUATE_CHANCE = Symbol(
18138
+ [0x7AA4],
18139
+ [0x22C4524],
18140
+ 0x2,
18141
+ "CUTE_CHARM_INFATUATE_CHANCE",
18142
+ "The chance of Cute Charm infatuating, as a percentage (12%).",
18143
+ "int16_t",
18144
+ )
18145
+
17592
18146
  LICK_PARALYZE_CHANCE = Symbol(
17593
18147
  [0x7AA8],
17594
18148
  [0x22C4528],
@@ -17733,6 +18287,15 @@ class NaOverlay10Data:
17733
18287
  "int16_t",
17734
18288
  )
17735
18289
 
18290
+ INGRAIN_BONUS_REGEN = Symbol(
18291
+ [0x7B10],
18292
+ [0x22C4590],
18293
+ None,
18294
+ "INGRAIN_BONUS_REGEN",
18295
+ "The passive bonus regen given by the Ingrain status condition (10).",
18296
+ "int16_t",
18297
+ )
18298
+
17736
18299
  AFTERMATH_CHANCE = Symbol(
17737
18300
  [0x7B14],
17738
18301
  [0x22C4594],
@@ -17760,6 +18323,15 @@ class NaOverlay10Data:
17760
18323
  "int16_t",
17761
18324
  )
17762
18325
 
18326
+ WRAP_DAMAGE = Symbol(
18327
+ [0x7B50],
18328
+ [0x22C45D0],
18329
+ None,
18330
+ "WRAP_DAMAGE",
18331
+ "Damage dealt by the wrap status condition (6).",
18332
+ "int16_t",
18333
+ )
18334
+
17763
18335
  TYPE_ADVANTAGE_MASTER_CRIT_RATE = Symbol(
17764
18336
  [0x7B60],
17765
18337
  [0x22C45E0],
@@ -17769,6 +18341,15 @@ class NaOverlay10Data:
17769
18341
  "int16_t",
17770
18342
  )
17771
18343
 
18344
+ INGRAIN_BONUS_REGEN_COOLDOWN = Symbol(
18345
+ [0x7B68],
18346
+ [0x22C45E8],
18347
+ None,
18348
+ "INGRAIN_BONUS_REGEN_COOLDOWN",
18349
+ "The number of turns between ingrain health regeneration (5).",
18350
+ "int16_t",
18351
+ )
18352
+
17772
18353
  ORAN_BERRY_HP_RESTORATION = Symbol(
17773
18354
  [0x7B6C],
17774
18355
  [0x22C45EC],
@@ -17778,6 +18359,15 @@ class NaOverlay10Data:
17778
18359
  "int16_t",
17779
18360
  )
17780
18361
 
18362
+ WRAP_DAMAGE_COOLDOWN = Symbol(
18363
+ [0x7B70],
18364
+ [0x22C45F0],
18365
+ None,
18366
+ "WRAP_DAMAGE_COOLDOWN",
18367
+ "The number of turns between passive wrap damage (2).",
18368
+ "int16_t",
18369
+ )
18370
+
17781
18371
  SITRUS_BERRY_FULL_HP_BOOST = Symbol(
17782
18372
  [0x7B74],
17783
18373
  [0x22C45F4],
@@ -17836,6 +18426,15 @@ class NaOverlay10Data:
17836
18426
  [0x7BA4], [0x22C4624], 0x2, "STICK_POWER", "Attack power for Sticks.", "int16_t"
17837
18427
  )
17838
18428
 
18429
+ AQUA_RING_BONUS_REGEN = Symbol(
18430
+ [0x7BA8],
18431
+ [0x22C4628],
18432
+ None,
18433
+ "AQUA_RING_BONUS_REGEN",
18434
+ "The passive bonus regen given by the Aqua Ring status condition (8).",
18435
+ "int16_t",
18436
+ )
18437
+
17839
18438
  BUBBLE_LOWER_SPEED_CHANCE = Symbol(
17840
18439
  [0x7BAC],
17841
18440
  [0x22C462C],
@@ -17890,6 +18489,15 @@ class NaOverlay10Data:
17890
18489
  "int16_t",
17891
18490
  )
17892
18491
 
18492
+ CHATOT_SCARF_BOUNCE_CHANCE = Symbol(
18493
+ [0x7BC8],
18494
+ [0x22C4648],
18495
+ 0x2,
18496
+ "CHATOT_SCARF_BOUNCE_CHANCE",
18497
+ "The chance of the Chatot Scarf bouncing back a move, as a percentage (20%).",
18498
+ "int16_t",
18499
+ )
18500
+
17893
18501
  WEATHER_MOVE_TURN_COUNT = Symbol(
17894
18502
  [0x7BD4],
17895
18503
  [0x22C4654],
@@ -18178,6 +18786,15 @@ class NaOverlay10Data:
18178
18786
  "int16_t",
18179
18787
  )
18180
18788
 
18789
+ BAD_WEATHER_DAMAGE = Symbol(
18790
+ [0x7C6C],
18791
+ [0x22C46EC],
18792
+ None,
18793
+ "BAD_WEATHER_DAMAGE",
18794
+ "Damage dealt by the Sandstorm and Hail weather conditions (3).",
18795
+ "int16_t",
18796
+ )
18797
+
18181
18798
  SCOPE_LENS_CRIT_RATE_BOOST = Symbol(
18182
18799
  [0x7C70],
18183
18800
  [0x22C46F0],
@@ -18196,6 +18813,51 @@ class NaOverlay10Data:
18196
18813
  "int16_t",
18197
18814
  )
18198
18815
 
18816
+ SKY_MELODICA_RECRUIT_BOOST = Symbol(
18817
+ [0x7C7C],
18818
+ [0x22C46FC],
18819
+ 0x2,
18820
+ "SKY_MELODICA_RECRUIT_BOOST",
18821
+ "The amount added to the recruit rate with compatible species when holding a Sky Melodica.",
18822
+ "int16_t",
18823
+ )
18824
+
18825
+ GRASS_CORNET_RECRUIT_BOOST = Symbol(
18826
+ [0x7C80],
18827
+ [0x22C4700],
18828
+ 0x2,
18829
+ "GRASS_CORNET_RECRUIT_BOOST",
18830
+ "The amount added to the recruit rate with compatible species when holding a Grass Cornet.",
18831
+ "int16_t",
18832
+ )
18833
+
18834
+ ROCK_HORN_RECRUIT_BOOST = Symbol(
18835
+ [0x7C84],
18836
+ [0x22C4704],
18837
+ 0x2,
18838
+ "ROCK_HORN_RECRUIT_BOOST",
18839
+ "The amount added to the recruit rate with compatible species when holding a Rock Horn.",
18840
+ "int16_t",
18841
+ )
18842
+
18843
+ AQUA_MONICA_RECRUIT_BOOST = Symbol(
18844
+ [0x7C88],
18845
+ [0x22C4708],
18846
+ 0x2,
18847
+ "AQUA_MONICA_RECRUIT_BOOST",
18848
+ "The amount added to the recruit rate with compatible species when holding a Aqua Monica.",
18849
+ "int16_t",
18850
+ )
18851
+
18852
+ TERRA_CYMBAL_RECRUIT_BOOST = Symbol(
18853
+ [0x7C8C],
18854
+ [0x22C470C],
18855
+ 0x2,
18856
+ "TERRA_CYMBAL_RECRUIT_BOOST",
18857
+ "The amount added to the recruit rate with compatible species when holding a Terra Cymbal.",
18858
+ "int16_t",
18859
+ )
18860
+
18199
18861
  ME_FIRST_MULTIPLIER = Symbol(
18200
18862
  [0x7C90],
18201
18863
  [0x22C4710],
@@ -18241,6 +18903,60 @@ class NaOverlay10Data:
18241
18903
  "int16_t[2]",
18242
18904
  )
18243
18905
 
18906
+ SLEEPLESSNESS_TURN_RANGE = Symbol(
18907
+ [0x7CA8],
18908
+ [0x22C4728],
18909
+ 0x4,
18910
+ "SLEEPLESSNESS_TURN_RANGE",
18911
+ "The turn range for the Sleepless status, [0x7F, 0x7F] (infinite).\n\ntype: int16_t[2]",
18912
+ "int16_t[2]",
18913
+ )
18914
+
18915
+ REFLECT_TURN_RANGE = Symbol(
18916
+ [0x7CAC],
18917
+ [0x22C472C],
18918
+ 0x4,
18919
+ "REFLECT_TURN_RANGE",
18920
+ "The turn range for the Reflect status, [10, 12).\n\ntype: int16_t[2]",
18921
+ "int16_t[2]",
18922
+ )
18923
+
18924
+ LIGHT_SCREEN_TURN_RANGE = Symbol(
18925
+ [0x7CB0],
18926
+ [0x22C4730],
18927
+ 0x4,
18928
+ "LIGHT_SCREEN_TURN_RANGE",
18929
+ "The turn range for the Light Screen status, [10, 12).\n\ntype: int16_t[2]",
18930
+ "int16_t[2]",
18931
+ )
18932
+
18933
+ SAFEGUARD_TURN_RANGE = Symbol(
18934
+ [0x7CB4],
18935
+ [0x22C4734],
18936
+ 0x4,
18937
+ "SAFEGUARD_TURN_RANGE",
18938
+ "The turn range for the Safeguard status, [15, 20).\n\ntype: int16_t[2]",
18939
+ "int16_t[2]",
18940
+ )
18941
+
18942
+ MIST_TURN_RANGE = Symbol(
18943
+ [0x7CB8],
18944
+ [0x22C4738],
18945
+ 0x4,
18946
+ "MIST_TURN_RANGE",
18947
+ "The turn range for the Mist status, [10, 14).\n\ntype: int16_t[2]",
18948
+ "int16_t[2]",
18949
+ )
18950
+
18951
+ MAGIC_COAT_TURN_RANGE = Symbol(
18952
+ [0x7CC0],
18953
+ [0x22C4740],
18954
+ 0x4,
18955
+ "MAGIC_COAT_TURN_RANGE",
18956
+ "The turn range for the Magic Coat status, [10, 14).\n\ntype: int16_t[2]",
18957
+ "int16_t[2]",
18958
+ )
18959
+
18244
18960
  BURN_DAMAGE_MULTIPLIER = Symbol(
18245
18961
  [0x7CC4],
18246
18962
  [0x22C4744],
@@ -18268,6 +18984,15 @@ class NaOverlay10Data:
18268
18984
  "fx32_8",
18269
18985
  )
18270
18986
 
18987
+ SET_REFLECT_STATUS_TURN_RANGE = Symbol(
18988
+ [0x7CD0],
18989
+ [0x22C4750],
18990
+ 0x4,
18991
+ "SET_REFLECT_STATUS_TURN_RANGE",
18992
+ "The turn range for the statuses (Counter, Mini Counter, Metal Burst) set by SetReflectStatus, [6, 12).\n\ntype: int16_t[2]",
18993
+ "int16_t[2]",
18994
+ )
18995
+
18271
18996
  MATCHUP_IMMUNE_MULTIPLIER = Symbol(
18272
18997
  [0x7CD8],
18273
18998
  [0x22C4758],
@@ -18277,6 +19002,15 @@ class NaOverlay10Data:
18277
19002
  "fx32_8",
18278
19003
  )
18279
19004
 
19005
+ GASTRO_ACID_TURN_RANGE = Symbol(
19006
+ [0x7CEC],
19007
+ [0x22C476C],
19008
+ 0x4,
19009
+ "GASTRO_ACID_TURN_RANGE",
19010
+ "The turn range for the Gastro Acid status, [4, 10).\n\ntype: int16_t[2]",
19011
+ "int16_t[2]",
19012
+ )
19013
+
18280
19014
  SPORT_CONDITION_TURN_RANGE = Symbol(
18281
19015
  [0x7D0C],
18282
19016
  [0x22C478C],
@@ -18304,6 +19038,15 @@ class NaOverlay10Data:
18304
19038
  "int",
18305
19039
  )
18306
19040
 
19041
+ DECOY_TURN_RANGE = Symbol(
19042
+ [0x7D34],
19043
+ [0x22C47B4],
19044
+ 0x4,
19045
+ "DECOY_TURN_RANGE",
19046
+ "The turn range for the Decoy status, [20, 50).\n\ntype: int16_t[2]",
19047
+ "int16_t[2]",
19048
+ )
19049
+
18307
19050
  TINTED_LENS_MULTIPLIER = Symbol(
18308
19051
  [0x7D40],
18309
19052
  [0x22C47C0],
@@ -18439,6 +19182,15 @@ class NaOverlay10Data:
18439
19182
  "fx32_8",
18440
19183
  )
18441
19184
 
19185
+ MIRROR_MOVE_TURN_RANGE = Symbol(
19186
+ [0x7DC0],
19187
+ [0x22C4840],
19188
+ 0x4,
19189
+ "MIRROR_MOVE_TURN_RANGE",
19190
+ "The turn range for the Mirror Move status, [1, 3).\n\ntype: int16_t[2]",
19191
+ "int16_t[2]",
19192
+ )
19193
+
18442
19194
  AIR_BLADE_DAMAGE_MULTIPLIER = Symbol(
18443
19195
  [0x7DC4],
18444
19196
  [0x22C4844],
@@ -18475,6 +19227,15 @@ class NaOverlay10Data:
18475
19227
  "int16_t[2]",
18476
19228
  )
18477
19229
 
19230
+ CRINGE_TURN_RANGE = Symbol(
19231
+ [0x7E04],
19232
+ [0x22C4884],
19233
+ 0x4,
19234
+ "CRINGE_TURN_RANGE",
19235
+ "The turn range for the Cringe status, [1, 1].\n\ntype: int16_t[2]",
19236
+ "int16_t[2]",
19237
+ )
19238
+
18478
19239
  SPEED_BOOST_TURN_RANGE = Symbol(
18479
19240
  [0x7E08],
18480
19241
  [0x22C4888],
@@ -18484,6 +19245,24 @@ class NaOverlay10Data:
18484
19245
  "int16_t[2]",
18485
19246
  )
18486
19247
 
19248
+ SPEED_LOWER_TURN_RANGE = Symbol(
19249
+ [0x7E0C],
19250
+ [0x22C488C],
19251
+ None,
19252
+ "SPEED_LOWER_TURN_RANGE",
19253
+ "The turn range for lowered speed, [6, 8].\n\ntype: int16_t[2]",
19254
+ "int16_t[2]",
19255
+ )
19256
+
19257
+ PARALYSIS_TURN_RANGE = Symbol(
19258
+ [0x7E14],
19259
+ [0x22C4894],
19260
+ None,
19261
+ "PARALYSIS_TURN_RANGE",
19262
+ "The turn range for the Paralysis status, [1, 2].\n\ntype: int16_t[2]",
19263
+ "int16_t[2]",
19264
+ )
19265
+
18487
19266
  SOLARBEAM_DAMAGE_MULTIPLIER = Symbol(
18488
19267
  [0x7E24],
18489
19268
  [0x22C48A4],
@@ -18898,6 +19677,10 @@ class NaOverlay10Data:
18898
19677
  "struct data_processing_instruction",
18899
19678
  )
18900
19679
 
19680
+ REFLECT_LIGHT_SCREEN_TURN_RANGE = _Deprecated(
19681
+ "REFLECT_LIGHT_SCREEN_TURN_RANGE", REFLECT_TURN_RANGE
19682
+ )
19683
+
18901
19684
 
18902
19685
  class NaOverlay10Section:
18903
19686
  name = "overlay10"
@@ -19210,6 +19993,33 @@ class NaOverlay11Functions:
19210
19993
  None,
19211
19994
  )
19212
19995
 
19996
+ GroundBgInit = Symbol(
19997
+ [0xF9D8],
19998
+ [0x22EBC18],
19999
+ None,
20000
+ "GroundBgInit",
20001
+ "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)",
20002
+ None,
20003
+ )
20004
+
20005
+ GroundBgFreeAll = Symbol(
20006
+ [0xFC6C],
20007
+ [0x22EBEAC],
20008
+ None,
20009
+ "GroundBgFreeAll",
20010
+ "Frees memory and closes any open files in the ground_bg struct.\n\nr0: ground_bg struct pointer",
20011
+ None,
20012
+ )
20013
+
20014
+ GroundBgCloseOpenedFiles = Symbol(
20015
+ [0xFD88],
20016
+ [0x22EBFC8],
20017
+ None,
20018
+ "GroundBgCloseOpenedFiles",
20019
+ "Closes any open files in the ground_bg struct.\n\nr0: ground_bg struct pointer",
20020
+ None,
20021
+ )
20022
+
19213
20023
  LoadMapType10 = Symbol(
19214
20024
  [0x10AE4],
19215
20025
  [0x22ECD24],
@@ -19228,6 +20038,15 @@ class NaOverlay11Functions:
19228
20038
  None,
19229
20039
  )
19230
20040
 
20041
+ BmaLayerNrlDecompressor = Symbol(
20042
+ [0x12094],
20043
+ [0x22EE2D4],
20044
+ None,
20045
+ "BmaLayerNrlDecompressor",
20046
+ "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",
20047
+ None,
20048
+ )
20049
+
19231
20050
  GetSpecialLayoutBackground = Symbol(
19232
20051
  [0x1531C],
19233
20052
  [0x22F155C],
@@ -20137,6 +20956,15 @@ class NaOverlay11Functions:
20137
20956
  None,
20138
20957
  )
20139
20958
 
20959
+ SwapShopInventoryManager = Symbol(
20960
+ [0x2EFCC],
20961
+ [0x230B20C],
20962
+ None,
20963
+ "SwapShopInventoryManager",
20964
+ "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.",
20965
+ None,
20966
+ )
20967
+
20140
20968
  HandleControlsTopScreenGround = Symbol(
20141
20969
  [0x323D8],
20142
20970
  [0x230E618],
@@ -20313,6 +21141,15 @@ class NaOverlay11Data:
20313
21141
  "struct monster_id_16[22]",
20314
21142
  )
20315
21143
 
21144
+ POSITION_ZERO = Symbol(
21145
+ [0x449B8],
21146
+ [0x2320BF8],
21147
+ 0x8,
21148
+ "POSITION_ZERO",
21149
+ "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",
21150
+ "struct pixel_position",
21151
+ )
21152
+
20316
21153
  LEVEL_TILEMAP_LIST = Symbol(
20317
21154
  [0x44AEC],
20318
21155
  [0x2320D2C],
@@ -20402,6 +21239,15 @@ class NaOverlay11Data:
20402
21239
  "struct main_ground_data",
20403
21240
  )
20404
21241
 
21242
+ SWAP_SHOP_INVENTORY_PTRS = Symbol(
21243
+ [0x48B64],
21244
+ [0x2324DA4],
21245
+ None,
21246
+ "SWAP_SHOP_INVENTORY_PTRS",
21247
+ "Host pointers to multiple structures used for performing internal Swap Shop checks.",
21248
+ "struct swap_shop_inventory_ptrs",
21249
+ )
21250
+
20405
21251
  WORLD_MAP_MODE = Symbol(
20406
21252
  [0x48BA4],
20407
21253
  [0x2324DE4],
@@ -22377,7 +23223,68 @@ class NaOverlay20Section:
22377
23223
 
22378
23224
  class NaOverlay21Functions:
22379
23225
 
22380
- pass
23226
+ SwapShopDialogueManager = Symbol(
23227
+ [0x0],
23228
+ [0x238A140],
23229
+ None,
23230
+ "SwapShopDialogueManager",
23231
+ "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.",
23232
+ None,
23233
+ )
23234
+
23235
+ GetFirstExclusivePrerequisite = Symbol(
23236
+ [0x16A0],
23237
+ [0x238B7E0],
23238
+ None,
23239
+ "GetFirstExclusivePrerequisite",
23240
+ "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.",
23241
+ None,
23242
+ )
23243
+
23244
+ SwapShopEntryPoint = Symbol(
23245
+ [0x1708],
23246
+ [0x238B848],
23247
+ None,
23248
+ "SwapShopEntryPoint",
23249
+ "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.",
23250
+ None,
23251
+ )
23252
+
23253
+ SwapShopDestructor = Symbol(
23254
+ [0x17BC],
23255
+ [0x238B8FC],
23256
+ None,
23257
+ "SwapShopDestructor",
23258
+ "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.",
23259
+ None,
23260
+ )
23261
+
23262
+ SwapShopMainManager = Symbol(
23263
+ [0x17E8],
23264
+ [0x238B928],
23265
+ None,
23266
+ "SwapShopMainManager",
23267
+ "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?",
23268
+ None,
23269
+ )
23270
+
23271
+ CloseTextboxAndSimpleMenu = Symbol(
23272
+ [0x27E0],
23273
+ [0x238C920],
23274
+ None,
23275
+ "CloseTextboxAndSimpleMenu",
23276
+ "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.",
23277
+ None,
23278
+ )
23279
+
23280
+ SwapShopPrintCurrentGold = Symbol(
23281
+ [0x2864],
23282
+ [0x238C9A4],
23283
+ None,
23284
+ "SwapShopPrintCurrentGold",
23285
+ "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",
23286
+ None,
23287
+ )
22381
23288
 
22382
23289
 
22383
23290
  class NaOverlay21Data:
@@ -22387,7 +23294,7 @@ class NaOverlay21Data:
22387
23294
  [0x238CA28],
22388
23295
  0x10,
22389
23296
  "SWAP_SHOP_WINDOW_PARAMS_1",
22390
- "Note: unverified, ported from Irdkwia's notes",
23297
+ "Used with SwapShopPrintCurrentGold for a simple textbox.",
22391
23298
  "struct window_params",
22392
23299
  )
22393
23300
 
@@ -22396,7 +23303,7 @@ class NaOverlay21Data:
22396
23303
  [0x238CA38],
22397
23304
  0x18,
22398
23305
  "SWAP_SHOP_MENU_ITEMS_CONFIRM",
22399
- "",
23306
+ "Used with SWAP_SHOP_WINDOW_PARAMS_7.",
22400
23307
  "struct simple_menu_id_item[3]",
22401
23308
  )
22402
23309
 
@@ -22405,7 +23312,7 @@ class NaOverlay21Data:
22405
23312
  [0x238CA50],
22406
23313
  0x18,
22407
23314
  "SWAP_SHOP_SUBMENU_ITEMS_1",
22408
- "",
23315
+ "Used with SWAP_SHOP_WINDOW_PARAMS_6.",
22409
23316
  "struct simple_menu_id_item[3]",
22410
23317
  )
22411
23318
 
@@ -22414,7 +23321,7 @@ class NaOverlay21Data:
22414
23321
  [0x238CA68],
22415
23322
  0x20,
22416
23323
  "SWAP_SHOP_SUBMENU_ITEMS_2",
22417
- "",
23324
+ "Used with SWAP_SHOP_WINDOW_PARAMS_7.",
22418
23325
  "struct simple_menu_id_item[4]",
22419
23326
  )
22420
23327
 
@@ -22423,7 +23330,7 @@ class NaOverlay21Data:
22423
23330
  [0x238CA88],
22424
23331
  0x20,
22425
23332
  "SWAP_SHOP_MAIN_MENU_ITEMS_1",
22426
- "",
23333
+ "Used with SWAP_SHOP_WINDOW_PARAMS_6.",
22427
23334
  "struct simple_menu_id_item[4]",
22428
23335
  )
22429
23336
 
@@ -22432,7 +23339,7 @@ class NaOverlay21Data:
22432
23339
  [0x238CAA8],
22433
23340
  0x28,
22434
23341
  "SWAP_SHOP_MAIN_MENU_ITEMS_2",
22435
- "",
23342
+ "Used alongside SWAP_SHOP_WINDOW_PARAMS_5.",
22436
23343
  "struct simple_menu_id_item[5]",
22437
23344
  )
22438
23345
 
@@ -22441,7 +23348,7 @@ class NaOverlay21Data:
22441
23348
  [0x238CAD0],
22442
23349
  0x30,
22443
23350
  "SWAP_SHOP_SUBMENU_ITEMS_3",
22444
- "",
23351
+ "Used alongside SWAP_SHOP_WINDOW_PARAMS_9.",
22445
23352
  "struct simple_menu_id_item[6]",
22446
23353
  )
22447
23354
 
@@ -22450,8 +23357,8 @@ class NaOverlay21Data:
22450
23357
  [0x238CB00],
22451
23358
  0x38,
22452
23359
  "OVERLAY21_UNKNOWN_STRING_IDS",
22453
- "Note: unverified, ported from Irdkwia's notes",
22454
- "",
23360
+ "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.",
23361
+ "int16_t[24]",
22455
23362
  )
22456
23363
 
22457
23364
  SWAP_SHOP_WINDOW_PARAMS_2 = Symbol(
@@ -22459,7 +23366,7 @@ class NaOverlay21Data:
22459
23366
  [0x238CB38],
22460
23367
  0x10,
22461
23368
  "SWAP_SHOP_WINDOW_PARAMS_2",
22462
- "Note: unverified, ported from Irdkwia's notes",
23369
+ "Seem to be completely unused by the Swap Shop.",
22463
23370
  "struct window_params",
22464
23371
  )
22465
23372
 
@@ -22468,7 +23375,7 @@ class NaOverlay21Data:
22468
23375
  [0x238CB48],
22469
23376
  0x10,
22470
23377
  "SWAP_SHOP_WINDOW_PARAMS_3",
22471
- "Note: unverified, ported from Irdkwia's notes",
23378
+ "Seem to be completely unused by the Swap Shop.",
22472
23379
  "struct window_params",
22473
23380
  )
22474
23381
 
@@ -22477,7 +23384,7 @@ class NaOverlay21Data:
22477
23384
  [0x238CB58],
22478
23385
  0x10,
22479
23386
  "SWAP_SHOP_WINDOW_PARAMS_4",
22480
- "Note: unverified, ported from Irdkwia's notes",
23387
+ "Seem to be completely unused by the Swap Shop.",
22481
23388
  "struct window_params",
22482
23389
  )
22483
23390
 
@@ -22486,7 +23393,7 @@ class NaOverlay21Data:
22486
23393
  [0x238CB68],
22487
23394
  0x10,
22488
23395
  "SWAP_SHOP_WINDOW_PARAMS_5",
22489
- "Note: unverified, ported from Irdkwia's notes",
23396
+ "Used alongside SWAP_SHOP_MAIN_MENU_ITEMS_2.",
22490
23397
  "struct window_params",
22491
23398
  )
22492
23399
 
@@ -22495,7 +23402,7 @@ class NaOverlay21Data:
22495
23402
  [0x238CB78],
22496
23403
  0x10,
22497
23404
  "SWAP_SHOP_WINDOW_PARAMS_6",
22498
- "Note: unverified, ported from Irdkwia's notes",
23405
+ "Used alongside both SWAP_SHOP_MAIN_MENU_ITEMS_1 and SWAP_SHOP_SUBMENU_ITEMS_1.",
22499
23406
  "struct window_params",
22500
23407
  )
22501
23408
 
@@ -22504,7 +23411,7 @@ class NaOverlay21Data:
22504
23411
  [0x238CB88],
22505
23412
  0x10,
22506
23413
  "SWAP_SHOP_WINDOW_PARAMS_7",
22507
- "Note: unverified, ported from Irdkwia's notes",
23414
+ "Used alongside both SWAP_SHOP_MENU_ITEMS_CONFIRM and SWAP_SHOP_SUBMENU_ITEMS_2.",
22508
23415
  "struct window_params",
22509
23416
  )
22510
23417
 
@@ -22513,7 +23420,7 @@ class NaOverlay21Data:
22513
23420
  [0x238CB98],
22514
23421
  0x10,
22515
23422
  "SWAP_SHOP_WINDOW_PARAMS_8",
22516
- "Note: unverified, ported from Irdkwia's notes",
23423
+ "Used alone, seemingly for the exclusive item description window.",
22517
23424
  "struct window_params",
22518
23425
  )
22519
23426
 
@@ -22522,12 +23429,246 @@ class NaOverlay21Data:
22522
23429
  [0x238CBA8],
22523
23430
  0x10,
22524
23431
  "SWAP_SHOP_WINDOW_PARAMS_9",
22525
- "Note: unverified, ported from Irdkwia's notes",
23432
+ "Used alongside SWAP_SHOP_SUBMENU_ITEMS_3.",
22526
23433
  "struct window_params",
22527
23434
  )
22528
23435
 
23436
+ SWAP_SHOP_TALK_WELCOME_DEBUG_STRING = Symbol(
23437
+ [0x2A78],
23438
+ [0x238CBB8],
23439
+ None,
23440
+ "SWAP_SHOP_TALK_WELCOME_DEBUG_STRING",
23441
+ "MENU_SYNTHESIS_MODE_START:\n",
23442
+ "char[28]",
23443
+ )
23444
+
23445
+ SWAP_SHOP_MAIN_MENU_OPTIONS_DEBUG_STRING = Symbol(
23446
+ [0x2A94],
23447
+ [0x238CBD4],
23448
+ None,
23449
+ "SWAP_SHOP_MAIN_MENU_OPTIONS_DEBUG_STRING",
23450
+ "MENU_SYNTHESIS_MODE_SELECTMENU:\n",
23451
+ "char[33]",
23452
+ )
23453
+
23454
+ SWAP_SHOP_TALK_CONTINUE_SWAP_DEBUG_STRING = Symbol(
23455
+ [0x2AB8],
23456
+ [0x238CBF8],
23457
+ None,
23458
+ "SWAP_SHOP_TALK_CONTINUE_SWAP_DEBUG_STRING",
23459
+ "MENU_SYNTHESIS_MODE_RESTART:\n",
23460
+ "char[30]",
23461
+ )
23462
+
23463
+ SWAP_SHOP_TALK_SUBINFO_DEBUG_STRING = Symbol(
23464
+ [0x2AD8],
23465
+ [0x238CC18],
23466
+ None,
23467
+ "SWAP_SHOP_TALK_SUBINFO_DEBUG_STRING",
23468
+ "MENU_SYNTHESIS_MODE_EXPLANATION:\n",
23469
+ "char[34]",
23470
+ )
23471
+
23472
+ SWAP_SHOP_TALK_COME_AGAIN_DEBUG_STRING = Symbol(
23473
+ [0x2AFC],
23474
+ [0x238CC3C],
23475
+ None,
23476
+ "SWAP_SHOP_TALK_COME_AGAIN_DEBUG_STRING",
23477
+ "MENU_SYNTHESIS_MODE_THANKS:\n",
23478
+ "char[29]",
23479
+ )
23480
+
23481
+ SWAP_SHOP_TALK_LACKING_SWAP_ITEMS_DEBUG_STRING = Symbol(
23482
+ [0x2B1C],
23483
+ [0x238CC5C],
23484
+ None,
23485
+ "SWAP_SHOP_TALK_LACKING_SWAP_ITEMS_DEBUG_STRING",
23486
+ "MENU_SYNTHESIS_MODE_ITEM_NON:\n",
23487
+ "char[31]",
23488
+ )
23489
+
23490
+ SWAP_SHOP_TALK_SWAP_BROKE_DEBUG_STRING = Symbol(
23491
+ [0x2B3C],
23492
+ [0x238CC7C],
23493
+ None,
23494
+ "SWAP_SHOP_TALK_SWAP_BROKE_DEBUG_STRING",
23495
+ "MENU_SYNTHESIS_MODE_GOLD_NON\n",
23496
+ "char[30]",
23497
+ )
23498
+
23499
+ SWAP_SHOP_TALK_SWAP_POOR_DEBUG_STRING = Symbol(
23500
+ [0x2B5C],
23501
+ [0x238CC9C],
23502
+ None,
23503
+ "SWAP_SHOP_TALK_SWAP_POOR_DEBUG_STRING",
23504
+ "MENU_SYNTHESIS_GOLD",
23505
+ "char[19]",
23506
+ )
23507
+
23508
+ SWAP_SHOP_UNK_8_DEBUG_STRING = Symbol(
23509
+ [0x2B80],
23510
+ [0x238CCC0],
23511
+ None,
23512
+ "SWAP_SHOP_UNK_8_DEBUG_STRING",
23513
+ "MENU_SYNTHESIS_MODE_SELECT_FULL:\n",
23514
+ "char[34]",
23515
+ )
23516
+
23517
+ SWAP_SHOP_CLOSE_SHOP_DEBUG_STRING = Symbol(
23518
+ [0x2BA4],
23519
+ [0x238CCE4],
23520
+ None,
23521
+ "SWAP_SHOP_CLOSE_SHOP_DEBUG_STRING",
23522
+ "MENU_SYNTHESIS_MODE_QUIT\n",
23523
+ "char[26]",
23524
+ )
23525
+
23526
+ SWAP_SHOP_TALK_WHAT_ITEMS_DEBUG_STRING = Symbol(
23527
+ [0x2BC0],
23528
+ [0x238CD00],
23529
+ None,
23530
+ "SWAP_SHOP_TALK_WHAT_ITEMS_DEBUG_STRING",
23531
+ "MENU_SYNTHESIS_MODE_SELECT_START:\n",
23532
+ "char[35]",
23533
+ )
23534
+
23535
+ SWAP_SHOP_TALK_VALUABLE_SWAP_DEBUG_STRING = Symbol(
23536
+ [0x2BE4],
23537
+ [0x238CD24],
23538
+ None,
23539
+ "SWAP_SHOP_TALK_VALUABLE_SWAP_DEBUG_STRING",
23540
+ "MENU_SYNTHESIS_MODE__RESTART:\n",
23541
+ "char[31]",
23542
+ )
23543
+
23544
+ SWAP_SHOP_INIT_SWAP_ITEMS_MENU_DEBUG_STRING = Symbol(
23545
+ [0x2C04],
23546
+ [0x238CD44],
23547
+ None,
23548
+ "SWAP_SHOP_INIT_SWAP_ITEMS_MENU_DEBUG_STRING",
23549
+ "MENU_SYNTHESIS_MODE_SELECT_INIT:\n",
23550
+ "char[34]",
23551
+ )
23552
+
23553
+ SWAP_SHOP_SWAP_ITEMS_MENU_DEBUG_STRING = Symbol(
23554
+ [0x2C28],
23555
+ [0x238CD68],
23556
+ None,
23557
+ "SWAP_SHOP_SWAP_ITEMS_MENU_DEBUG_STRING",
23558
+ "MENU_SYNTHESIS_MODE_SELECT_SELECT:\n",
23559
+ "char[36]",
23560
+ )
23561
+
23562
+ SWAP_SHOP_RETURN_SWAP_ITEMS_MENU_DEBUG_STRING = Symbol(
23563
+ [0x2C4C],
23564
+ [0x238CD8C],
23565
+ None,
23566
+ "SWAP_SHOP_RETURN_SWAP_ITEMS_MENU_DEBUG_STRING",
23567
+ "MENU_SYNTHESIS_MODE_SELECT_RESELECT:\n",
23568
+ "char[38]",
23569
+ )
23570
+
23571
+ SWAP_SHOP_SELECT_SWAP_ITEM_OPTIONS_DEBUG_STRING = Symbol(
23572
+ [0x2C74],
23573
+ [0x238CDB4],
23574
+ None,
23575
+ "SWAP_SHOP_SELECT_SWAP_ITEM_OPTIONS_DEBUG_STRING",
23576
+ "\tMENU_SYNTHESIS_MODE_SELECT_SUB_MENU:\n",
23577
+ "char[40]",
23578
+ )
23579
+
23580
+ SWAP_SHOP_SWAP_ITEM_GET_INFO_DEBUG_STRING = Symbol(
23581
+ [0x2C9C],
23582
+ [0x238CDDC],
23583
+ None,
23584
+ "SWAP_SHOP_SWAP_ITEM_GET_INFO_DEBUG_STRING",
23585
+ "MENU_SYNTHESIS_MODE_SELECT_EXPLA\n",
23586
+ "char[34]",
23587
+ )
23588
+
23589
+ SWAP_SHOP_ITEM_ZERO_STRING = Symbol(
23590
+ [0x2CC0], [0x238CE00], None, "SWAP_SHOP_ITEM_ZERO_STRING", "[item:0]", "char[8]"
23591
+ )
23592
+
23593
+ SWAP_SHOP_TALK_CONFIRM_SWAP_DEBUG_STRING = Symbol(
23594
+ [0x2CCC],
23595
+ [0x238CE0C],
23596
+ None,
23597
+ "SWAP_SHOP_TALK_CONFIRM_SWAP_DEBUG_STRING",
23598
+ "MENU_SYNTHESIS_MODE_SELECT_CONFIRM_1:\n",
23599
+ "char[39]",
23600
+ )
23601
+
23602
+ SWAP_SHOP_CONFIRM_CHOICE_DEBUG_STRING = Symbol(
23603
+ [0x2CF4],
23604
+ [0x238CE34],
23605
+ None,
23606
+ "SWAP_SHOP_CONFIRM_CHOICE_DEBUG_STRING",
23607
+ "_SELL_CONFIRM NEW_1\n",
23608
+ "char[21]",
23609
+ )
23610
+
23611
+ SWAP_SHOP_INIT_SCRIPT_ACTION_1_DEBUG_STRING = Symbol(
23612
+ [0x2D0C],
23613
+ [0x238CE4C],
23614
+ None,
23615
+ "SWAP_SHOP_INIT_SCRIPT_ACTION_1_DEBUG_STRING",
23616
+ "MENU_SYNTHESIS_MODE_SELECT_THANKS_ACTION:\n",
23617
+ "char[43]",
23618
+ )
23619
+
23620
+ SWAP_SHOP_INIT_SCRIPT_ACTION_2_DEBUG_STRING = Symbol(
23621
+ [0x2D38],
23622
+ [0x238CE78],
23623
+ None,
23624
+ "SWAP_SHOP_INIT_SCRIPT_ACTION_2_DEBUG_STRING",
23625
+ "MENU_SYNTHESIS_MODE_SELECT_THANKS_ACTION2:\n",
23626
+ "char[44]",
23627
+ )
23628
+
23629
+ SWAP_SHOP_INIT_SCRIPT_ACTION_3_DEBUG_STRING = Symbol(
23630
+ [0x2D64],
23631
+ [0x238CEA4],
23632
+ None,
23633
+ "SWAP_SHOP_INIT_SCRIPT_ACTION_3_DEBUG_STRING",
23634
+ "MENU_SYNTHESIS_MODE_SELECT_THANKS_ACTION3:\n",
23635
+ "char[44]",
23636
+ )
23637
+
23638
+ SWAP_SHOP_TEXT_PUT_IN_CAULDRON_DEBUG_STRING = Symbol(
23639
+ [0x2D90],
23640
+ [0x238CED0],
23641
+ None,
23642
+ "SWAP_SHOP_TEXT_PUT_IN_CAULDRON_DEBUG_STRING",
23643
+ "MENU_SYNTHESIS_MODE_SELECT_THANKS_1:\n",
23644
+ "char[38]",
23645
+ )
23646
+
23647
+ SWAP_SHOP_DO_SWAP_THEN_TALK_DEBUG_STRING = Symbol(
23648
+ [0x2DB8],
23649
+ [0x238CEF8],
23650
+ None,
23651
+ "SWAP_SHOP_DO_SWAP_THEN_TALK_DEBUG_STRING",
23652
+ "MENU_SYNTHESIS_MODE_SELECT_THANKS:\n",
23653
+ "char[36]",
23654
+ )
23655
+
22529
23656
  OVERLAY21_JP_STRING = Symbol(
22530
- [0x2DDC], [0x238CF1C], 0x8, "OVERLAY21_JP_STRING", "合成:", ""
23657
+ [0x2DDC],
23658
+ [0x238CF1C],
23659
+ 0x8,
23660
+ "OVERLAY21_JP_STRING",
23661
+ "合成:(synthesis in Japanese)",
23662
+ "wchar_t[3]",
23663
+ )
23664
+
23665
+ SWAP_SHOP_GOLD_STRING = Symbol(
23666
+ [0x2DE4],
23667
+ [0x238CF24],
23668
+ None,
23669
+ "SWAP_SHOP_GOLD_STRING",
23670
+ "[CS:V][gold:0][CR]",
23671
+ "char[18]",
22531
23672
  )
22532
23673
 
22533
23674
  OVERLAY21_RESERVED_SPACE = Symbol(
@@ -22536,16 +23677,16 @@ class NaOverlay21Data:
22536
23677
  0x8,
22537
23678
  "OVERLAY21_RESERVED_SPACE",
22538
23679
  "Note: unverified, ported from Irdkwia's notes",
22539
- "",
23680
+ "undefined[8]",
22540
23681
  )
22541
23682
 
22542
- OVERLAY21_UNKNOWN_POINTER__NA_238CF40 = Symbol(
23683
+ SWAP_SHOP_MENU_DATA_PTR = Symbol(
22543
23684
  [0x2E00],
22544
23685
  [0x238CF40],
22545
23686
  0x4,
22546
- "OVERLAY21_UNKNOWN_POINTER__NA_238CF40",
22547
- "Note: unverified, ported from Irdkwia's notes",
22548
- "",
23687
+ "SWAP_SHOP_MENU_DATA_PTR",
23688
+ "Pointer to the swap_shop_menu_data that governs the operations of most overlay_21 functions.",
23689
+ "struct swap_shop_menu_data*",
22549
23690
  )
22550
23691
 
22551
23692
  OVERLAY21_UNKNOWN_POINTER__NA_238CF44 = Symbol(
@@ -22554,7 +23695,7 @@ class NaOverlay21Data:
22554
23695
  0x4,
22555
23696
  "OVERLAY21_UNKNOWN_POINTER__NA_238CF44",
22556
23697
  "Note: unverified, ported from Irdkwia's notes",
22557
- "",
23698
+ "undefined*",
22558
23699
  )
22559
23700
 
22560
23701
 
@@ -23703,6 +24844,15 @@ class NaOverlay29Functions:
23703
24844
  None,
23704
24845
  )
23705
24846
 
24847
+ FloorSecondaryTerrainIsChasm = Symbol(
24848
+ [0x4138],
24849
+ [0x22E0378],
24850
+ None,
24851
+ "FloorSecondaryTerrainIsChasm",
24852
+ "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",
24853
+ None,
24854
+ )
24855
+
23706
24856
  GetFloorType = Symbol(
23707
24857
  [0x4170],
23708
24858
  [0x22E03B0],
@@ -23784,6 +24934,24 @@ class NaOverlay29Functions:
23784
24934
  None,
23785
24935
  )
23786
24936
 
24937
+ SetDungeonEscapeFields = Symbol(
24938
+ [0x47A8],
24939
+ [0x22E09E8],
24940
+ None,
24941
+ "SetDungeonEscapeFields",
24942
+ "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",
24943
+ None,
24944
+ )
24945
+
24946
+ GetSuccessfulExitTracker = Symbol(
24947
+ [0x47C4],
24948
+ [0x22E0A04],
24949
+ None,
24950
+ "GetSuccessfulExitTracker",
24951
+ "Returns the successful_exit_tracker field of the dungeon struct.\n\nreturn: successful_exit_tracker",
24952
+ None,
24953
+ )
24954
+
23787
24955
  CheckTouchscreenArea = Symbol(
23788
24956
  [0x4A78],
23789
24957
  [0x22E0CB8],
@@ -23951,7 +25119,7 @@ class NaOverlay29Functions:
23951
25119
  [0x22E2AD8],
23952
25120
  None,
23953
25121
  "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: ?",
25122
+ "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
25123
  None,
23956
25124
  )
23957
25125
 
@@ -24118,6 +25286,15 @@ class NaOverlay29Functions:
24118
25286
  None,
24119
25287
  )
24120
25288
 
25289
+ PlayParalysisEffect = Symbol(
25290
+ [0x8000],
25291
+ [0x22E4240],
25292
+ None,
25293
+ "PlayParalysisEffect",
25294
+ "Displays the graphical effect on a monster that just became paralyzed.\n\nr0: entity pointer",
25295
+ None,
25296
+ )
25297
+
24121
25298
  PlayEffectAnimationEntityStandard = Symbol(
24122
25299
  [0x80A8],
24123
25300
  [0x22E42E8],
@@ -24127,6 +25304,24 @@ class NaOverlay29Functions:
24127
25304
  None,
24128
25305
  )
24129
25306
 
25307
+ PlaySpeedUpEffect = Symbol(
25308
+ [0x828C],
25309
+ [0x22E44CC],
25310
+ None,
25311
+ "PlaySpeedUpEffect",
25312
+ "Displays the graphical effect on a monster that just raised movement speed.\n\nr0: entity pointer",
25313
+ None,
25314
+ )
25315
+
25316
+ PlaySpeedDownEffect = Symbol(
25317
+ [0x82DC],
25318
+ [0x22E451C],
25319
+ None,
25320
+ "PlaySpeedDownEffect",
25321
+ "Displays the graphical effect on a monster that just lowered movement speed.\n\nr0: entity pointer",
25322
+ None,
25323
+ )
25324
+
24130
25325
  ShowPpRestoreEffect = Symbol(
24131
25326
  [0x8724],
24132
25327
  [0x22E4964],
@@ -24136,6 +25331,105 @@ class NaOverlay29Functions:
24136
25331
  None,
24137
25332
  )
24138
25333
 
25334
+ PlayOffensiveStatDownEffect = Symbol(
25335
+ [0x8AE8],
25336
+ [0x22E4D28],
25337
+ None,
25338
+ "PlayOffensiveStatDownEffect",
25339
+ "Displays the graphical effect on a monster that just lowered an offensive stat.\n\nr0: entity pointer\nr1: stat index",
25340
+ None,
25341
+ )
25342
+
25343
+ PlayDefensiveStatDownEffect = Symbol(
25344
+ [0x8B8C],
25345
+ [0x22E4DCC],
25346
+ None,
25347
+ "PlayDefensiveStatDownEffect",
25348
+ "Displays the graphical effect on a monster that just lowered a defensive stat.\n\nr0: entity pointer\nr1: stat index",
25349
+ None,
25350
+ )
25351
+
25352
+ PlayOffensiveStatUpEffect = Symbol(
25353
+ [0x8C34],
25354
+ [0x22E4E74],
25355
+ None,
25356
+ "PlayOffensiveStatUpEffect",
25357
+ "Displays the graphical effect on a monster that just raised an offensive stat.\n\nr0: entity pointer\nr1: stat index",
25358
+ None,
25359
+ )
25360
+
25361
+ PlayDefensiveStatUpEffect = Symbol(
25362
+ [0x8CDC],
25363
+ [0x22E4F1C],
25364
+ None,
25365
+ "PlayDefensiveStatUpEffect",
25366
+ "Displays the graphical effect on a monster that just raised a defensive stat.\n\nr0: entity pointer\nr1: stat index",
25367
+ None,
25368
+ )
25369
+
25370
+ PlayOffensiveStatMultiplierUpEffect = Symbol(
25371
+ [0x8D80],
25372
+ [0x22E4FC0],
25373
+ None,
25374
+ "PlayOffensiveStatMultiplierUpEffect",
25375
+ "Displays the graphical effect on a monster that just raised an offensive stat multiplier.\n\nr0: entity pointer\nr1: stat index",
25376
+ None,
25377
+ )
25378
+
25379
+ PlayOffensiveStatMultiplierDownEffect = Symbol(
25380
+ [0x8E28],
25381
+ [0x22E5068],
25382
+ None,
25383
+ "PlayOffensiveStatMultiplierDownEffect",
25384
+ "Displays the graphical effect on a monster that just lowered an offensive stat multiplier.\n\nr0: entity pointer\nr1: stat index",
25385
+ None,
25386
+ )
25387
+
25388
+ PlayDefensiveStatMultiplierUpEffect = Symbol(
25389
+ [0x8ECC],
25390
+ [0x22E510C],
25391
+ None,
25392
+ "PlayDefensiveStatMultiplierUpEffect",
25393
+ "Displays the graphical effect on a monster that just raised a defensive stat multiplier.\n\nr0: entity pointer\nr1: stat index",
25394
+ None,
25395
+ )
25396
+
25397
+ PlayDefensiveStatMultiplierDownEffect = Symbol(
25398
+ [0x8F70],
25399
+ [0x22E51B0],
25400
+ None,
25401
+ "PlayDefensiveStatMultiplierDownEffect",
25402
+ "Displays the graphical effect on a monster that just lowered a defensive stat multiplier.\n\nr0: entity pointer\nr1: stat index",
25403
+ None,
25404
+ )
25405
+
25406
+ PlayHitChanceUpEffect = Symbol(
25407
+ [0x9018],
25408
+ [0x22E5258],
25409
+ None,
25410
+ "PlayHitChanceUpEffect",
25411
+ "Displays the graphical effect on a monster that just raised a hit chance stat.\n\nr0: entity pointer\nr1: stat index",
25412
+ None,
25413
+ )
25414
+
25415
+ PlayHitChanceDownEffect = Symbol(
25416
+ [0x90B8],
25417
+ [0x22E52F8],
25418
+ None,
25419
+ "PlayHitChanceDownEffect",
25420
+ "Displays the graphical effect on a monster that just lowered a hit chance stat.\n\nr0: entity pointer\nr1: stat index",
25421
+ None,
25422
+ )
25423
+
25424
+ PlaySeByIdIfShouldDisplayEntity = Symbol(
25425
+ [0x9460],
25426
+ [0x22E56A0],
25427
+ None,
25428
+ "PlaySeByIdIfShouldDisplayEntity",
25429
+ "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",
25430
+ None,
25431
+ )
25432
+
24139
25433
  ShouldDisplayEntityAdvanced = Symbol(
24140
25434
  [0x9C90],
24141
25435
  [0x22E5ED0],
@@ -24181,6 +25475,15 @@ class NaOverlay29Functions:
24181
25475
  None,
24182
25476
  )
24183
25477
 
25478
+ GetRandomTrapId = Symbol(
25479
+ [0xB84C],
25480
+ [0x22E7A8C],
25481
+ None,
25482
+ "GetRandomTrapId",
25483
+ "Gets the id of the trap to be used as the effect of a Random Trap.\n\nreturn: trap id",
25484
+ None,
25485
+ )
25486
+
24184
25487
  GetItemIdToSpawn = Symbol(
24185
25488
  [0xB884],
24186
25489
  [0x22E7AC4],
@@ -24343,6 +25646,15 @@ class NaOverlay29Functions:
24343
25646
  None,
24344
25647
  )
24345
25648
 
25649
+ IsPositionWithinTwoTiles = Symbol(
25650
+ [0xD11C],
25651
+ [0x22E935C],
25652
+ None,
25653
+ "IsPositionWithinTwoTiles",
25654
+ "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.",
25655
+ None,
25656
+ )
25657
+
24346
25658
  GetLeader = Symbol(
24347
25659
  [0xD340],
24348
25660
  [0x22E9580],
@@ -24550,6 +25862,15 @@ class NaOverlay29Functions:
24550
25862
  None,
24551
25863
  )
24552
25864
 
25865
+ PlaySeByIdIfNotSilence = Symbol(
25866
+ [0xEA8C],
25867
+ [0x22EACCC],
25868
+ None,
25869
+ "PlaySeByIdIfNotSilence",
25870
+ "Plays the specified sound effect if it is not the designated silence value (0x3F00).\n\nr0: Sound effect ID",
25871
+ None,
25872
+ )
25873
+
24553
25874
  MusicTableIdxToMusicId = Symbol(
24554
25875
  [0xEAC0],
24555
25876
  [0x22EAD00],
@@ -24577,6 +25898,15 @@ class NaOverlay29Functions:
24577
25898
  None,
24578
25899
  )
24579
25900
 
25901
+ ResetLeaderActionFields = Symbol(
25902
+ [0xF158],
25903
+ [0x22EB398],
25904
+ None,
25905
+ "ResetLeaderActionFields",
25906
+ "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",
25907
+ None,
25908
+ )
25909
+
24580
25910
  SetLeaderActionFields = Symbol(
24581
25911
  [0xF188],
24582
25912
  [0x22EB3C8],
@@ -24793,6 +26123,15 @@ class NaOverlay29Functions:
24793
26123
  None,
24794
26124
  )
24795
26125
 
26126
+ SpawnTraps = Symbol(
26127
+ [0x11648],
26128
+ [0x22ED888],
26129
+ None,
26130
+ "SpawnTraps",
26131
+ "Spawns a new dungeon floor's traps.\n\nNo params.",
26132
+ None,
26133
+ )
26134
+
24796
26135
  SpawnEnemyTrapAtPos = Symbol(
24797
26136
  [0x11730],
24798
26137
  [0x22ED970],
@@ -24811,6 +26150,15 @@ class NaOverlay29Functions:
24811
26150
  None,
24812
26151
  )
24813
26152
 
26153
+ CanLayTrap = Symbol(
26154
+ [0x119F0],
26155
+ [0x22EDC30],
26156
+ None,
26157
+ "CanLayTrap",
26158
+ "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.",
26159
+ None,
26160
+ )
26161
+
24814
26162
  TrySpawnTrap = Symbol(
24815
26163
  [0x11A7C],
24816
26164
  [0x22EDCBC],
@@ -24838,6 +26186,33 @@ class NaOverlay29Functions:
24838
26186
  None,
24839
26187
  )
24840
26188
 
26189
+ TryRevealAttackedTrap = Symbol(
26190
+ [0x11C9C],
26191
+ [0x22EDEDC],
26192
+ None,
26193
+ "TryRevealAttackedTrap",
26194
+ "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",
26195
+ None,
26196
+ )
26197
+
26198
+ SubstitutePlaceholderTrapTags2 = Symbol(
26199
+ [0x11D1C],
26200
+ [0x22EDF5C],
26201
+ None,
26202
+ "SubstitutePlaceholderTrapTags2",
26203
+ "Used in TryTriggerTrap. Has the same functionality as SubstitutePlaceholderTrapTags.\n\nr1: tag id\nr2: trap id",
26204
+ None,
26205
+ )
26206
+
26207
+ SubstitutePlaceholderTrapTags = Symbol(
26208
+ [0x11D3C],
26209
+ [0x22EDF7C],
26210
+ None,
26211
+ "SubstitutePlaceholderTrapTags",
26212
+ "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",
26213
+ None,
26214
+ )
26215
+
24841
26216
  TryTriggerTrap = Symbol(
24842
26217
  [0x11D60],
24843
26218
  [0x22EDFA0],
@@ -24964,6 +26339,15 @@ class NaOverlay29Functions:
24964
26339
  None,
24965
26340
  )
24966
26341
 
26342
+ SpawnMonstersAroundPos = Symbol(
26343
+ [0x13274],
26344
+ [0x22EF4B4],
26345
+ None,
26346
+ "SpawnMonstersAroundPos",
26347
+ "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",
26348
+ None,
26349
+ )
26350
+
24967
26351
  RevealTrapsNearby = Symbol(
24968
26352
  [0x13398],
24969
26353
  [0x22EF5D8],
@@ -25000,6 +26384,15 @@ class NaOverlay29Functions:
25000
26384
  None,
25001
26385
  )
25002
26386
 
26387
+ IsBehaviorLoneOutlaw = Symbol(
26388
+ [0x138A8],
26389
+ [0x22EFAE8],
26390
+ None,
26391
+ "IsBehaviorLoneOutlaw",
26392
+ "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",
26393
+ None,
26394
+ )
26395
+
25003
26396
  IsSecretBazaarNpcBehavior = Symbol(
25004
26397
  [0x138C4],
25005
26398
  [0x22EFB04],
@@ -25018,6 +26411,15 @@ class NaOverlay29Functions:
25018
26411
  None,
25019
26412
  )
25020
26413
 
26414
+ GetLeaderActionId = Symbol(
26415
+ [0x1495C],
26416
+ [0x22F0B9C],
26417
+ None,
26418
+ "GetLeaderActionId",
26419
+ "Gets the current action id of the leader monster's action data.\n\nreturn: action_id",
26420
+ None,
26421
+ )
26422
+
25021
26423
  GetEntityTouchscreenArea = Symbol(
25022
26424
  [0x1496C],
25023
26425
  [0x22F0BAC],
@@ -25072,6 +26474,15 @@ class NaOverlay29Functions:
25072
26474
  None,
25073
26475
  )
25074
26476
 
26477
+ HandleHeldItemSwaps = Symbol(
26478
+ [0x1838C],
26479
+ [0x22F45CC],
26480
+ None,
26481
+ "HandleHeldItemSwaps",
26482
+ "Handles giving/taking held items to/from a party member (and likely other things).\n\nr0: entity pointer",
26483
+ None,
26484
+ )
26485
+
25075
26486
  UseSingleUseItemWrapper = Symbol(
25076
26487
  [0x1908C],
25077
26488
  [0x22F52CC],
@@ -25270,12 +26681,12 @@ class NaOverlay29Functions:
25270
26681
  None,
25271
26682
  )
25272
26683
 
25273
- CreateMonsterSummaryFromMonster = Symbol(
26684
+ CreateMonsterSummaryFromEntity = Symbol(
25274
26685
  [0x1C78C],
25275
26686
  [0x22F89CC],
25276
26687
  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",
26688
+ "CreateMonsterSummaryFromEntity",
26689
+ "Creates a snapshot of the condition of a monster struct in a monster_summary struct.\n\nr0: [output] monster_summary\nr1: monster_entity",
25279
26690
  None,
25280
26691
  )
25281
26692
 
@@ -25604,6 +27015,33 @@ class NaOverlay29Functions:
25604
27015
  None,
25605
27016
  )
25606
27017
 
27018
+ IsHero = Symbol(
27019
+ [0x1F4A4],
27020
+ [0x22FB6E4],
27021
+ None,
27022
+ "IsHero",
27023
+ "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",
27024
+ None,
27025
+ )
27026
+
27027
+ IsSpecialStoryAllyOrClient = Symbol(
27028
+ [0x1F830],
27029
+ [0x22FBA70],
27030
+ None,
27031
+ "IsSpecialStoryAllyOrClient",
27032
+ "Same as IsSpecialStoryAlly, except taking an entity pointer and also checking if it is a client.\n\nr0: entity pointer\nreturn: bool",
27033
+ None,
27034
+ )
27035
+
27036
+ ResetTriggerFlags = Symbol(
27037
+ [0x1F874],
27038
+ [0x22FBAB4],
27039
+ None,
27040
+ "ResetTriggerFlags",
27041
+ "Resets a monster's contact_ability_trigger_bitflags and exclusive_item_trigger_bitflags fields to 0.\n\nr0: entity pointer",
27042
+ None,
27043
+ )
27044
+
25607
27045
  IsSpecialStoryAlly = Symbol(
25608
27046
  [0x1F890],
25609
27047
  [0x22FBAD0],
@@ -25622,6 +27060,33 @@ class NaOverlay29Functions:
25622
27060
  None,
25623
27061
  )
25624
27062
 
27063
+ IsMonsterLoneOutlaw = Symbol(
27064
+ [0x1FBA0],
27065
+ [0x22FBDE0],
27066
+ None,
27067
+ "IsMonsterLoneOutlaw",
27068
+ "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",
27069
+ None,
27070
+ )
27071
+
27072
+ IsSecretBazaarNpc = Symbol(
27073
+ [0x1FBB0],
27074
+ [0x22FBDF0],
27075
+ None,
27076
+ "IsSecretBazaarNpc",
27077
+ "Checks if an entity is a Secret Bazaar NPCs.\n\nr0: entity pointer\nreturn: bool",
27078
+ None,
27079
+ )
27080
+
27081
+ IsTeamMemberOnFirstTurnInFixedRoom = Symbol(
27082
+ [0x1FBC4],
27083
+ [0x22FBE04],
27084
+ None,
27085
+ "IsTeamMemberOnFirstTurnInFixedRoom",
27086
+ "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",
27087
+ None,
27088
+ )
27089
+
25625
27090
  InitOtherMonsterData = Symbol(
25626
27091
  [0x1FC18],
25627
27092
  [0x22FBE58],
@@ -25820,6 +27285,15 @@ class NaOverlay29Functions:
25820
27285
  None,
25821
27286
  )
25822
27287
 
27288
+ CanMoveThroughWalls = Symbol(
27289
+ [0x236C8],
27290
+ [0x22FF908],
27291
+ None,
27292
+ "CanMoveThroughWalls",
27293
+ "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.",
27294
+ None,
27295
+ )
27296
+
25823
27297
  CannotStandOnTile = Symbol(
25824
27298
  [0x23A5C],
25825
27299
  [0x22FFC9C],
@@ -25861,7 +27335,7 @@ class NaOverlay29Functions:
25861
27335
  [0x2300108],
25862
27336
  None,
25863
27337
  "GetMonsterDisplayNameType",
25864
- "Determines how the name of a monster should be displayed.\n\nr0: Entity pointer\nreturn: Display name type",
27338
+ "Determines how the name of a monster should be displayed.\n\nr0: Monster pointer\nreturn: Display name type",
25865
27339
  None,
25866
27340
  )
25867
27341
 
@@ -25883,6 +27357,15 @@ class NaOverlay29Functions:
25883
27357
  None,
25884
27358
  )
25885
27359
 
27360
+ SetPreprocessorArgsStringToName = Symbol(
27361
+ [0x241CC],
27362
+ [0x230040C],
27363
+ None,
27364
+ "SetPreprocessorArgsStringToName",
27365
+ "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.",
27366
+ None,
27367
+ )
27368
+
25886
27369
  IsMonsterDrowsy = Symbol(
25887
27370
  [0x24270],
25888
27371
  [0x23004B0],
@@ -25991,9 +27474,18 @@ class NaOverlay29Functions:
25991
27474
  None,
25992
27475
  )
25993
27476
 
27477
+ MonsterHasQuarterHp = Symbol(
27478
+ [0x2459C],
27479
+ [0x23007DC],
27480
+ None,
27481
+ "MonsterHasQuarterHp",
27482
+ "Checks if a monster has a quarter or less HP remaining.\n\nr0: entity pointer\nreturn: bool",
27483
+ None,
27484
+ )
27485
+
25994
27486
  CheckVariousStatuses2 = Symbol(
25995
- [0x245D8],
25996
- [0x2300818],
27487
+ [0x245D8, 0x2469C],
27488
+ [0x2300818, 0x23008DC],
25997
27489
  None,
25998
27490
  "CheckVariousStatuses2",
25999
27491
  "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 +27493,8 @@ class NaOverlay29Functions:
26001
27493
  )
26002
27494
 
26003
27495
  CheckVariousConditions = Symbol(
26004
- [0x24900],
26005
- [0x2300B40],
27496
+ [0x24900, 0x249B8],
27497
+ [0x2300B40, 0x2300BF8],
26006
27498
  None,
26007
27499
  "CheckVariousConditions",
26008
27500
  "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 +27502,8 @@ class NaOverlay29Functions:
26010
27502
  )
26011
27503
 
26012
27504
  CheckVariousStatuses = Symbol(
26013
- [0x24A70],
26014
- [0x2300CB0],
27505
+ [0x24A70, 0x24AC0],
27506
+ [0x2300CB0, 0x2300D00],
26015
27507
  None,
26016
27508
  "CheckVariousStatuses",
26017
27509
  "Returns 0 if none of these conditions holds for the given entity: asleep, frozen, petrified, biding.\n\nr0: Entity pointer\nreturn: bool",
@@ -26081,6 +27573,24 @@ class NaOverlay29Functions:
26081
27573
  None,
26082
27574
  )
26083
27575
 
27576
+ IsAtJunction = Symbol(
27577
+ [0x25258],
27578
+ [0x2301498],
27579
+ None,
27580
+ "IsAtJunction",
27581
+ "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.",
27582
+ None,
27583
+ )
27584
+
27585
+ ShouldAvoidFirstHit = Symbol(
27586
+ [0x25354],
27587
+ [0x2301594],
27588
+ None,
27589
+ "ShouldAvoidFirstHit",
27590
+ "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.",
27591
+ None,
27592
+ )
27593
+
26084
27594
  ShouldMonsterRunAway = Symbol(
26085
27595
  [0x25378],
26086
27596
  [0x23015B8],
@@ -26117,6 +27627,15 @@ class NaOverlay29Functions:
26117
27627
  None,
26118
27628
  )
26119
27629
 
27630
+ GetTreatmentBetweenMonstersIgnoreStatus = Symbol(
27631
+ [0x2566C],
27632
+ [0x23018AC],
27633
+ None,
27634
+ "GetTreatmentBetweenMonstersIgnoreStatus",
27635
+ "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",
27636
+ None,
27637
+ )
27638
+
26120
27639
  SafeguardIsActive = Symbol(
26121
27640
  [0x25700],
26122
27641
  [0x2301940],
@@ -26261,6 +27780,15 @@ class NaOverlay29Functions:
26261
27780
  None,
26262
27781
  )
26263
27782
 
27783
+ CanSeeTeammate = Symbol(
27784
+ [0x25FC0],
27785
+ [0x2302200],
27786
+ None,
27787
+ "CanSeeTeammate",
27788
+ "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.",
27789
+ None,
27790
+ )
27791
+
26264
27792
  GetMoveTypeForMonster = Symbol(
26265
27793
  [0x2603C],
26266
27794
  [0x230227C],
@@ -26351,6 +27879,15 @@ class NaOverlay29Functions:
26351
27879
  None,
26352
27880
  )
26353
27881
 
27882
+ DungeonTmLearnMove = Symbol(
27883
+ [0x27694],
27884
+ [0x23038D4],
27885
+ None,
27886
+ "DungeonTmLearnMove",
27887
+ "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",
27888
+ None,
27889
+ )
27890
+
26354
27891
  GetMonsterMoves = Symbol(
26355
27892
  [0x278D8],
26356
27893
  [0x2303B18],
@@ -26585,6 +28122,15 @@ class NaOverlay29Functions:
26585
28122
  None,
26586
28123
  )
26587
28124
 
28125
+ TryEndPetrifiedOrSleepStatus = Symbol(
28126
+ [0x2B99C],
28127
+ [0x2307BDC],
28128
+ None,
28129
+ "TryEndPetrifiedOrSleepStatus",
28130
+ "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.",
28131
+ None,
28132
+ )
28133
+
26588
28134
  EndFrozenStatus = Symbol(
26589
28135
  [0x2BA38],
26590
28136
  [0x2307C78],
@@ -26630,6 +28176,15 @@ class NaOverlay29Functions:
26630
28176
  None,
26631
28177
  )
26632
28178
 
28179
+ GetLeaderIfVisible = Symbol(
28180
+ [0x2C084],
28181
+ [0x23082C4],
28182
+ None,
28183
+ "GetLeaderIfVisible",
28184
+ "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.",
28185
+ None,
28186
+ )
28187
+
26633
28188
  RunMonsterAi = Symbol(
26634
28189
  [0x2C100],
26635
28190
  [0x2308340],
@@ -26720,6 +28275,15 @@ class NaOverlay29Functions:
26720
28275
  None,
26721
28276
  )
26722
28277
 
28278
+ WeightWeakTypePicker = Symbol(
28279
+ [0x2F594],
28280
+ [0x230B7D4],
28281
+ None,
28282
+ "WeightWeakTypePicker",
28283
+ "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.",
28284
+ None,
28285
+ )
28286
+
26723
28287
  CalcDamage = Symbol(
26724
28288
  [0x2F96C],
26725
28289
  [0x230BBAC],
@@ -26927,6 +28491,15 @@ class NaOverlay29Functions:
26927
28491
  None,
26928
28492
  )
26929
28493
 
28494
+ FindDirectionOfAdjacentMonsterWithItem = Symbol(
28495
+ [0x33690],
28496
+ [0x230F8D0],
28497
+ None,
28498
+ "FindDirectionOfAdjacentMonsterWithItem",
28499
+ "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.",
28500
+ None,
28501
+ )
28502
+
26930
28503
  TrySpawnEnemyItemDrop = Symbol(
26931
28504
  [0x33798],
26932
28505
  [0x230F9D8],
@@ -27022,7 +28595,7 @@ class NaOverlay29Functions:
27022
28595
  [0x231206C],
27023
28596
  None,
27024
28597
  "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",
28598
+ "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
28599
  None,
27027
28600
  )
27028
28601
 
@@ -27274,7 +28847,7 @@ class NaOverlay29Functions:
27274
28847
  [0x2314ABC],
27275
28848
  None,
27276
28849
  "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",
28850
+ "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
28851
  None,
27279
28852
  )
27280
28853
 
@@ -27418,7 +28991,7 @@ class NaOverlay29Functions:
27418
28991
  [0x2315B70],
27419
28992
  None,
27420
28993
  "TryInflictSureShotStatus",
27421
- "Inflicts the Sure Shot status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer",
28994
+ "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
28995
  None,
27423
28996
  )
27424
28997
 
@@ -27427,7 +29000,7 @@ class NaOverlay29Functions:
27427
29000
  [0x2315C00],
27428
29001
  None,
27429
29002
  "TryInflictWhifferStatus",
27430
- "Inflicts the Whiffer status condition on a target monster if possible.\n\nr0: user entity pointer\nr1: target entity pointer",
29003
+ "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
29004
  None,
27432
29005
  )
27433
29006
 
@@ -27454,7 +29027,7 @@ class NaOverlay29Functions:
27454
29027
  [0x2315E24],
27455
29028
  None,
27456
29029
  "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",
29030
+ "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
29031
  None,
27459
29032
  )
27460
29033
 
@@ -27481,7 +29054,7 @@ class NaOverlay29Functions:
27481
29054
  [0x23163A8],
27482
29055
  None,
27483
29056
  "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",
29057
+ "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
29058
  None,
27486
29059
  )
27487
29060
 
@@ -27589,7 +29162,7 @@ class NaOverlay29Functions:
27589
29162
  [0x23176CC],
27590
29163
  None,
27591
29164
  "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",
29165
+ "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
29166
  None,
27594
29167
  )
27595
29168
 
@@ -27827,6 +29400,15 @@ class NaOverlay29Functions:
27827
29400
  None,
27828
29401
  )
27829
29402
 
29403
+ SetReflectStatus = Symbol(
29404
+ [0x3CB58],
29405
+ [0x2318D98],
29406
+ None,
29407
+ "SetReflectStatus",
29408
+ "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",
29409
+ None,
29410
+ )
29411
+
27830
29412
  TryInflictSafeguardStatus = Symbol(
27831
29413
  [0x3CC30],
27832
29414
  [0x2318E70],
@@ -28309,7 +29891,7 @@ class NaOverlay29Functions:
28309
29891
  [0x231E8F0],
28310
29892
  None,
28311
29893
  "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",
29894
+ "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
29895
  None,
28314
29896
  )
28315
29897
 
@@ -28331,6 +29913,15 @@ class NaOverlay29Functions:
28331
29913
  None,
28332
29914
  )
28333
29915
 
29916
+ InitMoveWrapper = Symbol(
29917
+ [0x427C4],
29918
+ [0x231EA04],
29919
+ None,
29920
+ "InitMoveWrapper",
29921
+ "Wrapper for InitMove which takes a superfluous parameter.\n\nr0: unused\nr1: [output] pointer to move to initialize\nr2: move ID",
29922
+ None,
29923
+ )
29924
+
28334
29925
  MoveIsNotPhysical = Symbol(
28335
29926
  [0x427D8],
28336
29927
  [0x231EA18],
@@ -28349,6 +29940,24 @@ class NaOverlay29Functions:
28349
29940
  None,
28350
29941
  )
28351
29942
 
29943
+ MakeFloorOneRoom = Symbol(
29944
+ [0x42800],
29945
+ [0x231EA40],
29946
+ None,
29947
+ "MakeFloorOneRoom",
29948
+ "Removes all walls to make the floor one room.\n\nr0: user entity pointer",
29949
+ None,
29950
+ )
29951
+
29952
+ TryHurl = Symbol(
29953
+ [0x42BBC],
29954
+ [0x231EDFC],
29955
+ None,
29956
+ "TryHurl",
29957
+ "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",
29958
+ None,
29959
+ )
29960
+
28352
29961
  TryDrought = Symbol(
28353
29962
  [0x43354],
28354
29963
  [0x231F594],
@@ -28358,6 +29967,15 @@ class NaOverlay29Functions:
28358
29967
  None,
28359
29968
  )
28360
29969
 
29970
+ TryTrawl = Symbol(
29971
+ [0x434A4],
29972
+ [0x231F6E4],
29973
+ None,
29974
+ "TryTrawl",
29975
+ "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",
29976
+ None,
29977
+ )
29978
+
28361
29979
  TryPounce = Symbol(
28362
29980
  [0x439E0],
28363
29981
  [0x231FC20],
@@ -28669,7 +30287,25 @@ class NaOverlay29Functions:
28669
30287
  [0x2333074],
28670
30288
  None,
28671
30289
  "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.",
30290
+ "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.",
30291
+ None,
30292
+ )
30293
+
30294
+ StatusCheckerCheckOnTarget = Symbol(
30295
+ [0x57D90],
30296
+ [0x2333FD0],
30297
+ None,
30298
+ "StatusCheckerCheckOnTarget",
30299
+ "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.",
30300
+ None,
30301
+ )
30302
+
30303
+ HasLastUsedMove = Symbol(
30304
+ [0x58A6C],
30305
+ [0x2334CAC],
30306
+ None,
30307
+ "HasLastUsedMove",
30308
+ "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
30309
  None,
28674
30310
  )
28675
30311
 
@@ -28925,6 +30561,15 @@ class NaOverlay29Functions:
28925
30561
  None,
28926
30562
  )
28927
30563
 
30564
+ IsTileGround = Symbol(
30565
+ [0x5BBEC],
30566
+ [0x2337E2C],
30567
+ None,
30568
+ "IsTileGround",
30569
+ "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.",
30570
+ None,
30571
+ )
30572
+
28928
30573
  IsWaterTileset = Symbol(
28929
30574
  [0x5BC54],
28930
30575
  [0x2337E94],
@@ -28952,6 +30597,24 @@ class NaOverlay29Functions:
28952
30597
  None,
28953
30598
  )
28954
30599
 
30600
+ FindAdjacentEnemy = Symbol(
30601
+ [0x5C068],
30602
+ [0x23382A8],
30603
+ None,
30604
+ "FindAdjacentEnemy",
30605
+ "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.",
30606
+ None,
30607
+ )
30608
+
30609
+ IsAdjacentToEnemyIgnoreTreatment = Symbol(
30610
+ [0x5C110],
30611
+ [0x2338350],
30612
+ None,
30613
+ "IsAdjacentToEnemyIgnoreTreatment",
30614
+ "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",
30615
+ None,
30616
+ )
30617
+
28955
30618
  ResetGravity = Symbol(
28956
30619
  [0x5C12C],
28957
30620
  [0x233836C],
@@ -28979,6 +30642,15 @@ class NaOverlay29Functions:
28979
30642
  None,
28980
30643
  )
28981
30644
 
30645
+ RevealAttackedTile = Symbol(
30646
+ [0x5C1F0],
30647
+ [0x2338430],
30648
+ None,
30649
+ "RevealAttackedTile",
30650
+ "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",
30651
+ None,
30652
+ )
30653
+
28982
30654
  ShouldBoostKecleonShopSpawnChance = Symbol(
28983
30655
  [0x5C280],
28984
30656
  [0x23384C0],
@@ -29902,7 +31574,7 @@ class NaOverlay29Functions:
29902
31574
  [0x2344148],
29903
31575
  None,
29904
31576
  "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",
31577
+ "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
31578
  None,
29907
31579
  )
29908
31580
 
@@ -29969,6 +31641,24 @@ class NaOverlay29Functions:
29969
31641
  None,
29970
31642
  )
29971
31643
 
31644
+ PrepareItemForPrinting = Symbol(
31645
+ [0x68904, 0x68930],
31646
+ [0x2344B44, 0x2344B70],
31647
+ None,
31648
+ "PrepareItemForPrinting",
31649
+ "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",
31650
+ None,
31651
+ )
31652
+
31653
+ PrepareItemForPrinting2 = Symbol(
31654
+ [0x68968],
31655
+ [0x2344BA8],
31656
+ None,
31657
+ "PrepareItemForPrinting2",
31658
+ "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",
31659
+ None,
31660
+ )
31661
+
29972
31662
  GenerateStandardItem = Symbol(
29973
31663
  [0x68990],
29974
31664
  [0x2344BD0],
@@ -30095,6 +31785,15 @@ class NaOverlay29Functions:
30095
31785
  None,
30096
31786
  )
30097
31787
 
31788
+ HandleCurvedProjectileThrow = Symbol(
31789
+ [0x6B988],
31790
+ [0x2347BC8],
31791
+ None,
31792
+ "HandleCurvedProjectileThrow",
31793
+ "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",
31794
+ None,
31795
+ )
31796
+
30098
31797
  DoesProjectileHitTarget = Symbol(
30099
31798
  [0x6BDE0],
30100
31799
  [0x2348020],
@@ -30131,6 +31830,15 @@ class NaOverlay29Functions:
30131
31830
  None,
30132
31831
  )
30133
31832
 
31833
+ IsItemUnkMissionItem2 = Symbol(
31834
+ [0x6CAC0],
31835
+ [0x2348D00],
31836
+ None,
31837
+ "IsItemUnkMissionItem2",
31838
+ "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.",
31839
+ None,
31840
+ )
31841
+
30134
31842
  CheckActiveChallengeRequest = Symbol(
30135
31843
  [0x6CF0C],
30136
31844
  [0x234914C],
@@ -30383,12 +32091,129 @@ class NaOverlay29Functions:
30383
32091
  None,
30384
32092
  )
30385
32093
 
30386
- LogMessageByIdWithPopupCheckParticipants = Symbol(
32094
+ InitAlertBoxInfo = Symbol(
32095
+ [0x6ED64],
32096
+ [0x234AFA4],
32097
+ None,
32098
+ "InitAlertBoxInfo",
32099
+ "Initializes the heap-allocated alert_box_info struct in MESSAGE_LOG_INFO.\n\nNo params.",
32100
+ None,
32101
+ )
32102
+
32103
+ FreeAlertBoxInfo = Symbol(
32104
+ [0x6ED90],
32105
+ [0x234AFD0],
32106
+ None,
32107
+ "FreeAlertBoxInfo",
32108
+ "Frees the heap-allocated alert_box_info struct in MESSAGE_LOG_INFO.\n\nNo params.",
32109
+ None,
32110
+ )
32111
+
32112
+ SetMessageLogGroupStartFlag = Symbol(
32113
+ [0x6EDE4],
32114
+ [0x234B024],
32115
+ None,
32116
+ "SetMessageLogGroupStartFlag",
32117
+ "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",
32118
+ None,
32119
+ )
32120
+
32121
+ GetMessageLogPreprocessorArgs = Symbol(
32122
+ [0x6EDF4],
32123
+ [0x234B034],
32124
+ None,
32125
+ "GetMessageLogPreprocessorArgs",
32126
+ "Gets a pointer to the global preprocessor_args struct used for the message log.\n\nreturn: preprocessor_args pointer",
32127
+ None,
32128
+ )
32129
+
32130
+ InitMessageLogPreprocessorArgs = Symbol(
32131
+ [0x6EE0C],
32132
+ [0x234B04C],
32133
+ None,
32134
+ "InitMessageLogPreprocessorArgs",
32135
+ "Initializes the global preprocessor_args struct used for the message log.\n\nNo params.",
32136
+ None,
32137
+ )
32138
+
32139
+ SetMessageLogPreprocessorArgsFlagVal = Symbol(
32140
+ [0x6EE2C],
32141
+ [0x234B06C],
32142
+ None,
32143
+ "SetMessageLogPreprocessorArgsFlagVal",
32144
+ "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",
32145
+ None,
32146
+ )
32147
+
32148
+ SetMessageLogPreprocessorArgsIdVal = Symbol(
32149
+ [0x6EE44],
32150
+ [0x234B084],
32151
+ None,
32152
+ "SetMessageLogPreprocessorArgsIdVal",
32153
+ "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",
32154
+ None,
32155
+ )
32156
+
32157
+ SetMessageLogPreprocessorArgsNumberVal = Symbol(
32158
+ [0x6EE5C],
32159
+ [0x234B09C],
32160
+ None,
32161
+ "SetMessageLogPreprocessorArgsNumberVal",
32162
+ "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",
32163
+ None,
32164
+ )
32165
+
32166
+ SetMessageLogPreprocessorArgsString = Symbol(
32167
+ [0x6EE74],
32168
+ [0x234B0B4],
32169
+ None,
32170
+ "SetMessageLogPreprocessorArgsString",
32171
+ "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",
32172
+ None,
32173
+ )
32174
+
32175
+ SetMessageLogPreprocessorArgsStringToName = Symbol(
32176
+ [0x6EE8C],
32177
+ [0x234B0CC],
32178
+ None,
32179
+ "SetMessageLogPreprocessorArgsStringToName",
32180
+ "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",
32181
+ None,
32182
+ )
32183
+
32184
+ SetMessageLogPreprocessorArgsSpeakerId = Symbol(
32185
+ [0x6EEC4],
32186
+ [0x234B104],
32187
+ None,
32188
+ "SetMessageLogPreprocessorArgsSpeakerId",
32189
+ "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",
32190
+ None,
32191
+ )
32192
+
32193
+ SetMessageLogPreprocessorArgsSpeakerId0x30000 = Symbol(
32194
+ [0x6EED8],
32195
+ [0x234B118],
32196
+ None,
32197
+ "SetMessageLogPreprocessorArgsSpeakerId0x30000",
32198
+ "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",
32199
+ None,
32200
+ )
32201
+
32202
+ LogMessageByIdWithPopupAndAbility = Symbol(
30387
32203
  [0x6F010],
30388
32204
  [0x234B250],
30389
32205
  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?",
32206
+ "LogMessageByIdWithPopupAndAbility",
32207
+ "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)",
32208
+ None,
32209
+ )
32210
+
32211
+ WaitUntilAlertBoxTextIsLoadedWrapper = Symbol(
32212
+ [0x6F054],
32213
+ [0x234B294],
32214
+ None,
32215
+ "WaitUntilAlertBoxTextIsLoadedWrapper",
32216
+ "Calls WaitUntilAlertBoxTextIsLoaded with r0 = 0x50.\n\nNo params.",
30392
32217
  None,
30393
32218
  )
30394
32219
 
@@ -30500,6 +32325,24 @@ class NaOverlay29Functions:
30500
32325
  None,
30501
32326
  )
30502
32327
 
32328
+ AlertBoxIsScrolling = Symbol(
32329
+ [0x6F5AC],
32330
+ [0x234B7EC],
32331
+ None,
32332
+ "AlertBoxIsScrolling",
32333
+ "Returns true if the alert box is currently scrolling (i.e. a message is being loaded).\n\nreturn: bool",
32334
+ None,
32335
+ )
32336
+
32337
+ WaitUntilAlertBoxTextIsLoaded = Symbol(
32338
+ [0x6F7D8],
32339
+ [0x234BA18],
32340
+ None,
32341
+ "WaitUntilAlertBoxTextIsLoaded",
32342
+ "Calls AdvanceFrame in a loop until the dungeon alert box has finished scrolling.\n\nr0: value to pass to AdvanceFrame (unused by the function)",
32343
+ None,
32344
+ )
32345
+
30503
32346
  InitPortraitDungeon = Symbol(
30504
32347
  [0x6F880],
30505
32348
  [0x234BAC0],
@@ -30653,6 +32496,15 @@ class NaOverlay29Functions:
30653
32496
  None,
30654
32497
  )
30655
32498
 
32499
+ StairsMenuAfterStep = Symbol(
32500
+ [0x726B8],
32501
+ [0x234E8F8],
32502
+ None,
32503
+ "StairsMenuAfterStep",
32504
+ "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",
32505
+ None,
32506
+ )
32507
+
30656
32508
  DungeonModeSetupAndShowNameKeyboard = Symbol(
30657
32509
  [0x72DC8],
30658
32510
  [0x234F008],
@@ -30680,10 +32532,24 @@ class NaOverlay29Functions:
30680
32532
  None,
30681
32533
  )
30682
32534
 
32535
+ CreateMonsterSummaryFromMonster = _Deprecated(
32536
+ "CreateMonsterSummaryFromMonster", CreateMonsterSummaryFromEntity
32537
+ )
32538
+
30683
32539
  ShouldMonsterRunAwayVariation = _Deprecated(
30684
32540
  "ShouldMonsterRunAwayVariation", ShouldMonsterRunAwayAndShowEffect
30685
32541
  )
30686
32542
 
32543
+ GetFlashFireStatus = _Deprecated("GetFlashFireStatus", FlashFireShouldActivate)
32544
+
32545
+ SetPreprocessorArgsIdVal = _Deprecated(
32546
+ "SetPreprocessorArgsIdVal", SetMessageLogPreprocessorArgsIdVal
32547
+ )
32548
+
32549
+ LogMessageByIdWithPopupCheckParticipants = _Deprecated(
32550
+ "LogMessageByIdWithPopupCheckParticipants", LogMessageByIdWithPopupAndAbility
32551
+ )
32552
+
30687
32553
 
30688
32554
  class NaOverlay29Data:
30689
32555
 
@@ -31316,6 +33182,15 @@ class NaOverlay29Data:
31316
33182
  "int16_t[8][2]",
31317
33183
  )
31318
33184
 
33185
+ FACING_DIRECTION_INCREMENTS = Symbol(
33186
+ [0x7553C],
33187
+ [0x235177C],
33188
+ 0x20,
33189
+ "FACING_DIRECTION_INCREMENTS",
33190
+ "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.",
33191
+ "int[8]",
33192
+ )
33193
+
31319
33194
  DISPLACEMENTS_WITHIN_2_LARGEST_FIRST = Symbol(
31320
33195
  [0x7559C],
31321
33196
  [0x23517DC],
@@ -31469,6 +33344,15 @@ class NaOverlay29Data:
31469
33344
  "struct fx64_16",
31470
33345
  )
31471
33346
 
33347
+ WEAK_TYPE_PICKER_MATCHUP_MULTIPLIERS = Symbol(
33348
+ [0x76644],
33349
+ [0x2352884],
33350
+ 0x10,
33351
+ "WEAK_TYPE_PICKER_MATCHUP_MULTIPLIERS",
33352
+ "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.",
33353
+ "int[4]",
33354
+ )
33355
+
31472
33356
  TYPE_DAMAGE_NEGATING_EXCLUSIVE_ITEM_EFFECTS = Symbol(
31473
33357
  [0x76664],
31474
33358
  [0x23528A4],
@@ -31712,6 +33596,15 @@ class NaOverlay29Data:
31712
33596
  "void*",
31713
33597
  )
31714
33598
 
33599
+ MESSAGE_LOG_INFO = Symbol(
33600
+ [0x7758C],
33601
+ [0x23537CC],
33602
+ None,
33603
+ "MESSAGE_LOG_INFO",
33604
+ "[Runtime] Struct containing information and state for logged messages.",
33605
+ "struct message_log_info",
33606
+ )
33607
+
31715
33608
  DUNGEON_FADES_PTR = Symbol(
31716
33609
  [0x775A0],
31717
33610
  [0x23537E0],
@@ -31820,12 +33713,12 @@ class NaOverlay30Section:
31820
33713
 
31821
33714
  class NaOverlay31Functions:
31822
33715
 
31823
- EntryOverlay31 = Symbol(
33716
+ InitDungeonMenu = Symbol(
31824
33717
  [0x0],
31825
33718
  [0x2382820],
31826
33719
  None,
31827
- "EntryOverlay31",
31828
- "Note: unverified, ported from Irdkwia's notes\n\nNo params.",
33720
+ "InitDungeonMenu",
33721
+ "Initializes the main dungeon menu and allocates a struct on the heap with information for HandleDungeonMenu.\n\nNo params.",
31829
33722
  None,
31830
33723
  )
31831
33724
 
@@ -31847,12 +33740,39 @@ class NaOverlay31Functions:
31847
33740
  None,
31848
33741
  )
31849
33742
 
31850
- CreateStairsMenuState = Symbol(
33743
+ DungeonMenuLoop = Symbol(
33744
+ [0x334],
33745
+ [0x2382B54],
33746
+ None,
33747
+ "DungeonMenuLoop",
33748
+ "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",
33749
+ None,
33750
+ )
33751
+
33752
+ FreeDungeonMenu = Symbol(
33753
+ [0x58C],
33754
+ [0x2382DAC],
33755
+ None,
33756
+ "FreeDungeonMenu",
33757
+ "Closes the main dungeon menu and frees the heap-allocated struct initialized in InitDungeonMenu.\n\nNo params.",
33758
+ None,
33759
+ )
33760
+
33761
+ StairsMenu = Symbol(
33762
+ [0x5F8],
33763
+ [0x2382E18],
33764
+ None,
33765
+ "StairsMenu",
33766
+ "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",
33767
+ None,
33768
+ )
33769
+
33770
+ InitStairsMenu = Symbol(
31851
33771
  [0x6B4],
31852
33772
  [0x2382ED4],
31853
33773
  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)",
33774
+ "InitStairsMenu",
33775
+ "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
33776
  None,
31857
33777
  )
31858
33778
 
@@ -31865,12 +33785,48 @@ class NaOverlay31Functions:
31865
33785
  None,
31866
33786
  )
31867
33787
 
31868
- HandleStairsMenu = Symbol(
33788
+ StairsMenuLoop = Symbol(
31869
33789
  [0x79C],
31870
33790
  [0x2382FBC],
31871
33791
  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",
33792
+ "StairsMenuLoop",
33793
+ "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)",
33794
+ None,
33795
+ )
33796
+
33797
+ CloseMainStairsMenu = Symbol(
33798
+ [0xA6C],
33799
+ [0x238328C],
33800
+ None,
33801
+ "CloseMainStairsMenu",
33802
+ "Closes the main stairs menu. Used both when closing it entirely as well as when switching to the info menu.\n\nNo params.",
33803
+ None,
33804
+ )
33805
+
33806
+ FreeStairsMenu = Symbol(
33807
+ [0xAD0],
33808
+ [0x23832F0],
33809
+ None,
33810
+ "FreeStairsMenu",
33811
+ "Closes the main stairs menu and frees the heap-allocated stairs_menu struct pointed to by STAIRS_MENU_PTR.\n\nNo params.",
33812
+ None,
33813
+ )
33814
+
33815
+ EntityIsValidOverlay31 = Symbol(
33816
+ [0xE38],
33817
+ [0x2383658],
33818
+ None,
33819
+ "EntityIsValidOverlay31",
33820
+ "See overlay29.yml::EntityIsValid",
33821
+ None,
33822
+ )
33823
+
33824
+ ItemsMenu = Symbol(
33825
+ [0x10C4],
33826
+ [0x23838E4],
33827
+ None,
33828
+ "ItemsMenu",
33829
+ "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
33830
  None,
31875
33831
  )
31876
33832
 
@@ -31937,6 +33893,15 @@ class NaOverlay31Functions:
31937
33893
  None,
31938
33894
  )
31939
33895
 
33896
+ DrawDungeonHintContents = Symbol(
33897
+ [0x6988],
33898
+ [0x23891A8],
33899
+ None,
33900
+ "DrawDungeonHintContents",
33901
+ "Draws the contents of the current dungeon hint that is to be displayed in the Dungeon Hints menu.\n\nr0: window id",
33902
+ None,
33903
+ )
33904
+
31940
33905
  HelpMenuLoop = Symbol(
31941
33906
  [0x69DC],
31942
33907
  [0x23891FC],
@@ -31946,6 +33911,12 @@ class NaOverlay31Functions:
31946
33911
  None,
31947
33912
  )
31948
33913
 
33914
+ EntryOverlay31 = _Deprecated("EntryOverlay31", InitDungeonMenu)
33915
+
33916
+ CreateStairsMenuState = _Deprecated("CreateStairsMenuState", InitStairsMenu)
33917
+
33918
+ HandleStairsMenu = _Deprecated("HandleStairsMenu", StairsMenuLoop)
33919
+
31949
33920
 
31950
33921
  class NaOverlay31Data:
31951
33922
 
@@ -32043,39 +34014,39 @@ class NaOverlay31Data:
32043
34014
  "struct window_params",
32044
34015
  )
32045
34016
 
32046
- DUNGEON_SUBMENU_ITEMS_1 = Symbol(
34017
+ STAIRS_MENU_ITEMS_NORMAL = Symbol(
32047
34018
  [0x7650],
32048
34019
  [0x2389E70],
32049
34020
  0x20,
32050
- "DUNGEON_SUBMENU_ITEMS_1",
32051
- "",
34021
+ "STAIRS_MENU_ITEMS_NORMAL",
34022
+ "List of 4 simple_menu_id_items for the normal stairs menu.",
32052
34023
  "struct simple_menu_id_item[4]",
32053
34024
  )
32054
34025
 
32055
- DUNGEON_SUBMENU_ITEMS_2 = Symbol(
34026
+ STAIRS_MENU_ITEMS_WARP_ZONE = Symbol(
32056
34027
  [0x7670],
32057
34028
  [0x2389E90],
32058
34029
  0x20,
32059
- "DUNGEON_SUBMENU_ITEMS_2",
32060
- "",
34030
+ "STAIRS_MENU_ITEMS_WARP_ZONE",
34031
+ "List of 4 simple_menu_id_items for the Warp Zone stairs menu.",
32061
34032
  "struct simple_menu_id_item[4]",
32062
34033
  )
32063
34034
 
32064
- DUNGEON_SUBMENU_ITEMS_3 = Symbol(
34035
+ STAIRS_MENU_ITEMS_RESCUE_POINT = Symbol(
32065
34036
  [0x7690],
32066
34037
  [0x2389EB0],
32067
34038
  0x20,
32068
- "DUNGEON_SUBMENU_ITEMS_3",
32069
- "",
34039
+ "STAIRS_MENU_ITEMS_RESCUE_POINT",
34040
+ "List of 4 simple_menu_id_items for the Rescue Point stairs menu.",
32070
34041
  "struct simple_menu_id_item[4]",
32071
34042
  )
32072
34043
 
32073
- DUNGEON_SUBMENU_ITEMS_4 = Symbol(
34044
+ STAIRS_MENU_ITEMS_HIDDEN_STAIRS = Symbol(
32074
34045
  [0x76B0],
32075
34046
  [0x2389ED0],
32076
34047
  0x20,
32077
- "DUNGEON_SUBMENU_ITEMS_4",
32078
- "",
34048
+ "STAIRS_MENU_ITEMS_HIDDEN_STAIRS",
34049
+ "List of 4 simple_menu_id_items for the hidden stairs menu.",
32079
34050
  "struct simple_menu_id_item[4]",
32080
34051
  )
32081
34052
 
@@ -32484,6 +34455,22 @@ class NaOverlay31Data:
32484
34455
  "",
32485
34456
  )
32486
34457
 
34458
+ DUNGEON_SUBMENU_ITEMS_1 = _Deprecated(
34459
+ "DUNGEON_SUBMENU_ITEMS_1", STAIRS_MENU_ITEMS_NORMAL
34460
+ )
34461
+
34462
+ DUNGEON_SUBMENU_ITEMS_2 = _Deprecated(
34463
+ "DUNGEON_SUBMENU_ITEMS_2", STAIRS_MENU_ITEMS_WARP_ZONE
34464
+ )
34465
+
34466
+ DUNGEON_SUBMENU_ITEMS_3 = _Deprecated(
34467
+ "DUNGEON_SUBMENU_ITEMS_3", STAIRS_MENU_ITEMS_RESCUE_POINT
34468
+ )
34469
+
34470
+ DUNGEON_SUBMENU_ITEMS_4 = _Deprecated(
34471
+ "DUNGEON_SUBMENU_ITEMS_4", STAIRS_MENU_ITEMS_HIDDEN_STAIRS
34472
+ )
34473
+
32487
34474
 
32488
34475
  class NaOverlay31Section:
32489
34476
  name = "overlay31"
@@ -33605,6 +35592,15 @@ class NaRamData:
33605
35592
  "int",
33606
35593
  )
33607
35594
 
35595
+ DEFAULT_TILE_COPY = Symbol(
35596
+ [0x37CAB8],
35597
+ [0x237CAB8],
35598
+ 0x14,
35599
+ "DEFAULT_TILE_COPY",
35600
+ "A copy of DEFAULT_TILE. Used to hold the default tile returned from GetTileSafe.",
35601
+ "struct tile",
35602
+ )
35603
+
33608
35604
  FLOOR_GENERATION_STATUS = Symbol(
33609
35605
  [0x37CFBC],
33610
35606
  [0x237CFBC],