pmdsky-debug-py 10.0.25__py3-none-any.whl → 10.0.27__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.
@@ -1739,7 +1739,7 @@ class JpItcmArm9Functions:
1739
1739
  None,
1740
1740
  None,
1741
1741
  "TestItemAiFlag",
1742
- "Used to check the AI flags for an item. Tests bit 7 if r1 is 0, bit 6 if r1 is 1, bit\n5 otherwise.\n\nr0: item ID\nr1: bit_id\nreturn: bool",
1742
+ "Returns a boolean indicating whether the item is consumable, throwable at an ally, or throwable at an enemy, depending on item_flag.\nThe table used for this is inaccessible in the code, as it is loaded from a file in the ROM at runtime.\nBit 7 in the table corresponds to ITEM_FLAG_CONSUMABLE, bit 6 to ITEM_FLAG_THROWABLE_AT_ALLY, and bit 5 to ITEM_FLAG_THROWABLE_AT_ENEMY.\n\nr0: item_id enum\nr1: item_flag enum. Function will test a different allowed AI action depending on the value.\nreturn: bool",
1743
1743
  None,
1744
1744
  )
1745
1745
 
@@ -23613,6 +23613,15 @@ class JpItcmOverlay29Functions:
23613
23613
  None,
23614
23614
  )
23615
23615
 
23616
+ SetDecoyAiTracker = Symbol(
23617
+ None,
23618
+ None,
23619
+ None,
23620
+ "SetDecoyAiTracker",
23621
+ "If there is a decoy on the floor that the entity can see, sets the entity's decoy_ai_tracker to 1 or 2,\ndepending on whether the attacker who caused the decoy status is on the team or not, respectively.\n\nr0: Entity pointer",
23622
+ None,
23623
+ )
23624
+
23616
23625
  CheckSpawnThreshold = Symbol(
23617
23626
  None,
23618
23627
  None,
@@ -24027,6 +24036,33 @@ class JpItcmOverlay29Functions:
24027
24036
  None,
24028
24037
  )
24029
24038
 
24039
+ CheckVariousStatuses2 = Symbol(
24040
+ None,
24041
+ None,
24042
+ None,
24043
+ "CheckVariousStatuses2",
24044
+ "Returns 0 if none of these conditions holds for the given entity:\nblinded (checked only if blind_check == 1),\nasleep, paused, infatuated, wrapping, wrapped, biding, petrified, or terrified.\n\nr0: Entity pointer\nr1: If true, return 1 if entity is blinded\nreturn: bool",
24045
+ None,
24046
+ )
24047
+
24048
+ CheckVariousConditions = Symbol(
24049
+ None,
24050
+ None,
24051
+ None,
24052
+ "CheckVariousConditions",
24053
+ "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",
24054
+ None,
24055
+ )
24056
+
24057
+ CheckVariousStatuses = Symbol(
24058
+ None,
24059
+ None,
24060
+ None,
24061
+ "CheckVariousStatuses",
24062
+ "Returns 0 if none of these conditions holds for the given entity: asleep, frozen, petrified, biding.\n\nr0: Entity pointer\nreturn: bool",
24063
+ None,
24064
+ )
24065
+
24030
24066
  CanMonsterMoveInDirection = Symbol(
24031
24067
  None,
24032
24068
  None,
@@ -24252,6 +24288,15 @@ class JpItcmOverlay29Functions:
24252
24288
  None,
24253
24289
  )
24254
24290
 
24291
+ MonsterCanThrowItems = Symbol(
24292
+ None,
24293
+ None,
24294
+ None,
24295
+ "MonsterCanThrowItems",
24296
+ "Returns a boolean indicating whether or not the given monster can throw items based on its monster id.\n\nr0: Monster pointer\nreturn: bool",
24297
+ None,
24298
+ )
24299
+
24255
24300
  UpdateStateFlags = Symbol(
24256
24301
  None,
24257
24302
  None,
@@ -24783,6 +24828,33 @@ class JpItcmOverlay29Functions:
24783
24828
  None,
24784
24829
  )
24785
24830
 
