pmdsky-debug-py 10.1.13__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.
@@ -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
  )
@@ -6000,6 +6000,15 @@ class JpItcmArm9Functions:
6000
6000
  None,
6001
6001
  )
6002
6002
 
6003
+ IsGameModeRescue = Symbol(
6004
+ None,
6005
+ None,
6006
+ None,
6007
+ "IsGameModeRescue",
6008
+ "Returns true if the value of GAME_MODE is GAME_MODE_RESCUE.\n\nreturn: True if GAME_MODE is GAME_MODE_RESCUE.",
6009
+ None,
6010
+ )
6011
+
6003
6012
  InitScriptVariableValues = Symbol(
6004
6013
  None,
6005
6014
  None,
@@ -9206,6 +9215,8 @@ class JpItcmArm9Functions:
9206
9215
  "DirectoryFile_LoadDirectoryFile", LoadFileInPack
9207
9216
  )
9208
9217
 
9218
+ IsMoveRangeString19 = _Deprecated("IsMoveRangeString19", IsMoveRangeStringUser)
9219
+
9209
9220
  GetLowKickMultiplier = _Deprecated("GetLowKickMultiplier", GetWeightMultiplier)
9210
9221
 
9211
9222
 
@@ -11454,12 +11465,12 @@ class JpItcmItcmFunctions:
11454
11465
  None,
11455
11466
  )
11456
11467
 
11457
- ShouldMonsterRunAwayVariationOutlawCheck = Symbol(
11468
+ ShouldMonsterRunAwayAndShowEffectOutlawCheck = Symbol(
11458
11469
  [0x23F8],
11459
11470
  [0x1FFA3F8],
11460
11471
  None,
11461
- "ShouldMonsterRunAwayVariationOutlawCheck",
11462
- "Calls ShouldMonsterRunAwayVariation. If the result is true, returns true. Otherwise, returns true only if the monster's behavior field is equal to monster_behavior::BEHAVIOR_FLEEING_OUTLAW.\n\nr0: Entity pointer\nr1: ?\nreturn: True if ShouldMonsterRunAway returns true or the monster is a fleeing outlaw",
11472
+ "ShouldMonsterRunAwayAndShowEffectOutlawCheck",
11473
+ "Calls ShouldMonsterRunAwayAndShowEffect. If the result is true, returns true. Otherwise, returns true only if the monster's behavior field is equal to monster_behavior::BEHAVIOR_FLEEING_OUTLAW.\n\nr0: Entity pointer\nr1: Boolean value. If true, display a visual 'poof' effect if the Run Away ability caused the monster to run away.\nreturn: True if ShouldMonsterRunAway returns true or the monster is a fleeing outlaw",
11463
11474
  None,
11464
11475
  )
11465
11476
 
@@ -11499,6 +11510,11 @@ class JpItcmItcmFunctions:
11499
11510
  None,
11500
11511
  )
11501
11512
 
11513
+ ShouldMonsterRunAwayVariationOutlawCheck = _Deprecated(
11514
+ "ShouldMonsterRunAwayVariationOutlawCheck",
11515
+ ShouldMonsterRunAwayAndShowEffectOutlawCheck,
11516
+ )
11517
+
11502
11518
 
11503
11519
  class JpItcmItcmData:
11504
11520
 
@@ -23611,6 +23627,15 @@ class JpItcmOverlay29Functions:
23611
23627
  None,
23612
23628
  )
23613
23629
 
23630
+ PlayEffectAnimation0x29 = Symbol(
23631
+ None,
23632
+ None,
23633
+ None,
23634
+ "PlayEffectAnimation0x29",
23635
+ "Calls PlayEffectAnimation with data from animation ID 0x29.\n\nr0: entity pointer",
23636
+ None,
23637
+ )
23638
+
23614
23639
  PlayEffectAnimation0x18E = Symbol(
23615
23640
  None,
23616
23641
  None,
@@ -25456,6 +25481,15 @@ class JpItcmOverlay29Functions:
25456
25481
  None,
25457
25482
  )
25458
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
+
25459
25493
  CanAttackInDirection = Symbol(
25460
25494
  None,
25461
25495
  None,
@@ -25483,12 +25517,21 @@ class JpItcmOverlay29Functions:
25483
25517
  None,
25484
25518
  )
25485
25519
 
