pmdsky-debug-py 10.1.14__py3-none-any.whl → 10.1.15__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.
@@ -1 +1 @@
1
- RELEASE = "v0.10.1+70cc918e1d"
1
+ RELEASE = "v0.10.1+a4a9e51e2c"
pmdsky_debug_py/eu.py CHANGED
@@ -3049,11 +3049,11 @@ class EuArm9Functions:
3049
3049
  None,
3050
3050
  )
3051
3051
 
3052
- IsMoveRangeString19 = Symbol(
3052
+ IsMoveRangeStringUser = Symbol(
3053
3053
  [0x13CAC],
3054
3054
  [0x2013CAC],
3055
3055
  None,
3056
- "IsMoveRangeString19",
3056
+ "IsMoveRangeStringUser",
3057
3057
  "Returns whether a move's range string is 19 ('User').\n\nr0: Move pointer\nreturn: True if the move's range string field has a value of 19.",
3058
3058
  None,
3059
3059
  )
@@ -9261,6 +9261,8 @@ class EuArm9Functions:
9261
9261
  "DirectoryFile_LoadDirectoryFile", LoadFileInPack
9262
9262
  )
9263
9263
 
9264
+ IsMoveRangeString19 = _Deprecated("IsMoveRangeString19", IsMoveRangeStringUser)
9265
+
9264
9266
  GetLowKickMultiplier = _Deprecated("GetLowKickMultiplier", GetWeightMultiplier)
9265
9267
 
9266
9268
 
@@ -26054,6 +26056,15 @@ class EuOverlay29Functions:
26054
26056
  None,
26055
26057
  )
26056
26058
 
26059
+ CanMonsterMoveOrSwapWithAllyInDirection = Symbol(
26060
+ [0x25004],
26061
+ [0x2301B84],
26062
+ None,
26063
+ "CanMonsterMoveOrSwapWithAllyInDirection",
26064
+ "Checks if the given monster can move in the specified direction. Includes if an allied or neutral monster is standing on an adjacent tile, as the monsters can swap places.\n\nReturns false if an enemy monster is standing on the target tile\n\nr0: Monster entity pointer\nr1: Direction to check\nreturn: bool",
26065
+ None,
26066
+ )
26067
+
26057
26068
  CanAttackInDirection = Symbol(
26058
26069
  [0x250E0],
26059
26070
  [0x2301C60],
@@ -27962,12 +27973,21 @@ class EuOverlay29Functions:
27962
27973
  None,
27963
27974
  )
27964
27975
 
27976
+ ResetAiCanAttackInDirection = Symbol(
27977
+ [0x3D73C],
27978
+ [0x231A2BC],
27979
+ None,
27980
+ "ResetAiCanAttackInDirection",
27981
+ "Resets all entries in AI_CAN_ATTACK_IN_DIRECTION to false.\n\nNo params.",
27982
+ None,
27983
+ )
27984
+
27965
27985
  AiConsiderMove = Symbol(
27966
27986
  [0x3D760],
27967
27987
  [0x231A2E0],
27968
27988
  None,
27969
27989
  "AiConsiderMove",
27970
- "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight.\nThis weight will be higher if the pokémon has weak-type picker and the target is weak to the move (allies only, enemies always get a result of 1 even if the move is super effective). More things could affect the result.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\nMore research is needed. There's more documentation about this special weight. Does all the documented behavior happen in this function?\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27990
+ "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight. The weight is calculated using WeightMoveWithIqSkills.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\n\nThe weight returned by this function is not the same as GetMoveAiWeight. If the AI does not have Weak-Type Picker, AiConsiderMove is called after the AI has selected which move it will use (using GetMoveAiWeight). It determines whether it makes sense for the AI to actually use the chosen move (i.e., whether targets are in range), and which direction the AI will use the move in if so. The return value of this function is not used anywhere in this case.\n\nIf the AI has Weak-Type Picker, the AI calls this function earlier in the AI logic to determine which move to use, using the returned special weight to find which move has the most advantageous type matchups.\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27971
27991
  None,
27972
27992
  )
27973
27993
 
@@ -27989,6 +28009,15 @@ class EuOverlay29Functions:
27989
28009
  None,
27990
28010
  )
27991
28011
 
28012
+ WeightMoveWithIqSkills = Symbol(
28013
+ [0x3E244],
28014
+ [0x231ADC4],
28015
+ None,
28016
+ "WeightMoveWithIqSkills",
28017
+ "Calculates a move weight used for deciding which target the move should be used on. If the user is an ally, the target is an enemy Pokémon, and the user has Exp. Go-Getter, Efficiency Expert, or Weak-Type Picker enabled, this function calculates a move weight based on that IQ skill's functionality. Otherwise, this function returns a weight of 1.\n\nr0: User entity pointer\nr1: Move's AI range field\nr2: Target entity pointer\nr3: Move type\nreturn: Move weight for deciding move targeting.",
28018
+ None,
28019
+ )
28020
+
27992
28021
  TargetRegularAttack = Symbol(
27993
28022
  [0x3E340],
27994
28023
  [0x231AEC0],
@@ -31353,8 +31382,8 @@ class EuOverlay29Data:
31353
31382
  )
31354
31383
 
31355
31384
  DIRECTIONAL_BIT_MASKS = Symbol(
31356
- [0x76824],
31357
- [0x23533A4],
31385
+ [0x767FC, 0x76804, 0x7680C, 0x76814, 0x7681C, 0x76824],
31386
+ [0x235337C, 0x2353384, 0x235338C, 0x2353394, 0x235339C, 0x23533A4],
31358
31387
  0x8,
31359
31388
  "DIRECTIONAL_BIT_MASKS",
31360
31389
  "An array of one-hot bit masks corresponding to each direction_id. Used alongside tile->walkable_neighbor_flags to determine whether it's possible to move to a tile.",
@@ -33470,6 +33499,42 @@ class EuRamData:
33470
33499
  "uint32_t[8]",
33471
33500
  )
33472
33501
 