24831
+ AiDecideUseItem = Symbol(
24832
+ None,
24833
+ None,
24834
+ None,
24835
+ "AiDecideUseItem",
24836
+ "Decides whether or not an AI should use its held item and updates its action_data fields accordingly.\n\nr0: Entity pointer",
24837
+ None,
24838
+ )
24839
+
24840
+ GetPossibleAiThrownItemDirections = Symbol(
24841
+ None,
24842
+ None,
24843
+ None,
24844
+ "GetPossibleAiThrownItemDirections",
24845
+ "If the entity can throw an item at a target in a certain direction,\nadds that direction to AI_THROWN_ITEM_DIRECTIONS and the probability of throwing it to AI_THROWN_ITEM_PROBABILITIES (if it is not already present).\nThe size of the arrays will be stored in AI_THROWN_ITEM_ACTION_CHOICE_COUNT.\nThe caller function will select the direction to throw the item by iterating through the array(s), rolling the probability, and then throwing in that direction if the roll succeeds.\nNothing will be thrown if all rolls fail.\n\nr0: Entity pointer\nr1: Integer in {1, 2}. If 1, target allies; if 2, target enemies.\nr2: Item struct pointer\nr3: If false, will call GetAiUseItemProbability to get the probability of throwing in a certain direction.\nIf true, the added probability will always be 100.",
24846
+ None,
24847
+ )
24848
+
24849
+ GetPossibleAiArcItemTargets = Symbol(
24850
+ None,
24851
+ None,
24852
+ None,
24853
+ "GetPossibleAiArcItemTargets",
24854
+ "Gets the positions of all targets that an AI can hit with an item thrown in an arc, such as a Gravelerock.\nThe number of positions in the array will be stored in AI_THROWN_ITEM_ACTION_CHOICE_COUNT.\n\nr0: Entity pointer\nr1: Item struct pointer\nr2: [output] Array of size 20 for storing position structs\nr3: If false, will roll GetAiUseItemProbability every time a position is checked and not add it if it rolls false.",
24855
+ None,
24856
+ )
24857
+
24786
24858
  TryNonLeaderItemPickUp = Symbol(
24787
24859
  None,
24788
24860
  None,
@@ -24792,6 +24864,15 @@ class JpItcmOverlay29Functions:
24792
24864
  None,
24793
24865
  )
24794
24866
 
24867
+ GetExclusiveItemWithEffectFromBag = Symbol(
24868
+ None,
24869
+ None,
24870
+ None,
24871
+ "GetExclusiveItemWithEffectFromBag",
24872
+ "If an exclusive item with a certain effect is present in the bag and works for the entity, returns true and copies the item struct to the address at item. Otherwise, returns false.\n\nr0: Entity pointer\nr1: exclusive_item_effect_id enum\nr2: [output] Item pointer\nreturn: bool",
24873
+ None,
24874
+ )
24875
+
24795
24876
  AuraBowIsActive = Symbol(
24796
24877
  None,
24797
24878
  None,
@@ -26349,6 +26430,15 @@ class JpItcmOverlay29Functions:
26349
26430
  None,
26350
26431
  )
26351
26432
 
26433
+ IsChargingAnyTwoTurnMove = Symbol(
26434
+ None,
26435
+ None,
26436
+ None,
26437
+ "IsChargingAnyTwoTurnMove",
26438
+ "Returns a boolean indicating whether or not the given entity is charging any two-turn move.\n\nr0: Entity pointer\nr1: Unused boolean which was supposed to make function return true if the entity is under the effect of Charge (the Electric-type move).\n However, the conditional which uses this boolean will never be activated, as the loop will always terminate before getting to it.\nreturn: bool",
26439
+ None,
26440
+ )
26441
+
26352
26442
  HasMaxGinsengBoost99 = Symbol(
26353
26443
  None,
26354
26444
  None,
@@ -26520,6 +26610,15 @@ class JpItcmOverlay29Functions:
26520
26610
  None,
26521
26611
  )
26522
26612
 