25486
- ShouldMonsterRunAwayVariation = Symbol(
25520
+ ShouldMonsterRunAwayAndShowEffect = Symbol(
25521
+ None,
25522
+ None,
25523
+ None,
25524
+ "ShouldMonsterRunAwayAndShowEffect",
25525
+ "Calls ShouldMonsterRunAway and returns its result. It also calls DisplayRunAwayIfTriggered if the result was true.\n\nr0: Entity pointer\nr1: Boolean value. If true, display a visual 'poof' effect if the Run Away ability caused the monster to run away.\nreturn: Result of the call to ShouldMonsterRunAway",
25526
+ None,
25527
+ )
25528
+
25529
+ DisplayRunAwayIfTriggered = Symbol(
25487
25530
  None,
25488
25531
  None,
25489
25532
  None,
25490
- "ShouldMonsterRunAwayVariation",
25491
- "Calls ShouldMonsterRunAway and returns its result. It also calls another function if the result was true.\n\nr0: Entity pointer\nr1: ?\nreturn: Result of the call to ShouldMonsterRunAway",
25533
+ "DisplayRunAwayIfTriggered",
25534
+ "If the Run Away ability has triggered on the entity and r1 is true, displays the visual 'poof' effect indicating Run Away.\n\nr0: Entity pointer\nr1: Boolean value. If true, display a visual 'poof' effect if the Run Away ability caused the monster to run away.",
25492
25535
  None,
25493
25536
  )
25494
25537
 
@@ -27355,12 +27398,21 @@ class JpItcmOverlay29Functions:
27355
27398
  None,
27356
27399
  )
27357
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
+
27358
27410
  AiConsiderMove = Symbol(
27359
27411
  None,
27360
27412
  None,
27361
27413
  None,
27362
27414
  "AiConsiderMove",
27363
- "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",
27364
27416
  None,
27365
27417
  )
27366
27418
 
@@ -27382,6 +27434,15 @@ class JpItcmOverlay29Functions:
27382
27434
  None,
27383
27435
  )
27384
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
+
27385
27446
  TargetRegularAttack = Symbol(
27386
27447
  None,
27387
27448
  None,
@@ -30041,6 +30102,10 @@ class JpItcmOverlay29Functions:
30041
30102
  None,
30042
30103
  )
30043
30104
 
30105
+ ShouldMonsterRunAwayVariation = _Deprecated(
30106
+ "ShouldMonsterRunAwayVariation", ShouldMonsterRunAwayAndShowEffect
30107
+ )
30108
+
30044
30109
 
30045
30110
  class JpItcmOverlay29Data:
30046
30111
 
@@ -32712,6 +32777,42 @@ class JpItcmRamData:
32712
32777
  "uint32_t[8]",
32713
32778
  )
32714
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
+
32715
32816
  ROLLOUT_ICE_BALL_MISSED = Symbol(
32716
32817
  None,
32717
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
  )
@@ -6046,6 +6046,15 @@ class NaArm9Functions:
6046
6046
  None,
6047
6047
  )
6048
6048
 
6049
+ IsGameModeRescue = Symbol(
6050
+ [0x4AFF8],
6051
+ [0x204AFF8],
6052
+ None,
6053
+ "IsGameModeRescue",
6054
+ "Returns true if the value of GAME_MODE is GAME_MODE_RESCUE.\n\nreturn: True if GAME_MODE is GAME_MODE_RESCUE.",
6055
+ None,
6056
+ )
6057
+
6049
6058
  InitScriptVariableValues = Symbol(
6050
6059
  [0x4B04C],
6051
6060
  [0x204B04C],
@@ -9252,6 +9261,8 @@ class NaArm9Functions:
9252
9261
  "DirectoryFile_LoadDirectoryFile", LoadFileInPack
9253
9262
  )
9254
9263
 
9264
+ IsMoveRangeString19 = _Deprecated("IsMoveRangeString19", IsMoveRangeStringUser)
9265
+
9255
9266
  GetLowKickMultiplier = _Deprecated("GetLowKickMultiplier", GetWeightMultiplier)
9256
9267
 
9257
9268
 
@@ -11520,12 +11531,12 @@ class NaItcmFunctions:
11520
11531
  None,
11521
11532
  )
11522
11533
 