33502
+ AI_CAN_ATTACK_IN_DIRECTION = Symbol(
33503
+ [0x37D618],
33504
+ [0x237D618],
33505
+ 0x8,
33506
+ "AI_CAN_ATTACK_IN_DIRECTION",
33507
+ "[Runtime] Stores whether the AI can use an attack in each direction.",
33508
+ "bool[8]",
33509
+ )
33510
+
33511
+ AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS = Symbol(
33512
+ [0x37D620],
33513
+ [0x237D620],
33514
+ 0x8,
33515
+ "AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS",
33516
+ "[Runtime] Stores the directions that the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_WEIGHTS and AI_POTENTIAL_ATTACK_TARGETS.",
33517
+ "struct direction_id_8[8]",
33518
+ )
33519
+
33520
+ AI_POTENTIAL_ATTACK_TARGET_WEIGHTS = Symbol(
33521
+ [0x37D628],
33522
+ [0x237D628],
33523
+ 0x20,
33524
+ "AI_POTENTIAL_ATTACK_TARGET_WEIGHTS",
33525
+ "[Runtime] Stores the targeting weights for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGETS.",
33526
+ "uint32_t[8]",
33527
+ )
33528
+
33529
+ AI_POTENTIAL_ATTACK_TARGETS = Symbol(
33530
+ [0x37D648],
33531
+ [0x237D648],
33532
+ 0x20,
33533
+ "AI_POTENTIAL_ATTACK_TARGETS",
33534
+ "[Runtime] Stores the target entity for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS.",
33535
+ "struct entity*[8]",
33536
+ )
33537
+
33473
33538
  ROLLOUT_ICE_BALL_MISSED = Symbol(
33474
33539
  [0x37D669],
33475
33540
  [0x237D669],
@@ -3003,11 +3003,11 @@ class EuItcmArm9Functions:
3003
3003
  None,
3004
3004
  )
3005
3005
 
3006
- IsMoveRangeString19 = Symbol(
3006
+ IsMoveRangeStringUser = Symbol(
3007
3007
  None,
3008
3008
  None,
3009
3009
  None,
3010
- "IsMoveRangeString19",
3010
+ "IsMoveRangeStringUser",
3011
3011
  "Returns whether a move's range string is 19 ('User').\n\nr0: Move pointer\nreturn: True if the move's range string field has a value of 19.",
3012
3012
  None,
3013
3013
  )
@@ -9215,6 +9215,8 @@ class EuItcmArm9Functions:
9215
9215
  "DirectoryFile_LoadDirectoryFile", LoadFileInPack
9216
9216
  )
9217
9217
 
9218
+ IsMoveRangeString19 = _Deprecated("IsMoveRangeString19", IsMoveRangeStringUser)
9219
+
9218
9220
  GetLowKickMultiplier = _Deprecated("GetLowKickMultiplier", GetWeightMultiplier)
9219
9221
 
9220
9222
 
@@ -25479,6 +25481,15 @@ class EuItcmOverlay29Functions:
25479
25481
  None,
25480
25482
  )
25481
25483
 
25484
+ CanMonsterMoveOrSwapWithAllyInDirection = Symbol(
25485
+ None,
25486
+ None,
25487
+ None,
25488
+ "CanMonsterMoveOrSwapWithAllyInDirection",
25489
+ "Checks if the given monster can move in the specified direction. Includes if an allied or neutral monster is standing on an adjacent tile, as the monsters can swap places.\n\nReturns false if an enemy monster is standing on the target tile\n\nr0: Monster entity pointer\nr1: Direction to check\nreturn: bool",
25490
+ None,
25491
+ )
25492
+
25482
25493
  CanAttackInDirection = Symbol(
25483
25494
  None,
25484
25495
  None,
@@ -27387,12 +27398,21 @@ class EuItcmOverlay29Functions:
27387
27398
  None,
27388
27399
  )
27389
27400
 
27401
+ ResetAiCanAttackInDirection = Symbol(
27402
+ None,
27403
+ None,
27404
+ None,
27405
+ "ResetAiCanAttackInDirection",
27406
+ "Resets all entries in AI_CAN_ATTACK_IN_DIRECTION to false.\n\nNo params.",
27407
+ None,
27408
+ )
27409
+
27390
27410
  AiConsiderMove = Symbol(
27391
27411
  None,
27392
27412
  None,
27393
27413
  None,
27394
27414
  "AiConsiderMove",
27395
- "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight.\nThis weight will be higher if the pokémon has weak-type picker and the target is weak to the move (allies only, enemies always get a result of 1 even if the move is super effective). More things could affect the result.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\nMore research is needed. There's more documentation about this special weight. Does all the documented behavior happen in this function?\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27415
+ "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight. The weight is calculated using WeightMoveWithIqSkills.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\n\nThe weight returned by this function is not the same as GetMoveAiWeight. If the AI does not have Weak-Type Picker, AiConsiderMove is called after the AI has selected which move it will use (using GetMoveAiWeight). It determines whether it makes sense for the AI to actually use the chosen move (i.e., whether targets are in range), and which direction the AI will use the move in if so. The return value of this function is not used anywhere in this case.\n\nIf the AI has Weak-Type Picker, the AI calls this function earlier in the AI logic to determine which move to use, using the returned special weight to find which move has the most advantageous type matchups.\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27396
27416
  None,
27397
27417
  )
27398
27418
 
@@ -27414,6 +27434,15 @@ class EuItcmOverlay29Functions:
27414
27434
  None,
27415
27435
  )
27416
27436
 
27437
+ WeightMoveWithIqSkills = Symbol(
27438
+ None,
27439
+ None,
27440
+ None,
27441
+ "WeightMoveWithIqSkills",
27442
+ "Calculates a move weight used for deciding which target the move should be used on. If the user is an ally, the target is an enemy Pokémon, and the user has Exp. Go-Getter, Efficiency Expert, or Weak-Type Picker enabled, this function calculates a move weight based on that IQ skill's functionality. Otherwise, this function returns a weight of 1.\n\nr0: User entity pointer\nr1: Move's AI range field\nr2: Target entity pointer\nr3: Move type\nreturn: Move weight for deciding move targeting.",
27443
+ None,
27444
+ )
27445
+
27417
27446
  TargetRegularAttack = Symbol(
27418
27447
  None,
27419
27448
  None,
@@ -32748,6 +32777,42 @@ class EuItcmRamData:
32748
32777
  "uint32_t[8]",
32749
32778
  )