26613
+ CanHitWithRegularAttack = Symbol(
26614
+ None,
26615
+ None,
26616
+ None,
26617
+ "CanHitWithRegularAttack",
26618
+ "Returns true if the defender is adjacent to the attacker and can hit them with a regular attack.\nNotably, this check is what prevents ranged moves, moves that cut corners, etc. from being reflected by Magic Coat and Mirror Move.\n\nr0: Entity pointer (attacker)\nr1: Entity pointer (defender)\nreturn: bool",
26619
+ None,
26620
+ )
26621
+
26523
26622
  StatusCheckerCheck = Symbol(
26524
26623
  None,
26525
26624
  None,
@@ -29281,6 +29380,15 @@ class JpItcmOverlay29Data:
29281
29380
  "struct exclusive_item_effect_id_8[8]",
29282
29381
  )
29283
29382
 
29383
+ AI_THROWN_ITEM_ACTION_CHOICE_COUNT = Symbol(
29384
+ None,
29385
+ None,
29386
+ None,
29387
+ "AI_THROWN_ITEM_ACTION_CHOICE_COUNT",
29388
+ "[Runtime] Used to store the number of positions output by GetPossibleAiArcItemTargets and the number of directions/probabilities output by GetPossibleAiThrownItemDirections.",
29389
+ "uint32_t",
29390
+ )
29391
+
29284
29392
  EXCL_ITEM_EFFECTS_EVASION_BOOST = Symbol(
29285
29393
  None,
29286
29394
  None,
@@ -30973,6 +31081,33 @@ class JpItcmRamData:
30973
31081
  "struct loaded_attack_sprite_data*",
30974
31082
  )
30975
31083
 
31084
+ AI_THROWN_ITEM_DIRECTION_IS_USED = Symbol(
31085
+ None,
31086
+ None,
31087
+ None,
31088
+ "AI_THROWN_ITEM_DIRECTION_IS_USED",
31089
+ "[Runtime] Used in GetPossibleAiThrownItemDirections to indicate whether a certain direction enum value is already being used or not.",
31090
+ "bool[8]",
31091
+ )
31092
+
31093
+ AI_THROWN_ITEM_DIRECTIONS = Symbol(
31094
+ None,
31095
+ None,
31096
+ None,
31097
+ "AI_THROWN_ITEM_DIRECTIONS",
31098
+ "[Runtime] Used to store the directions output by GetPossibleAiThrownItemDirections.",
31099
+ "uint32_t[8]",
31100
+ )
31101
+
31102
+ AI_THROWN_ITEM_PROBABILITIES = Symbol(
31103
+ None,
31104
+ None,
31105
+ None,
31106
+ "AI_THROWN_ITEM_PROBABILITIES",
31107
+ "[Runtime] Used to store the probabilities matching the directions in THROWN_ITEM_DIRECTIONS.",
31108
+ "uint32_t[8]",
31109
+ )
31110
+
30976
31111
  ROLLOUT_ICE_BALL_MISSED = Symbol(
30977
31112
  None,
30978
31113
  None,
pmdsky_debug_py/na.py CHANGED
@@ -1785,7 +1785,7 @@ class NaArm9Functions:
1785
1785
  [0x200EAA0],
1786
1786
  None,
1787
1787
  "TestItemAiFlag",
1788
- "Used to check the AI flags for an item. Tests bit 7 if r1 is 0, bit 6 if r1 is 1, bit\n5 otherwise.\n\nr0: item ID\nr1: bit_id\nreturn: bool",
1788
+ "Returns a boolean indicating whether the item is consumable, throwable at an ally, or throwable at an enemy, depending on item_flag.\nThe table used for this is inaccessible in the code, as it is loaded from a file in the ROM at runtime.\nBit 7 in the table corresponds to ITEM_FLAG_CONSUMABLE, bit 6 to ITEM_FLAG_THROWABLE_AT_ALLY, and bit 5 to ITEM_FLAG_THROWABLE_AT_ENEMY.\n\nr0: item_id enum\nr1: item_flag enum. Function will test a different allowed AI action depending on the value.\nreturn: bool",
1789
1789
  None,
1790
1790
  )
1791
1791
 
@@ -24186,6 +24186,15 @@ class NaOverlay29Functions:
24186
24186
  None,
24187
24187
  )
24188
24188
 