11523
- ShouldMonsterRunAwayVariationOutlawCheck = Symbol(
11534
+ ShouldMonsterRunAwayAndShowEffectOutlawCheck = Symbol(
11524
11535
  [0x2390],
11525
11536
  [0x20B5710],
11526
11537
  None,
11527
- "ShouldMonsterRunAwayVariationOutlawCheck",
11528
- "Calls ShouldMonsterRunAwayVariation. If the result is true, returns true. Otherwise, returns true only if the monster's behavior field is equal to monster_behavior::BEHAVIOR_FLEEING_OUTLAW.\n\nr0: Entity pointer\nr1: ?\nreturn: True if ShouldMonsterRunAway returns true or the monster is a fleeing outlaw",
11538
+ "ShouldMonsterRunAwayAndShowEffectOutlawCheck",
11539
+ "Calls ShouldMonsterRunAwayAndShowEffect. If the result is true, returns true. Otherwise, returns true only if the monster's behavior field is equal to monster_behavior::BEHAVIOR_FLEEING_OUTLAW.\n\nr0: Entity pointer\nr1: Boolean value. If true, display a visual 'poof' effect if the Run Away ability caused the monster to run away.\nreturn: True if ShouldMonsterRunAway returns true or the monster is a fleeing outlaw",
11529
11540
  None,
11530
11541
  )
11531
11542
 
@@ -11565,6 +11576,11 @@ class NaItcmFunctions:
11565
11576
  None,
11566
11577
  )
11567
11578
 
11579
+ ShouldMonsterRunAwayVariationOutlawCheck = _Deprecated(
11580
+ "ShouldMonsterRunAwayVariationOutlawCheck",
11581
+ ShouldMonsterRunAwayAndShowEffectOutlawCheck,
11582
+ )
11583
+
11568
11584
 
11569
11585
  class NaItcmData:
11570
11586
 
@@ -24138,6 +24154,15 @@ class NaOverlay29Functions:
24138
24154
  None,
24139
24155
  )
24140
24156
 
24157
+ PlayEffectAnimation0x29 = Symbol(
24158
+ [0xA068],
24159
+ [0x22E62A8],
24160
+ None,
24161
+ "PlayEffectAnimation0x29",
24162
+ "Calls PlayEffectAnimation with data from animation ID 0x29.\n\nr0: entity pointer",
24163
+ None,
24164
+ )
24165
+
24141
24166
  PlayEffectAnimation0x18E = Symbol(
24142
24167
  [0xA198],
24143
24168
  [0x22E63D8],
@@ -26029,6 +26054,15 @@ class NaOverlay29Functions:
26029
26054
  None,
26030
26055
  )
26031
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
+
26032
26066
  CanAttackInDirection = Symbol(
26033
26067
  [0x24FF4],
26034
26068
  [0x2301234],
@@ -26056,12 +26090,21 @@ class NaOverlay29Functions:
26056
26090
  None,
26057
26091
  )
26058
26092
 
26059
- ShouldMonsterRunAwayVariation = Symbol(
26093
+ ShouldMonsterRunAwayAndShowEffect = Symbol(
26060
26094
  [0x25468],
26061
26095
  [0x23016A8],
26062
26096
  None,
26063
- "ShouldMonsterRunAwayVariation",
26064
- "Calls ShouldMonsterRunAway and returns its result. It also calls another function if the result was true.\n\nr0: Entity pointer\nr1: ?\nreturn: Result of the call to ShouldMonsterRunAway",
26097
+ "ShouldMonsterRunAwayAndShowEffect",
26098
+ "Calls ShouldMonsterRunAway and returns its result. It also calls DisplayRunAwayIfTriggered if the result was true.\n\nr0: Entity pointer\nr1: Boolean value. If true, display a visual 'poof' effect if the Run Away ability caused the monster to run away.\nreturn: Result of the call to ShouldMonsterRunAway",
26099
+ None,
26100
+ )
26101
+
26102
+ DisplayRunAwayIfTriggered = Symbol(
26103
+ [0x25498],
26104
+ [0x23016D8],
26105
+ None,
26106
+ "DisplayRunAwayIfTriggered",
26107
+ "If the Run Away ability has triggered on the entity and r1 is true, displays the visual 'poof' effect indicating Run Away.\n\nr0: Entity pointer\nr1: Boolean value. If true, display a visual 'poof' effect if the Run Away ability caused the monster to run away.",
26065
26108
  None,
26066
26109
  )
26067
26110
 
@@ -27928,12 +27971,21 @@ class NaOverlay29Functions:
27928
27971
  None,
27929
27972
  )
27930
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
+
27931
27983
  AiConsiderMove = Symbol(
27932
27984
  [0x3D640],
27933
27985
  [0x2319880],
27934
27986
  None,
27935
27987
  "AiConsiderMove",
27936
- "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",
27937
27989
  None,
27938
27990
  )