32750
32779
 
32780
+ AI_CAN_ATTACK_IN_DIRECTION = Symbol(
32781
+ None,
32782
+ None,
32783
+ None,
32784
+ "AI_CAN_ATTACK_IN_DIRECTION",
32785
+ "[Runtime] Stores whether the AI can use an attack in each direction.",
32786
+ "bool[8]",
32787
+ )
32788
+
32789
+ AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS = Symbol(
32790
+ None,
32791
+ None,
32792
+ None,
32793
+ "AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS",
32794
+ "[Runtime] Stores the directions that the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_WEIGHTS and AI_POTENTIAL_ATTACK_TARGETS.",
32795
+ "struct direction_id_8[8]",
32796
+ )
32797
+
32798
+ AI_POTENTIAL_ATTACK_TARGET_WEIGHTS = Symbol(
32799
+ None,
32800
+ None,
32801
+ None,
32802
+ "AI_POTENTIAL_ATTACK_TARGET_WEIGHTS",
32803
+ "[Runtime] Stores the targeting weights for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGETS.",
32804
+ "uint32_t[8]",
32805
+ )
32806
+
32807
+ AI_POTENTIAL_ATTACK_TARGETS = Symbol(
32808
+ None,
32809
+ None,
32810
+ None,
32811
+ "AI_POTENTIAL_ATTACK_TARGETS",
32812
+ "[Runtime] Stores the target entity for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS.",
32813
+ "struct entity*[8]",
32814
+ )
32815
+
32751
32816
  ROLLOUT_ICE_BALL_MISSED = Symbol(
32752
32817
  None,
32753
32818
  None,
pmdsky_debug_py/jp.py CHANGED
@@ -3049,11 +3049,11 @@ class JpArm9Functions:
3049
3049
  None,
3050
3050
  )
3051
3051
 
3052
- IsMoveRangeString19 = Symbol(
3052
+ IsMoveRangeStringUser = Symbol(
3053
3053
  [0x13BD4],
3054
3054
  [0x2013BD4],
3055
3055
  None,
3056
- "IsMoveRangeString19",
3056
+ "IsMoveRangeStringUser",
3057
3057
  "Returns whether a move's range string is 19 ('User').\n\nr0: Move pointer\nreturn: True if the move's range string field has a value of 19.",
3058
3058
  None,
3059
3059
  )
@@ -9261,6 +9261,8 @@ class JpArm9Functions:
9261
9261
  "DirectoryFile_LoadDirectoryFile", LoadFileInPack
9262
9262
  )
9263
9263
 
9264
+ IsMoveRangeString19 = _Deprecated("IsMoveRangeString19", IsMoveRangeStringUser)
9265
+
9264
9266
  GetLowKickMultiplier = _Deprecated("GetLowKickMultiplier", GetWeightMultiplier)
9265
9267
 
9266
9268
 
@@ -26045,6 +26047,15 @@ class JpOverlay29Functions:
26045
26047
  None,
26046
26048
  )
26047
26049
 
26050
+ CanMonsterMoveOrSwapWithAllyInDirection = Symbol(
26051
+ [0x24C7C],
26052
+ [0x230255C],
26053
+ None,
26054
+ "CanMonsterMoveOrSwapWithAllyInDirection",
26055
+ "Checks if the given monster can move in the specified direction. Includes if an allied or neutral monster is standing on an adjacent tile, as the monsters can swap places.\n\nReturns false if an enemy monster is standing on the target tile\n\nr0: Monster entity pointer\nr1: Direction to check\nreturn: bool",
26056
+ None,
26057
+ )
26058
+
26048
26059
  CanAttackInDirection = Symbol(
26049
26060
  [0x24DB4],
26050
26061
  [0x2302694],
@@ -27953,12 +27964,21 @@ class JpOverlay29Functions:
27953
27964
  None,
27954
27965
  )
27955
27966
 
27967
+ ResetAiCanAttackInDirection = Symbol(
27968
+ [0x3D44C],
27969
+ [0x231AD2C],
27970
+ None,
27971
+ "ResetAiCanAttackInDirection",
27972
+ "Resets all entries in AI_CAN_ATTACK_IN_DIRECTION to false.\n\nNo params.",
27973
+ None,
27974
+ )
27975
+
27956
27976
  AiConsiderMove = Symbol(
27957
27977
  [0x3D470],
27958
27978
  [0x231AD50],
27959
27979
  None,
27960
27980
  "AiConsiderMove",
27961
- "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight.\nThis weight will be higher if the pokémon has weak-type picker and the target is weak to the move (allies only, enemies always get a result of 1 even if the move is super effective). More things could affect the result.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\nMore research is needed. There's more documentation about this special weight. Does all the documented behavior happen in this function?\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27981
+ "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight. The weight is calculated using WeightMoveWithIqSkills.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\n\nThe weight returned by this function is not the same as GetMoveAiWeight. If the AI does not have Weak-Type Picker, AiConsiderMove is called after the AI has selected which move it will use (using GetMoveAiWeight). It determines whether it makes sense for the AI to actually use the chosen move (i.e., whether targets are in range), and which direction the AI will use the move in if so. The return value of this function is not used anywhere in this case.\n\nIf the AI has Weak-Type Picker, the AI calls this function earlier in the AI logic to determine which move to use, using the returned special weight to find which move has the most advantageous type matchups.\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27962
27982
  None,
27963
27983
  )
27964
27984
 
@@ -27980,6 +28000,15 @@ class JpOverlay29Functions:
27980
28000
  None,
27981
28001
  )
27982
28002
 
28003
+ WeightMoveWithIqSkills = Symbol(
28004
+ [0x3DF54],
28005
+ [0x231B834],
28006
+ None,
28007
+ "WeightMoveWithIqSkills",
28008
+ "Calculates a move weight used for deciding which target the move should be used on. If the user is an ally, the target is an enemy Pokémon, and the user has Exp. Go-Getter, Efficiency Expert, or Weak-Type Picker enabled, this function calculates a move weight based on that IQ skill's functionality. Otherwise, this function returns a weight of 1.\n\nr0: User entity pointer\nr1: Move's AI range field\nr2: Target entity pointer\nr3: Move type\nreturn: Move weight for deciding move targeting.",
28009
+ None,
28010
+ )
28011
+
27983
28012
  TargetRegularAttack = Symbol(
27984
28013
  [0x3E050],
27985
28014
  [0x231B930],
@@ -31246,8 +31275,8 @@ class JpOverlay29Data:
31246
31275
  )