24189
+ SetDecoyAiTracker = Symbol(
24190
+ [0x1F2F8],
24191
+ [0x22FB538],
24192
+ None,
24193
+ "SetDecoyAiTracker",
24194
+ "If there is a decoy on the floor that the entity can see, sets the entity's decoy_ai_tracker to 1 or 2,\ndepending on whether the attacker who caused the decoy status is on the team or not, respectively.\n\nr0: Entity pointer",
24195
+ None,
24196
+ )
24197
+
24189
24198
  CheckSpawnThreshold = Symbol(
24190
24199
  [0x1F3AC],
24191
24200
  [0x22FB5EC],
@@ -24600,6 +24609,33 @@ class NaOverlay29Functions:
24600
24609
  None,
24601
24610
  )
24602
24611
 
24612
+ CheckVariousStatuses2 = Symbol(
24613
+ [0x245D8],
24614
+ [0x2300818],
24615
+ None,
24616
+ "CheckVariousStatuses2",
24617
+ "Returns 0 if none of these conditions holds for the given entity:\nblinded (checked only if blind_check == 1),\nasleep, paused, infatuated, wrapping, wrapped, biding, petrified, or terrified.\n\nr0: Entity pointer\nr1: If true, return 1 if entity is blinded\nreturn: bool",
24618
+ None,
24619
+ )
24620
+
24621
+ CheckVariousConditions = Symbol(
24622
+ [0x24900],
24623
+ [0x2300B40],
24624
+ None,
24625
+ "CheckVariousConditions",
24626
+ "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",
24627
+ None,
24628
+ )
24629
+
24630
+ CheckVariousStatuses = Symbol(
24631
+ [0x24A70],
24632
+ [0x2300CB0],
24633
+ None,
24634
+ "CheckVariousStatuses",
24635
+ "Returns 0 if none of these conditions holds for the given entity: asleep, frozen, petrified, biding.\n\nr0: Entity pointer\nreturn: bool",
24636
+ None,
24637
+ )
24638
+
24603
24639
  CanMonsterMoveInDirection = Symbol(
24604
24640
  [0x24C38],
24605
24641
  [0x2300E78],
@@ -24825,6 +24861,15 @@ class NaOverlay29Functions:
24825
24861
  None,
24826
24862
  )
24827
24863
 
24864
+ MonsterCanThrowItems = Symbol(
24865
+ [0x26128],
24866
+ [0x2302368],
24867
+ None,
24868
+ "MonsterCanThrowItems",
24869
+ "Returns a boolean indicating whether or not the given monster can throw items based on its monster id.\n\nr0: Monster pointer\nreturn: bool",
24870
+ None,
24871
+ )
24872
+
24828
24873
  UpdateStateFlags = Symbol(
24829
24874
  [0x26180],
24830
24875
  [0x23023C0],
@@ -25356,6 +25401,33 @@ class NaOverlay29Functions:
25356
25401
  None,
25357
25402
  )
25358
25403
 
25404
+ AiDecideUseItem = Symbol(
25405
+ [0x326D4],
25406
+ [0x230E914],
25407
+ None,
25408
+ "AiDecideUseItem",
25409
+ "Decides whether or not an AI should use its held item and updates its action_data fields accordingly.\n\nr0: Entity pointer",
25410
+ None,
25411
+ )
25412
+
25413
+ GetPossibleAiThrownItemDirections = Symbol(
25414
+ [0x32B70],
25415
+ [0x230EDB0],
25416
+ None,
25417
+ "GetPossibleAiThrownItemDirections",
25418
+ "If the entity can throw an item at a target in a certain direction,\nadds that direction to AI_THROWN_ITEM_DIRECTIONS and the probability of throwing it to AI_THROWN_ITEM_PROBABILITIES (if it is not already present).\nThe size of the arrays will be stored in AI_THROWN_ITEM_ACTION_CHOICE_COUNT.\nThe caller function will select the direction to throw the item by iterating through the array(s), rolling the probability, and then throwing in that direction if the roll succeeds.\nNothing will be thrown if all rolls fail.\n\nr0: Entity pointer\nr1: Integer in {1, 2}. If 1, target allies; if 2, target enemies.\nr2: Item struct pointer\nr3: If false, will call GetAiUseItemProbability to get the probability of throwing in a certain direction.\nIf true, the added probability will always be 100.",
25419
+ None,
25420
+ )
25421
+
25422
+ GetPossibleAiArcItemTargets = Symbol(
25423
+ [0x32DEC],
25424
+ [0x230F02C],
25425
+ None,
25426
+ "GetPossibleAiArcItemTargets",
25427
+ "Gets the positions of all targets that an AI can hit with an item thrown in an arc, such as a Gravelerock.\nThe number of positions in the array will be stored in AI_THROWN_ITEM_ACTION_CHOICE_COUNT.\n\nr0: Entity pointer\nr1: Item struct pointer\nr2: [output] Array of size 20 for storing position structs\nr3: If false, will roll GetAiUseItemProbability every time a position is checked and not add it if it rolls false.",
25428
+ None,
25429
+ )
25430
+
25359
25431
  TryNonLeaderItemPickUp = Symbol(
25360
25432
  [0x32F24],
25361
25433
  [0x230F164],
@@ -25365,6 +25437,15 @@ class NaOverlay29Functions:
25365
25437
  None,
25366
25438
  )