27939
27991
 
@@ -27955,6 +28007,15 @@ class NaOverlay29Functions:
27955
28007
  None,
27956
28008
  )
27957
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
+
27958
28019
  TargetRegularAttack = Symbol(
27959
28020
  [0x3E220],
27960
28021
  [0x231A460],
@@ -30619,6 +30680,10 @@ class NaOverlay29Functions:
30619
30680
  None,
30620
30681
  )
30621
30682
 
30683
+ ShouldMonsterRunAwayVariation = _Deprecated(
30684
+ "ShouldMonsterRunAwayVariation", ShouldMonsterRunAwayAndShowEffect
30685
+ )
30686
+
30622
30687
 
30623
30688
  class NaOverlay29Data:
30624
30689
 
@@ -31315,8 +31380,8 @@ class NaOverlay29Data:
31315
31380
  )
31316
31381
 
31317
31382
  DIRECTIONAL_BIT_MASKS = Symbol(
31318
- [0x76558],
31319
- [0x2352798],
31383
+ [0x76530, 0x76538, 0x76540, 0x76548, 0x76550, 0x76558],
31384
+ [0x2352770, 0x2352778, 0x2352780, 0x2352788, 0x2352790, 0x2352798],
31320
31385
  0x8,
31321
31386
  "DIRECTIONAL_BIT_MASKS",
31322
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.",
@@ -33432,6 +33497,42 @@ class NaRamData:
33432
33497
  "uint32_t[8]",
33433
33498
  )
33434
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
+
33435
33536
  ROLLOUT_ICE_BALL_MISSED = Symbol(
33436
33537
  [0x37CA69],
33437
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
  )
@@ -6000,6 +6000,15 @@ class NaItcmArm9Functions:
6000
6000
  None,
6001
6001
  )
6002
6002
 
6003
+ IsGameModeRescue = Symbol(
6004
+ None,
6005
+ None,
6006
+ None,
6007
+ "IsGameModeRescue",
6008
+ "Returns true if the value of GAME_MODE is GAME_MODE_RESCUE.\n\nreturn: True if GAME_MODE is GAME_MODE_RESCUE.",
6009
+ None,
6010
+ )
6011
+
6003
6012
  InitScriptVariableValues = Symbol(
6004
6013
  None,
6005
6014
  None,
@@ -9206,6 +9215,8 @@ class NaItcmArm9Functions:
9206
9215
  "DirectoryFile_LoadDirectoryFile", LoadFileInPack
9207
9216
  )
9208
9217
 
9218
+ IsMoveRangeString19 = _Deprecated("IsMoveRangeString19", IsMoveRangeStringUser)
9219
+
9209
9220
  GetLowKickMultiplier = _Deprecated("GetLowKickMultiplier", GetWeightMultiplier)
9210
9221
 
9211
9222
 
@@ -11454,12 +11465,12 @@ class NaItcmItcmFunctions:
11454
11465
  None,
11455
11466
  )
11456
11467
 
11457
- ShouldMonsterRunAwayVariationOutlawCheck = Symbol(
11468
+ ShouldMonsterRunAwayAndShowEffectOutlawCheck = Symbol(
11458
11469
  [0x2390],
11459
11470
  [0x1FFA390],
11460
11471
  None,
11461
- "ShouldMonsterRunAwayVariationOutlawCheck",
11462
- "Calls ShouldMonsterRunAwayVariation. If the result is true, returns true. Otherwise, returns true only if the monster's behavior field is equal to monster_behavior::BEHAVIOR_FLEEING_OUTLAW.\n\nr0: Entity pointer\nr1: ?\nreturn: True if ShouldMonsterRunAway returns true or the monster is a fleeing outlaw",
11472
+ "ShouldMonsterRunAwayAndShowEffectOutlawCheck",
11473
+ "Calls ShouldMonsterRunAwayAndShowEffect. If the result is true, returns true. Otherwise, returns true only if the monster's behavior field is equal to monster_behavior::BEHAVIOR_FLEEING_OUTLAW.\n\nr0: Entity pointer\nr1: Boolean value. If true, display a visual 'poof' effect if the Run Away ability caused the monster to run away.\nreturn: True if ShouldMonsterRunAway returns true or the monster is a fleeing outlaw",
11463
11474
  None,
11464
11475
  )
11465
11476
 
@@ -11499,6 +11510,11 @@ class NaItcmItcmFunctions:
11499
11510
  None,
11500
11511
  )