31247
31276
 
31248
31277
  DIRECTIONAL_BIT_MASKS = Symbol(
31249
- [0x76138],
31250
- [0x2353A18],
31278
+ [0x76110, 0x76118, 0x76120, 0x76128, 0x76130, 0x76138],
31279
+ [0x23539F0, 0x23539F8, 0x2353A00, 0x2353A08, 0x2353A10, 0x2353A18],
31251
31280
  0x8,
31252
31281
  "DIRECTIONAL_BIT_MASKS",
31253
31282
  "An array of one-hot bit masks corresponding to each direction_id. Used alongside tile->walkable_neighbor_flags to determine whether it's possible to move to a tile.",
@@ -33358,6 +33387,42 @@ class JpRamData:
33358
33387
  "uint32_t[8]",
33359
33388
  )
33360
33389
 
33390
+ AI_CAN_ATTACK_IN_DIRECTION = Symbol(
33391
+ [0x37DC98],
33392
+ [0x237DC98],
33393
+ 0x8,
33394
+ "AI_CAN_ATTACK_IN_DIRECTION",
33395
+ "[Runtime] Stores whether the AI can use an attack in each direction.",
33396
+ "bool[8]",
33397
+ )
33398
+
33399
+ AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS = Symbol(
33400
+ [0x37DCA0],
33401
+ [0x237DCA0],
33402
+ 0x8,
33403
+ "AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS",
33404
+ "[Runtime] Stores the directions that the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_WEIGHTS and AI_POTENTIAL_ATTACK_TARGETS.",
33405
+ "struct direction_id_8[8]",
33406
+ )
33407
+
33408
+ AI_POTENTIAL_ATTACK_TARGET_WEIGHTS = Symbol(
33409
+ [0x37DCA8],
33410
+ [0x237DCA8],
33411
+ 0x20,
33412
+ "AI_POTENTIAL_ATTACK_TARGET_WEIGHTS",
33413
+ "[Runtime] Stores the targeting weights for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGETS.",
33414
+ "uint32_t[8]",
33415
+ )
33416
+
33417
+ AI_POTENTIAL_ATTACK_TARGETS = Symbol(
33418
+ [0x37DCC8],
33419
+ [0x237DCC8],
33420
+ 0x20,
33421
+ "AI_POTENTIAL_ATTACK_TARGETS",
33422
+ "[Runtime] Stores the target entity for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS.",
33423
+ "struct entity*[8]",
33424
+ )
33425
+
33361
33426
  ROLLOUT_ICE_BALL_MISSED = Symbol(
33362
33427
  [0x37DCE9],
33363
33428
  [0x237DCE9],
@@ -3003,11 +3003,11 @@ class JpItcmArm9Functions:
3003
3003
  None,
3004
3004
  )
3005
3005
 
3006
- IsMoveRangeString19 = Symbol(
3006
+ IsMoveRangeStringUser = Symbol(
3007
3007
  None,
3008
3008
  None,
3009
3009
  None,
3010
- "IsMoveRangeString19",
3010
+ "IsMoveRangeStringUser",
3011
3011
  "Returns whether a move's range string is 19 ('User').\n\nr0: Move pointer\nreturn: True if the move's range string field has a value of 19.",
3012
3012
  None,
3013
3013
  )
@@ -9215,6 +9215,8 @@ class JpItcmArm9Functions:
9215
9215
  "DirectoryFile_LoadDirectoryFile", LoadFileInPack
9216
9216
  )
9217
9217
 
9218
+ IsMoveRangeString19 = _Deprecated("IsMoveRangeString19", IsMoveRangeStringUser)
9219
+
9218
9220
  GetLowKickMultiplier = _Deprecated("GetLowKickMultiplier", GetWeightMultiplier)
9219
9221
 
9220
9222
 
@@ -25479,6 +25481,15 @@ class JpItcmOverlay29Functions:
25479
25481
  None,
25480
25482
  )
25481
25483
 
25484
+ CanMonsterMoveOrSwapWithAllyInDirection = Symbol(
25485
+ None,
25486
+ None,
25487
+ None,
25488
+ "CanMonsterMoveOrSwapWithAllyInDirection",
25489
+ "Checks if the given monster can move in the specified direction. Includes if an allied or neutral monster is standing on an adjacent tile, as the monsters can swap places.\n\nReturns false if an enemy monster is standing on the target tile\n\nr0: Monster entity pointer\nr1: Direction to check\nreturn: bool",
25490
+ None,
25491
+ )
25492
+
25482
25493
  CanAttackInDirection = Symbol(
25483
25494
  None,
25484
25495
  None,
@@ -27387,12 +27398,21 @@ class JpItcmOverlay29Functions:
27387
27398
  None,
27388
27399
  )
27389
27400
 
27401
+ ResetAiCanAttackInDirection = Symbol(
27402
+ None,
27403
+ None,
27404
+ None,
27405
+ "ResetAiCanAttackInDirection",
27406
+ "Resets all entries in AI_CAN_ATTACK_IN_DIRECTION to false.\n\nNo params.",
27407
+ None,
27408
+ )
27409
+
27390
27410
  AiConsiderMove = Symbol(
27391
27411
  None,
27392
27412
  None,
27393
27413
  None,
27394
27414
  "AiConsiderMove",
27395
- "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight.\nThis weight will be higher if the pokémon has weak-type picker and the target is weak to the move (allies only, enemies always get a result of 1 even if the move is super effective). More things could affect the result.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\nMore research is needed. There's more documentation about this special weight. Does all the documented behavior happen in this function?\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27415
+ "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight. The weight is calculated using WeightMoveWithIqSkills.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\n\nThe weight returned by this function is not the same as GetMoveAiWeight. If the AI does not have Weak-Type Picker, AiConsiderMove is called after the AI has selected which move it will use (using GetMoveAiWeight). It determines whether it makes sense for the AI to actually use the chosen move (i.e., whether targets are in range), and which direction the AI will use the move in if so. The return value of this function is not used anywhere in this case.\n\nIf the AI has Weak-Type Picker, the AI calls this function earlier in the AI logic to determine which move to use, using the returned special weight to find which move has the most advantageous type matchups.\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27396
27416
  None,
27397
27417
  )