25367
25439
 
25440
+ GetExclusiveItemWithEffectFromBag = Symbol(
25441
+ [0x33414],
25442
+ [0x230F654],
25443
+ None,
25444
+ "GetExclusiveItemWithEffectFromBag",
25445
+ "If an exclusive item with a certain effect is present in the bag and works for the entity, returns true and copies the item struct to the address at item. Otherwise, returns false.\n\nr0: Entity pointer\nr1: exclusive_item_effect_id enum\nr2: [output] Item pointer\nreturn: bool",
25446
+ None,
25447
+ )
25448
+
25368
25449
  AuraBowIsActive = Symbol(
25369
25450
  [0x33488],
25370
25451
  [0x230F6C8],
@@ -26922,6 +27003,15 @@ class NaOverlay29Functions:
26922
27003
  None,
26923
27004
  )
26924
27005
 
27006
+ IsChargingAnyTwoTurnMove = Symbol(
27007
+ [0x483DC],
27008
+ [0x232461C],
27009
+ None,
27010
+ "IsChargingAnyTwoTurnMove",
27011
+ "Returns a boolean indicating whether or not the given entity is charging any two-turn move.\n\nr0: Entity pointer\nr1: Unused boolean which was supposed to make function return true if the entity is under the effect of Charge (the Electric-type move).\n However, the conditional which uses this boolean will never be activated, as the loop will always terminate before getting to it.\nreturn: bool",
27012
+ None,
27013
+ )
27014
+
26925
27015
  HasMaxGinsengBoost99 = Symbol(
26926
27016
  [0x48558],
26927
27017
  [0x2324798],
@@ -27093,6 +27183,15 @@ class NaOverlay29Functions:
27093
27183
  None,
27094
27184
  )
27095
27185
 
27186
+ CanHitWithRegularAttack = Symbol(
27187
+ [0x56D88],
27188
+ [0x2332FC8],
27189
+ None,
27190
+ "CanHitWithRegularAttack",
27191
+ "Returns true if the defender is adjacent to the attacker and can hit them with a regular attack.\nNotably, this check is what prevents ranged moves, moves that cut corners, etc. from being reflected by Magic Coat and Mirror Move.\n\nr0: Entity pointer (attacker)\nr1: Entity pointer (defender)\nreturn: bool",
27192
+ None,
27193
+ )
27194
+
27096
27195
  StatusCheckerCheck = Symbol(
27097
27196
  [0x56E34],
27098
27197
  [0x2333074],
@@ -29957,6 +30056,15 @@ class NaOverlay29Data:
29957
30056
  "struct exclusive_item_effect_id_8[8]",
29958
30057
  )
29959
30058
 
30059
+ AI_THROWN_ITEM_ACTION_CHOICE_COUNT = Symbol(
30060
+ [0x774BC],
30061
+ [0x23536FC],
30062
+ None,
30063
+ "AI_THROWN_ITEM_ACTION_CHOICE_COUNT",
30064
+ "[Runtime] Used to store the number of positions output by GetPossibleAiArcItemTargets and the number of directions/probabilities output by GetPossibleAiThrownItemDirections.",
30065
+ "uint32_t",
30066
+ )
30067
+
29960
30068
  EXCL_ITEM_EFFECTS_EVASION_BOOST = Symbol(
29961
30069
  [0x774D0],
29962
30070
  [0x2353710],
@@ -31693,6 +31801,33 @@ class NaRamData:
31693
31801
  "struct loaded_attack_sprite_data*",
31694
31802
  )