11501
11512
 
11513
+ ShouldMonsterRunAwayVariationOutlawCheck = _Deprecated(
11514
+ "ShouldMonsterRunAwayVariationOutlawCheck",
11515
+ ShouldMonsterRunAwayAndShowEffectOutlawCheck,
11516
+ )
11517
+
11502
11518
 
11503
11519
  class NaItcmItcmData:
11504
11520
 
@@ -23611,6 +23627,15 @@ class NaItcmOverlay29Functions:
23611
23627
  None,
23612
23628
  )
23613
23629
 
23630
+ PlayEffectAnimation0x29 = Symbol(
23631
+ None,
23632
+ None,
23633
+ None,
23634
+ "PlayEffectAnimation0x29",
23635
+ "Calls PlayEffectAnimation with data from animation ID 0x29.\n\nr0: entity pointer",
23636
+ None,
23637
+ )
23638
+
23614
23639
  PlayEffectAnimation0x18E = Symbol(
23615
23640
  None,
23616
23641
  None,
@@ -25456,6 +25481,15 @@ class NaItcmOverlay29Functions:
25456
25481
  None,
25457
25482
  )
25458
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
+
25459
25493
  CanAttackInDirection = Symbol(
25460
25494
  None,
25461
25495
  None,
@@ -25483,12 +25517,21 @@ class NaItcmOverlay29Functions:
25483
25517
  None,
25484
25518
  )
25485
25519
 
25486
- ShouldMonsterRunAwayVariation = Symbol(
25520
+ ShouldMonsterRunAwayAndShowEffect = Symbol(
25521
+ None,
25522
+ None,
25523
+ None,
25524
+ "ShouldMonsterRunAwayAndShowEffect",
25525
+ "Calls ShouldMonsterRunAway and returns its result. It also calls DisplayRunAwayIfTriggered if the result was true.\n\nr0: Entity pointer\nr1: Boolean value. If true, display a visual 'poof' effect if the Run Away ability caused the monster to run away.\nreturn: Result of the call to ShouldMonsterRunAway",
25526
+ None,
25527
+ )
25528
+
25529
+ DisplayRunAwayIfTriggered = Symbol(
25487
25530
  None,
25488
25531
  None,
25489
25532
  None,
25490
- "ShouldMonsterRunAwayVariation",
25491
- "Calls ShouldMonsterRunAway and returns its result. It also calls another function if the result was true.\n\nr0: Entity pointer\nr1: ?\nreturn: Result of the call to ShouldMonsterRunAway",
25533
+ "DisplayRunAwayIfTriggered",
25534
+ "If the Run Away ability has triggered on the entity and r1 is true, displays the visual 'poof' effect indicating Run Away.\n\nr0: Entity pointer\nr1: Boolean value. If true, display a visual 'poof' effect if the Run Away ability caused the monster to run away.",
25492
25535
  None,
25493
25536
  )
25494
25537
 
@@ -27355,12 +27398,21 @@ class NaItcmOverlay29Functions:
27355
27398
  None,
27356
27399
  )
27357
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
+
27358
27410
  AiConsiderMove = Symbol(
27359
27411
  None,
27360
27412
  None,
27361
27413
  None,
27362
27414
  "AiConsiderMove",
27363
- "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",
27364
27416
  None,
27365
27417
  )
27366
27418
 
@@ -27382,6 +27434,15 @@ class NaItcmOverlay29Functions:
27382
27434
  None,
27383
27435
  )
27384
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
+
27385
27446
  TargetRegularAttack = Symbol(
27386
27447
  None,
27387
27448
  None,
@@ -30041,6 +30102,10 @@ class NaItcmOverlay29Functions:
30041
30102
  None,
30042
30103
  )
30043
30104
 
30105
+ ShouldMonsterRunAwayVariation = _Deprecated(
30106
+ "ShouldMonsterRunAwayVariation", ShouldMonsterRunAwayAndShowEffect
30107
+ )
30108
+
30044
30109
 
30045
30110
  class NaItcmOverlay29Data:
30046
30111
 
@@ -32712,6 +32777,42 @@ class NaItcmRamData:
32712
32777
  "uint32_t[8]",
32713
32778
  )
32714
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
+
32715
32816
  ROLLOUT_ICE_BALL_MISSED = Symbol(
32716
32817
  None,
32717
32818
  None,