27398
27418
 
@@ -27414,6 +27434,15 @@ class JpItcmOverlay29Functions:
27414
27434
  None,
27415
27435
  )
27416
27436
 
27437
+ WeightMoveWithIqSkills = Symbol(
27438
+ None,
27439
+ None,
27440
+ None,
27441
+ "WeightMoveWithIqSkills",
27442
+ "Calculates a move weight used for deciding which target the move should be used on. If the user is an ally, the target is an enemy Pokémon, and the user has Exp. Go-Getter, Efficiency Expert, or Weak-Type Picker enabled, this function calculates a move weight based on that IQ skill's functionality. Otherwise, this function returns a weight of 1.\n\nr0: User entity pointer\nr1: Move's AI range field\nr2: Target entity pointer\nr3: Move type\nreturn: Move weight for deciding move targeting.",
27443
+ None,
27444
+ )
27445
+
27417
27446
  TargetRegularAttack = Symbol(
27418
27447
  None,
27419
27448
  None,
@@ -32748,6 +32777,42 @@ class JpItcmRamData:
32748
32777
  "uint32_t[8]",
32749
32778
  )
32750
32779
 
32780
+ AI_CAN_ATTACK_IN_DIRECTION = Symbol(
32781
+ None,
32782
+ None,
32783
+ None,
32784
+ "AI_CAN_ATTACK_IN_DIRECTION",
32785
+ "[Runtime] Stores whether the AI can use an attack in each direction.",
32786
+ "bool[8]",
32787
+ )
32788
+
32789
+ AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS = Symbol(
32790
+ None,
32791
+ None,
32792
+ None,
32793
+ "AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS",
32794
+ "[Runtime] Stores the directions that the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_WEIGHTS and AI_POTENTIAL_ATTACK_TARGETS.",
32795
+ "struct direction_id_8[8]",
32796
+ )
32797
+
32798
+ AI_POTENTIAL_ATTACK_TARGET_WEIGHTS = Symbol(
32799
+ None,
32800
+ None,
32801
+ None,
32802
+ "AI_POTENTIAL_ATTACK_TARGET_WEIGHTS",
32803
+ "[Runtime] Stores the targeting weights for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGETS.",
32804
+ "uint32_t[8]",
32805
+ )
32806
+
32807
+ AI_POTENTIAL_ATTACK_TARGETS = Symbol(
32808
+ None,
32809
+ None,
32810
+ None,
32811
+ "AI_POTENTIAL_ATTACK_TARGETS",
32812
+ "[Runtime] Stores the target entity for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS.",
32813
+ "struct entity*[8]",
32814
+ )
32815
+
32751
32816
  ROLLOUT_ICE_BALL_MISSED = Symbol(
32752
32817
  None,
32753
32818
  None,
pmdsky_debug_py/na.py CHANGED
@@ -3049,11 +3049,11 @@ class NaArm9Functions:
3049
3049
  None,
3050
3050
  )
3051
3051
 
3052
- IsMoveRangeString19 = Symbol(
3052
+ IsMoveRangeStringUser = Symbol(
3053
3053
  [0x13C04],
3054
3054
  [0x2013C04],
3055
3055
  None,
3056
- "IsMoveRangeString19",
3056
+ "IsMoveRangeStringUser",
3057
3057
  "Returns whether a move's range string is 19 ('User').\n\nr0: Move pointer\nreturn: True if the move's range string field has a value of 19.",
3058
3058
  None,
3059
3059
  )
@@ -9261,6 +9261,8 @@ class NaArm9Functions:
9261
9261
  "DirectoryFile_LoadDirectoryFile", LoadFileInPack
9262
9262
  )
9263
9263
 
9264
+ IsMoveRangeString19 = _Deprecated("IsMoveRangeString19", IsMoveRangeStringUser)
9265
+
9264
9266
  GetLowKickMultiplier = _Deprecated("GetLowKickMultiplier", GetWeightMultiplier)
9265
9267
 
9266
9268
 
@@ -26052,6 +26054,15 @@ class NaOverlay29Functions:
26052
26054
  None,
26053
26055
  )
26054
26056
 
26057
+ CanMonsterMoveOrSwapWithAllyInDirection = Symbol(
26058
+ [0x24F18],
26059
+ [0x2301158],
26060
+ None,
26061
+ "CanMonsterMoveOrSwapWithAllyInDirection",
26062
+ "Checks if the given monster can move in the specified direction. Includes if an allied or neutral monster is standing on an adjacent tile, as the monsters can swap places.\n\nReturns false if an enemy monster is standing on the target tile\n\nr0: Monster entity pointer\nr1: Direction to check\nreturn: bool",
26063
+ None,
26064
+ )
26065
+
26055
26066
  CanAttackInDirection = Symbol(
26056
26067
  [0x24FF4],
26057
26068
  [0x2301234],
@@ -27960,12 +27971,21 @@ class NaOverlay29Functions:
27960
27971
  None,
27961
27972
  )
27962
27973
 
27974
+ ResetAiCanAttackInDirection = Symbol(
27975
+ [0x3D61C],
27976
+ [0x231985C],
27977
+ None,
27978
+ "ResetAiCanAttackInDirection",
27979
+ "Resets all entries in AI_CAN_ATTACK_IN_DIRECTION to false.\n\nNo params.",
27980
+ None,
27981
+ )
27982
+
27963
27983
  AiConsiderMove = Symbol(
27964
27984
  [0x3D640],
27965
27985
  [0x2319880],
27966
27986
  None,
27967
27987
  "AiConsiderMove",
27968
- "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight.\nThis weight will be higher if the pokémon has weak-type picker and the target is weak to the move (allies only, enemies always get a result of 1 even if the move is super effective). More things could affect the result.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\nMore research is needed. There's more documentation about this special weight. Does all the documented behavior happen in this function?\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27988
+ "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight. The weight is calculated using WeightMoveWithIqSkills.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\n\nThe weight returned by this function is not the same as GetMoveAiWeight. If the AI does not have Weak-Type Picker, AiConsiderMove is called after the AI has selected which move it will use (using GetMoveAiWeight). It determines whether it makes sense for the AI to actually use the chosen move (i.e., whether targets are in range), and which direction the AI will use the move in if so. The return value of this function is not used anywhere in this case.\n\nIf the AI has Weak-Type Picker, the AI calls this function earlier in the AI logic to determine which move to use, using the returned special weight to find which move has the most advantageous type matchups.\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27969
27989
  None,
27970
27990
  )