31695
31803
 
31804
+ AI_THROWN_ITEM_DIRECTION_IS_USED = Symbol(
31805
+ None,
31806
+ None,
31807
+ None,
31808
+ "AI_THROWN_ITEM_DIRECTION_IS_USED",
31809
+ "[Runtime] Used in GetPossibleAiThrownItemDirections to indicate whether a certain direction enum value is already being used or not.",
31810
+ "bool[8]",
31811
+ )
31812
+
31813
+ AI_THROWN_ITEM_DIRECTIONS = Symbol(
31814
+ None,
31815
+ None,
31816
+ None,
31817
+ "AI_THROWN_ITEM_DIRECTIONS",
31818
+ "[Runtime] Used to store the directions output by GetPossibleAiThrownItemDirections.",
31819
+ "uint32_t[8]",
31820
+ )
31821
+
31822
+ AI_THROWN_ITEM_PROBABILITIES = Symbol(
31823
+ None,
31824
+ None,
31825
+ None,
31826
+ "AI_THROWN_ITEM_PROBABILITIES",
31827
+ "[Runtime] Used to store the probabilities matching the directions in THROWN_ITEM_DIRECTIONS.",
31828
+ "uint32_t[8]",
31829
+ )
31830
+
31696
31831
  ROLLOUT_ICE_BALL_MISSED = Symbol(
31697
31832
  [0x37CA69],
31698
31833
  [0x237CA69],
@@ -1739,7 +1739,7 @@ class NaItcmArm9Functions:
1739
1739
  None,
1740
1740
  None,
1741
1741
  "TestItemAiFlag",
1742
- "Used to check the AI flags for an item. Tests bit 7 if r1 is 0, bit 6 if r1 is 1, bit\n5 otherwise.\n\nr0: item ID\nr1: bit_id\nreturn: bool",
1742
+ "Returns a boolean indicating whether the item is consumable, throwable at an ally, or throwable at an enemy, depending on item_flag.\nThe table used for this is inaccessible in the code, as it is loaded from a file in the ROM at runtime.\nBit 7 in the table corresponds to ITEM_FLAG_CONSUMABLE, bit 6 to ITEM_FLAG_THROWABLE_AT_ALLY, and bit 5 to ITEM_FLAG_THROWABLE_AT_ENEMY.\n\nr0: item_id enum\nr1: item_flag enum. Function will test a different allowed AI action depending on the value.\nreturn: bool",
1743
1743
  None,
1744
1744
  )
1745
1745
 
@@ -23613,6 +23613,15 @@ class NaItcmOverlay29Functions:
23613
23613
  None,
23614
23614
  )
23615
23615
 
23616
+ SetDecoyAiTracker = Symbol(
23617
+ None,
23618
+ None,
23619
+ None,
23620
+ "SetDecoyAiTracker",
23621
+ "If there is a decoy on the floor that the entity can see, sets the entity's decoy_ai_tracker to 1 or 2,\ndepending on whether the attacker who caused the decoy status is on the team or not, respectively.\n\nr0: Entity pointer",
23622
+ None,
23623
+ )
23624
+
23616
23625
  CheckSpawnThreshold = Symbol(
23617
23626
  None,
23618
23627
  None,
@@ -24027,6 +24036,33 @@ class NaItcmOverlay29Functions:
24027
24036
  None,
24028
24037
  )
24029
24038
 
24039
+ CheckVariousStatuses2 = Symbol(
24040
+ None,
24041
+ None,
24042
+ None,
24043
+ "CheckVariousStatuses2",
24044
+ "Returns 0 if none of these conditions holds for the given entity:\nblinded (checked only if blind_check == 1),\nasleep, paused, infatuated, wrapping, wrapped, biding, petrified, or terrified.\n\nr0: Entity pointer\nr1: If true, return 1 if entity is blinded\nreturn: bool",
24045
+ None,
24046
+ )
24047
+
24048
+ CheckVariousConditions = Symbol(
24049
+ None,
24050
+ None,
24051
+ None,
24052
+ "CheckVariousConditions",
24053
+ "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",
24054
+ None,
24055
+ )
24056
+
24057
+ CheckVariousStatuses = Symbol(
24058
+ None,
24059
+ None,
24060
+ None,
24061
+ "CheckVariousStatuses",
24062
+ "Returns 0 if none of these conditions holds for the given entity: asleep, frozen, petrified, biding.\n\nr0: Entity pointer\nreturn: bool",
24063
+ None,
24064
+ )
24065
+
24030
24066
  CanMonsterMoveInDirection = Symbol(
24031
24067
  None,
24032
24068
  None,
@@ -24252,6 +24288,15 @@ class NaItcmOverlay29Functions:
24252
24288
  None,
24253
24289
  )
24254
24290
 
24291
+ MonsterCanThrowItems = Symbol(
24292
+ None,
24293
+ None,
24294
+ None,
24295
+ "MonsterCanThrowItems",
24296
+ "Returns a boolean indicating whether or not the given monster can throw items based on its monster id.\n\nr0: Monster pointer\nreturn: bool",
24297
+ None,
24298
+ )
24299
+
24255
24300
  UpdateStateFlags = Symbol(
24256
24301
  None,
24257
24302
  None,
@@ -24783,6 +24828,33 @@ class NaItcmOverlay29Functions:
24783
24828
  None,
24784
24829
  )
24785
24830
 
24831
+ AiDecideUseItem = Symbol(
24832
+ None,
24833
+ None,
24834
+ None,
24835
+ "AiDecideUseItem",
24836
+ "Decides whether or not an AI should use its held item and updates its action_data fields accordingly.\n\nr0: Entity pointer",
24837
+ None,
24838
+ )
24839
+
24840
+ GetPossibleAiThrownItemDirections = Symbol(
24841
+ None,
24842
+ None,
24843
+ None,
24844
+ "GetPossibleAiThrownItemDirections",
24845
+ "If the entity can throw an item at a target in a certain direction,\nadds that direction to AI_THROWN_ITEM_DIRECTIONS and the probability of throwing it to AI_THROWN_ITEM_PROBABILITIES (if it is not already present).\nThe size of the arrays will be stored in AI_THROWN_ITEM_ACTION_CHOICE_COUNT.\nThe caller function will select the direction to throw the item by iterating through the array(s), rolling the probability, and then throwing in that direction if the roll succeeds.\nNothing will be thrown if all rolls fail.\n\nr0: Entity pointer\nr1: Integer in {1, 2}. If 1, target allies; if 2, target enemies.\nr2: Item struct pointer\nr3: If false, will call GetAiUseItemProbability to get the probability of throwing in a certain direction.\nIf true, the added probability will always be 100.",
24846
+ None,
24847
+ )
24848
+
24849
+ GetPossibleAiArcItemTargets = Symbol(
24850
+ None,
24851
+ None,
24852
+ None,
24853
+ "GetPossibleAiArcItemTargets",
24854
+ "Gets the positions of all targets that an AI can hit with an item thrown in an arc, such as a Gravelerock.\nThe number of positions in the array will be stored in AI_THROWN_ITEM_ACTION_CHOICE_COUNT.\n\nr0: Entity pointer\nr1: Item struct pointer\nr2: [output] Array of size 20 for storing position structs\nr3: If false, will roll GetAiUseItemProbability every time a position is checked and not add it if it rolls false.",
24855
+ None,
24856
+ )
24857
+
24786
24858
  TryNonLeaderItemPickUp = Symbol(
24787
24859
  None,
24788
24860
  None,
@@ -24792,6 +24864,15 @@ class NaItcmOverlay29Functions:
24792
24864
  None,
24793
24865
  )
24794
24866
 
24867
+ GetExclusiveItemWithEffectFromBag = Symbol(
24868
+ None,
24869
+ None,
24870
+ None,
24871
+ "GetExclusiveItemWithEffectFromBag",
24872
+ "If an exclusive item with a certain effect is present in the bag and works for the entity, returns true and copies the item struct to the address at item. Otherwise, returns false.\n\nr0: Entity pointer\nr1: exclusive_item_effect_id enum\nr2: [output] Item pointer\nreturn: bool",
24873
+ None,
24874
+ )
24875
+
24795
24876
  AuraBowIsActive = Symbol(
24796
24877
  None,
24797
24878
  None,
@@ -26349,6 +26430,15 @@ class NaItcmOverlay29Functions:
26349
26430
  None,
26350
26431
  )