27971
27991
 
@@ -27987,6 +28007,15 @@ class NaOverlay29Functions:
27987
28007
  None,
27988
28008
  )
27989
28009
 
28010
+ WeightMoveWithIqSkills = Symbol(
28011
+ [0x3E124],
28012
+ [0x231A364],
28013
+ None,
28014
+ "WeightMoveWithIqSkills",
28015
+ "Calculates a move weight used for deciding which target the move should be used on. If the user is an ally, the target is an enemy Pokémon, and the user has Exp. Go-Getter, Efficiency Expert, or Weak-Type Picker enabled, this function calculates a move weight based on that IQ skill's functionality. Otherwise, this function returns a weight of 1.\n\nr0: User entity pointer\nr1: Move's AI range field\nr2: Target entity pointer\nr3: Move type\nreturn: Move weight for deciding move targeting.",
28016
+ None,
28017
+ )
28018
+
27990
28019
  TargetRegularAttack = Symbol(
27991
28020
  [0x3E220],
27992
28021
  [0x231A460],
@@ -31351,8 +31380,8 @@ class NaOverlay29Data:
31351
31380
  )
31352
31381
 
31353
31382
  DIRECTIONAL_BIT_MASKS = Symbol(
31354
- [0x76558],
31355
- [0x2352798],
31383
+ [0x76530, 0x76538, 0x76540, 0x76548, 0x76550, 0x76558],
31384
+ [0x2352770, 0x2352778, 0x2352780, 0x2352788, 0x2352790, 0x2352798],
31356
31385
  0x8,
31357
31386
  "DIRECTIONAL_BIT_MASKS",
31358
31387
  "An array of one-hot bit masks corresponding to each direction_id. Used alongside tile->walkable_neighbor_flags to determine whether it's possible to move to a tile.",
@@ -33468,6 +33497,42 @@ class NaRamData:
33468
33497
  "uint32_t[8]",
33469
33498
  )
33470
33499
 
33500
+ AI_CAN_ATTACK_IN_DIRECTION = Symbol(
33501
+ [0x37CA18],
33502
+ [0x237CA18],
33503
+ 0x8,
33504
+ "AI_CAN_ATTACK_IN_DIRECTION",
33505
+ "[Runtime] Stores whether the AI can use an attack in each direction.",
33506
+ "bool[8]",
33507
+ )
33508
+
33509
+ AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS = Symbol(
33510
+ [0x37CA20],
33511
+ [0x237CA20],
33512
+ 0x8,
33513
+ "AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS",
33514
+ "[Runtime] Stores the directions that the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_WEIGHTS and AI_POTENTIAL_ATTACK_TARGETS.",
33515
+ "struct direction_id_8[8]",
33516
+ )
33517
+
33518
+ AI_POTENTIAL_ATTACK_TARGET_WEIGHTS = Symbol(
33519
+ [0x37CA28],
33520
+ [0x237CA28],
33521
+ 0x20,
33522
+ "AI_POTENTIAL_ATTACK_TARGET_WEIGHTS",
33523
+ "[Runtime] Stores the targeting weights for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGETS.",
33524
+ "uint32_t[8]",
33525
+ )
33526
+
33527
+ AI_POTENTIAL_ATTACK_TARGETS = Symbol(
33528
+ [0x37CA48],
33529
+ [0x237CA48],
33530
+ 0x20,
33531
+ "AI_POTENTIAL_ATTACK_TARGETS",
33532
+ "[Runtime] Stores the target entity for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS.",
33533
+ "struct entity*[8]",
33534
+ )
33535
+
33471
33536
  ROLLOUT_ICE_BALL_MISSED = Symbol(
33472
33537
  [0x37CA69],
33473
33538
  [0x237CA69],
@@ -3003,11 +3003,11 @@ class NaItcmArm9Functions:
3003
3003
  None,
3004
3004
  )
3005
3005
 
3006
- IsMoveRangeString19 = Symbol(
3006
+ IsMoveRangeStringUser = Symbol(
3007
3007
  None,
3008
3008
  None,
3009
3009
  None,
3010
- "IsMoveRangeString19",
3010
+ "IsMoveRangeStringUser",
3011
3011
  "Returns whether a move's range string is 19 ('User').\n\nr0: Move pointer\nreturn: True if the move's range string field has a value of 19.",
3012
3012
  None,
3013
3013
  )
@@ -9215,6 +9215,8 @@ class NaItcmArm9Functions:
9215
9215
  "DirectoryFile_LoadDirectoryFile", LoadFileInPack
9216
9216
  )
9217
9217
 
9218
+ IsMoveRangeString19 = _Deprecated("IsMoveRangeString19", IsMoveRangeStringUser)
9219
+
9218
9220
  GetLowKickMultiplier = _Deprecated("GetLowKickMultiplier", GetWeightMultiplier)
9219
9221
 
9220
9222
 
@@ -25479,6 +25481,15 @@ class NaItcmOverlay29Functions:
25479
25481
  None,
25480
25482
  )
25481
25483
 
25484
+ CanMonsterMoveOrSwapWithAllyInDirection = Symbol(
25485
+ None,
25486
+ None,
25487
+ None,
25488
+ "CanMonsterMoveOrSwapWithAllyInDirection",
25489
+ "Checks if the given monster can move in the specified direction. Includes if an allied or neutral monster is standing on an adjacent tile, as the monsters can swap places.\n\nReturns false if an enemy monster is standing on the target tile\n\nr0: Monster entity pointer\nr1: Direction to check\nreturn: bool",
25490
+ None,
25491
+ )
25492
+
25482
25493
  CanAttackInDirection = Symbol(
25483
25494
  None,
25484
25495
  None,
@@ -27387,12 +27398,21 @@ class NaItcmOverlay29Functions:
27387
27398
  None,
27388
27399
  )
27389
27400
 
27401
+ ResetAiCanAttackInDirection = Symbol(
27402
+ None,
27403
+ None,
27404
+ None,
27405
+ "ResetAiCanAttackInDirection",
27406
+ "Resets all entries in AI_CAN_ATTACK_IN_DIRECTION to false.\n\nNo params.",
27407
+ None,
27408
+ )
27409
+
27390
27410
  AiConsiderMove = Symbol(
27391
27411
  None,
27392
27412
  None,
27393
27413
  None,
27394
27414
  "AiConsiderMove",
27395
- "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight.\nThis weight will be higher if the pokémon has weak-type picker and the target is weak to the move (allies only, enemies always get a result of 1 even if the move is super effective). More things could affect the result.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\nMore research is needed. There's more documentation about this special weight. Does all the documented behavior happen in this function?\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27415
+ "The AI uses this function to check if a move has any potential targets, to calculate the list of potential targets and to calculate the move's special weight. The weight is calculated using WeightMoveWithIqSkills.\nThis function also sets the flag can_be_used on the ai_possible_move struct if it makes sense to use it.\n\nThe weight returned by this function is not the same as GetMoveAiWeight. If the AI does not have Weak-Type Picker, AiConsiderMove is called after the AI has selected which move it will use (using GetMoveAiWeight). It determines whether it makes sense for the AI to actually use the chosen move (i.e., whether targets are in range), and which direction the AI will use the move in if so. The return value of this function is not used anywhere in this case.\n\nIf the AI has Weak-Type Picker, the AI calls this function earlier in the AI logic to determine which move to use, using the returned special weight to find which move has the most advantageous type matchups.\n\nr0: ai_possible_move struct for this move\nr1: Entity pointer\nr2: Move pointer\nreturn: Move's calculated special weight",
27396
27416
  None,
27397
27417
  )
27398
27418
 
@@ -27414,6 +27434,15 @@ class NaItcmOverlay29Functions:
27414
27434
  None,
27415
27435
  )
27416
27436
 
27437
+ WeightMoveWithIqSkills = Symbol(
27438
+ None,
27439
+ None,
27440
+ None,
27441
+ "WeightMoveWithIqSkills",
27442
+ "Calculates a move weight used for deciding which target the move should be used on. If the user is an ally, the target is an enemy Pokémon, and the user has Exp. Go-Getter, Efficiency Expert, or Weak-Type Picker enabled, this function calculates a move weight based on that IQ skill's functionality. Otherwise, this function returns a weight of 1.\n\nr0: User entity pointer\nr1: Move's AI range field\nr2: Target entity pointer\nr3: Move type\nreturn: Move weight for deciding move targeting.",
27443
+ None,
27444
+ )
27445
+
27417
27446
  TargetRegularAttack = Symbol(
27418
27447
  None,
27419
27448
  None,
@@ -32748,6 +32777,42 @@ class NaItcmRamData:
32748
32777
  "uint32_t[8]",
32749
32778
  )
32750
32779
 
32780
+ AI_CAN_ATTACK_IN_DIRECTION = Symbol(
32781
+ None,
32782
+ None,
32783
+ None,
32784
+ "AI_CAN_ATTACK_IN_DIRECTION",
32785
+ "[Runtime] Stores whether the AI can use an attack in each direction.",
32786
+ "bool[8]",
32787
+ )
32788
+
32789
+ AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS = Symbol(
32790
+ None,
32791
+ None,
32792
+ None,
32793
+ "AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS",
32794
+ "[Runtime] Stores the directions that the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_WEIGHTS and AI_POTENTIAL_ATTACK_TARGETS.",
32795
+ "struct direction_id_8[8]",
32796
+ )
32797
+
32798
+ AI_POTENTIAL_ATTACK_TARGET_WEIGHTS = Symbol(
32799
+ None,
32800
+ None,
32801
+ None,
32802
+ "AI_POTENTIAL_ATTACK_TARGET_WEIGHTS",
32803
+ "[Runtime] Stores the targeting weights for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGETS.",
32804
+ "uint32_t[8]",
32805
+ )
32806
+
32807
+ AI_POTENTIAL_ATTACK_TARGETS = Symbol(
32808
+ None,
32809
+ None,
32810
+ None,
32811
+ "AI_POTENTIAL_ATTACK_TARGETS",
32812
+ "[Runtime] Stores the target entity for each direction the AI can use an attack in. Parallel to AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS and AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS.",
32813
+ "struct entity*[8]",
32814
+ )
32815
+
32751
32816
  ROLLOUT_ICE_BALL_MISSED = Symbol(
32752
32817
  None,
32753
32818
  None,
@@ -1737,7 +1737,7 @@ class Arm9FunctionsProtocol(Protocol):
1737
1737
  None,
1738
1738
  ]
1739
1739
 
1740
- IsMoveRangeString19: Symbol[
1740
+ IsMoveRangeStringUser: Symbol[
1741
1741
  Optional[list[int]],
1742
1742
  None,
1743
1743
  ]
@@ -15588,6 +15588,11 @@ class Overlay29FunctionsProtocol(Protocol):
15588
15588
  None,
15589
15589
  ]
15590
15590
 
15591
+ CanMonsterMoveOrSwapWithAllyInDirection: Symbol[
15592
+ Optional[list[int]],
15593
+ None,
15594
+ ]
15595
+
15591
15596
  CanAttackInDirection: Symbol[
15592
15597
  Optional[list[int]],
15593
15598
  None,
@@ -16648,6 +16653,11 @@ class Overlay29FunctionsProtocol(Protocol):
16648
16653
  None,
16649
16654
  ]
16650
16655
 
16656
+ ResetAiCanAttackInDirection: Symbol[
16657
+ Optional[list[int]],
16658
+ None,
16659
+ ]
16660
+
16651
16661
  AiConsiderMove: Symbol[
16652
16662
  Optional[list[int]],
16653
16663
  None,
@@ -16663,6 +16673,11 @@ class Overlay29FunctionsProtocol(Protocol):
16663
16673
  None,
16664
16674
  ]