26351
26432
 
26433
+ IsChargingAnyTwoTurnMove = Symbol(
26434
+ None,
26435
+ None,
26436
+ None,
26437
+ "IsChargingAnyTwoTurnMove",
26438
+ "Returns a boolean indicating whether or not the given entity is charging any two-turn move.\n\nr0: Entity pointer\nr1: Unused boolean which was supposed to make function return true if the entity is under the effect of Charge (the Electric-type move).\n However, the conditional which uses this boolean will never be activated, as the loop will always terminate before getting to it.\nreturn: bool",
26439
+ None,
26440
+ )
26441
+
26352
26442
  HasMaxGinsengBoost99 = Symbol(
26353
26443
  None,
26354
26444
  None,
@@ -26520,6 +26610,15 @@ class NaItcmOverlay29Functions:
26520
26610
  None,
26521
26611
  )
26522
26612
 
26613
+ CanHitWithRegularAttack = Symbol(
26614
+ None,
26615
+ None,
26616
+ None,
26617
+ "CanHitWithRegularAttack",
26618
+ "Returns true if the defender is adjacent to the attacker and can hit them with a regular attack.\nNotably, this check is what prevents ranged moves, moves that cut corners, etc. from being reflected by Magic Coat and Mirror Move.\n\nr0: Entity pointer (attacker)\nr1: Entity pointer (defender)\nreturn: bool",
26619
+ None,
26620
+ )
26621
+
26523
26622
  StatusCheckerCheck = Symbol(
26524
26623
  None,
26525
26624
  None,
@@ -29281,6 +29380,15 @@ class NaItcmOverlay29Data:
29281
29380
  "struct exclusive_item_effect_id_8[8]",
29282
29381
  )
29283
29382
 
29383
+ AI_THROWN_ITEM_ACTION_CHOICE_COUNT = Symbol(
29384
+ None,
29385
+ None,
29386
+ None,
29387
+ "AI_THROWN_ITEM_ACTION_CHOICE_COUNT",
29388
+ "[Runtime] Used to store the number of positions output by GetPossibleAiArcItemTargets and the number of directions/probabilities output by GetPossibleAiThrownItemDirections.",
29389
+ "uint32_t",
29390
+ )
29391
+
29284
29392
  EXCL_ITEM_EFFECTS_EVASION_BOOST = Symbol(
29285
29393
  None,
29286
29394
  None,
@@ -30973,6 +31081,33 @@ class NaItcmRamData:
30973
31081
  "struct loaded_attack_sprite_data*",
30974
31082
  )
30975
31083
 
31084
+ AI_THROWN_ITEM_DIRECTION_IS_USED = Symbol(
31085
+ None,
31086
+ None,
31087
+ None,
31088
+ "AI_THROWN_ITEM_DIRECTION_IS_USED",
31089
+ "[Runtime] Used in GetPossibleAiThrownItemDirections to indicate whether a certain direction enum value is already being used or not.",
31090
+ "bool[8]",
31091
+ )
31092
+
31093
+ AI_THROWN_ITEM_DIRECTIONS = Symbol(
31094
+ None,
31095
+ None,
31096
+ None,
31097
+ "AI_THROWN_ITEM_DIRECTIONS",
31098
+ "[Runtime] Used to store the directions output by GetPossibleAiThrownItemDirections.",
31099
+ "uint32_t[8]",
31100
+ )
31101
+
31102
+ AI_THROWN_ITEM_PROBABILITIES = Symbol(
31103
+ None,
31104
+ None,
31105
+ None,
31106
+ "AI_THROWN_ITEM_PROBABILITIES",
31107
+ "[Runtime] Used to store the probabilities matching the directions in THROWN_ITEM_DIRECTIONS.",
31108
+ "uint32_t[8]",
31109
+ )
31110
+
30976
31111
  ROLLOUT_ICE_BALL_MISSED = Symbol(
30977
31112
  None,
30978
31113
  None,