16665
16675
 
16676
+ WeightMoveWithIqSkills: Symbol[
16677
+ Optional[list[int]],
16678
+ None,
16679
+ ]
16680
+
16666
16681
  TargetRegularAttack: Symbol[
16667
16682
  Optional[list[int]],
16668
16683
  None,
@@ -19761,6 +19776,26 @@ class RamDataProtocol(Protocol):
19761
19776
  Optional[int],
19762
19777
  ]
19763
19778
 
19779
+ AI_CAN_ATTACK_IN_DIRECTION: Symbol[
19780
+ Optional[list[int]],
19781
+ Optional[int],
19782
+ ]
19783
+
19784
+ AI_POTENTIAL_ATTACK_TARGET_DIRECTIONS: Symbol[
19785
+ Optional[list[int]],
19786
+ Optional[int],
19787
+ ]
19788
+
19789
+ AI_POTENTIAL_ATTACK_TARGET_WEIGHTS: Symbol[
19790
+ Optional[list[int]],
19791
+ Optional[int],
19792
+ ]
19793
+
19794
+ AI_POTENTIAL_ATTACK_TARGETS: Symbol[
19795
+ Optional[list[int]],
19796
+ Optional[int],
19797
+ ]
19798
+
19764
19799
  ROLLOUT_ICE_BALL_MISSED: Symbol[
19765
19800
  Optional[list[int]],
19766
19801
  Optional[int],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pmdsky-debug-py
3
- Version: 10.1.14
3
+ Version: 10.1.15
4
4
  Summary: pmdsky-debug symbols for Python.
5
5
  Author-email: Marco 'Capypara' Köpcke <hello@capypara.de>
6
6
  License: MIT
@@ -0,0 +1,14 @@
1
+ pmdsky_debug_py/__init__.py,sha256=xvXjdxEqeoQaaS6ssZYVI9jARzv5M4q6FNwA3Z6fOw4,1831
2
+ pmdsky_debug_py/_release.py,sha256=oW4peccnf3LiK6to3pVIlfqQZnm-J4OC_gVHXPiJHYY,31
3
+ pmdsky_debug_py/eu.py,sha256=5Yl0Jgj3jemoy33M0DEWRelMMJQ2RzsUi6bXXNDjUq0,1175763
4
+ pmdsky_debug_py/eu_itcm.py,sha256=kgPgXbZNI66eK_ySXxVx-RszqTwmR0YoZ4V0TumRWks,1123343
5
+ pmdsky_debug_py/jp.py,sha256=4AaTWd8Z_9d9ZxiqhXp0bS2fClNlUY0U0xfch8aR2Yo,1172491
6
+ pmdsky_debug_py/jp_itcm.py,sha256=3meYYolzZO--8JV3fsU-Q95-2_DB1sDhg3E0PLrRJlw,1123343
7
+ pmdsky_debug_py/na.py,sha256=dXtR3A0udv0pE3PKDBewSATViFGpYkEmcLHqM-KQido,1176720
8
+ pmdsky_debug_py/na_itcm.py,sha256=Nm-xoCIiNdJg7RhiNxdLRrUwJks8RBhuoM4fl228rRQ,1123343
9
+ pmdsky_debug_py/protocol.py,sha256=6O_9eNvaK5Y55PxHQL6NOwYgyoXohSMAwXT_9-Q9qdk,343529
10
+ pmdsky_debug_py/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ pmdsky_debug_py-10.1.15.dist-info/METADATA,sha256=aprgKfc6FrAR8fpZZeKrtmKg82_CTr00gXnH74XouT0,1376
12
+ pmdsky_debug_py-10.1.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
13
+ pmdsky_debug_py-10.1.15.dist-info/top_level.txt,sha256=cqvpcJbud2s8IyBAc1MfCySwniko_6qO5LWSSxNIoXI,16
14
+ pmdsky_debug_py-10.1.15.dist-info/RECORD,,
@@ -1,14 +0,0 @@
1
- pmdsky_debug_py/__init__.py,sha256=xvXjdxEqeoQaaS6ssZYVI9jARzv5M4q6FNwA3Z6fOw4,1831
2
- pmdsky_debug_py/_release.py,sha256=MrDjd6IdKDXfbcm06I9KNNxKufFtDqzsfFvD2a0AuSY,31
3
- pmdsky_debug_py/eu.py,sha256=ZlmZujyzHbWU69uVlEyKKL1G3sMXZ3Vmqd9Z0mrELKU,1172503
4
- pmdsky_debug_py/eu_itcm.py,sha256=endPOP3etgWPGsBcg3g70Xdsr7Tqo8ZlDDJwKEBL3wc,1120269
5
- pmdsky_debug_py/jp.py,sha256=aS62hzRHKkrTCL6iMN_SVgCr-I9w5jPWn5PYcEifiHw,1169231
6
- pmdsky_debug_py/jp_itcm.py,sha256=gu6_VldknhVUCI2PM7G_XwhYz5l_Pw3BeLKlE6dxeRI,1120269
7
- pmdsky_debug_py/na.py,sha256=tKWvTlnCwKMyxg0whpZ_ptuNXT3jXO26SL4M7bgiWOo,1173460
8
- pmdsky_debug_py/na_itcm.py,sha256=__LgGcnE9yS0j25lEeGW58n_gvs8ZwVK3920iIL-t2s,1120269
9
- pmdsky_debug_py/protocol.py,sha256=QcB1pNGG1AR076S9Gb3qsada7kFt8n1w3ly4lVGSso8,342831
10
- pmdsky_debug_py/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- pmdsky_debug_py-10.1.14.dist-info/METADATA,sha256=X4nlXJLMw1gmEuOLhCWowLRc5wYdzyaEqm27TI6rRIA,1376
12
- pmdsky_debug_py-10.1.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
13
- pmdsky_debug_py-10.1.14.dist-info/top_level.txt,sha256=cqvpcJbud2s8IyBAc1MfCySwniko_6qO5LWSSxNIoXI,16
14
- pmdsky_debug_py-10.1.14.dist-info/RECORD,,