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.
@@ -1 +1 @@
1
- RELEASE = "v0.10.1+713df4ce86"
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
  )
@@ -6046,6 +6046,15 @@ class EuArm9Functions:
6046
6046
  None,
6047
6047
  )
6048
6048
 
6049
+ IsGameModeRescue = Symbol(
6050
+ [0x4B330],
6051
+ [0x204B330],
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
  [0x4B384],
6051
6060
  [0x204B384],
@@ -9252,6 +9261,8 @@ class EuArm9Functions:
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 EuItcmFunctions:
11520
11531
  None,
11521
11532
  )
11522
11533
 
11523
- ShouldMonsterRunAwayVariationOutlawCheck = Symbol(
11534
+ ShouldMonsterRunAwayAndShowEffectOutlawCheck = Symbol(
11524
11535
  [0x2390],
11525
11536
  [0x20B6050],
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 EuItcmFunctions:
11565
11576
  None,
11566
11577
  )
11567
11578
 
11579
+ ShouldMonsterRunAwayVariationOutlawCheck = _Deprecated(
11580
+ "ShouldMonsterRunAwayVariationOutlawCheck",
11581
+ ShouldMonsterRunAwayAndShowEffectOutlawCheck,
11582
+ )
11583
+
11568
11584
 
11569
11585
  class EuItcmData:
11570
11586
 
@@ -24140,6 +24156,15 @@ class EuOverlay29Functions:
24140
24156
  None,
24141
24157
  )
24142
24158
 
24159
+ PlayEffectAnimation0x29 = Symbol(
24160
+ [0xA0D8],
24161
+ [0x22E6C58],
24162
+ None,
24163
+ "PlayEffectAnimation0x29",
24164
+ "Calls PlayEffectAnimation with data from animation ID 0x29.\n\nr0: entity pointer",
24165
+ None,
24166
+ )
24167
+
24143
24168
  PlayEffectAnimation0x18E = Symbol(
24144
24169
  [0xA208],
24145
24170
  [0x22E6D88],
@@ -26031,6 +26056,15 @@ class EuOverlay29Functions:
26031
26056
  None,
26032
26057
  )
26033
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
+
26034
26068
  CanAttackInDirection = Symbol(
26035
26069
  [0x250E0],
26036
26070
  [0x2301C60],
@@ -26058,12 +26092,21 @@ class EuOverlay29Functions:
26058
26092
  None,
26059
26093
  )
26060
26094
 
26061
- ShouldMonsterRunAwayVariation = Symbol(
26095
+ ShouldMonsterRunAwayAndShowEffect = Symbol(
26062
26096
  [0x25554],
26063
26097
  [0x23020D4],
26064
26098
  None,
26065
- "ShouldMonsterRunAwayVariation",
26066
- "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",
26099
+ "ShouldMonsterRunAwayAndShowEffect",
26100
+ "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",
26101
+ None,
26102
+ )
26103
+
26104
+ DisplayRunAwayIfTriggered = Symbol(
26105
+ [0x25584],
26106
+ [0x2302104],
26107
+ None,
26108
+ "DisplayRunAwayIfTriggered",
26109
+ "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.",
26067
26110
  None,
26068
26111
  )
26069
26112
 
@@ -27930,12 +27973,21 @@ class EuOverlay29Functions:
27930
27973
  None,
27931
27974
  )
27932
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
+
27933
27985
  AiConsiderMove = Symbol(
27934
27986
  [0x3D760],
27935
27987
  [0x231A2E0],
27936
27988
  None,
27937
27989
  "AiConsiderMove",
27938
- "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",
27939
27991
  None,
27940
27992
  )
27941
27993
 
@@ -27957,6 +28009,15 @@ class EuOverlay29Functions:
27957
28009
  None,
27958
28010
  )
27959
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
+
27960
28021
  TargetRegularAttack = Symbol(
27961
28022
  [0x3E340],
27962
28023
  [0x231AEC0],
@@ -30621,6 +30682,10 @@ class EuOverlay29Functions:
30621
30682
  None,
30622
30683
  )
30623
30684
 
30685
+ ShouldMonsterRunAwayVariation = _Deprecated(
30686
+ "ShouldMonsterRunAwayVariation", ShouldMonsterRunAwayAndShowEffect
30687
+ )
30688
+
30624
30689
 
30625
30690
  class EuOverlay29Data:
30626
30691
 
@@ -31317,8 +31382,8 @@ class EuOverlay29Data:
31317
31382
  )
31318
31383
 
31319
31384
  DIRECTIONAL_BIT_MASKS = Symbol(
31320
- [0x76824],
31321
- [0x23533A4],
31385
+ [0x767FC, 0x76804, 0x7680C, 0x76814, 0x7681C, 0x76824],
31386
+ [0x235337C, 0x2353384, 0x235338C, 0x2353394, 0x235339C, 0x23533A4],
31322
31387
  0x8,
31323
31388
  "DIRECTIONAL_BIT_MASKS",
31324
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.",
@@ -33434,6 +33499,42 @@ class EuRamData:
33434
33499
  "uint32_t[8]",
33435
33500
  )
33436
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
+
33437
33538
  ROLLOUT_ICE_BALL_MISSED = Symbol(
33438
33539
  [0x37D669],
33439
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
  )
@@ -6000,6 +6000,15 @@ class EuItcmArm9Functions:
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 EuItcmArm9Functions:
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 EuItcmItcmFunctions:
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 EuItcmItcmFunctions:
11499
11510
  None,
11500
11511
  )
11501
11512
 
11513
+ ShouldMonsterRunAwayVariationOutlawCheck = _Deprecated(
11514
+ "ShouldMonsterRunAwayVariationOutlawCheck",
11515
+ ShouldMonsterRunAwayAndShowEffectOutlawCheck,
11516
+ )
11517
+
11502
11518
 
11503
11519
  class EuItcmItcmData:
11504
11520
 
@@ -23611,6 +23627,15 @@ class EuItcmOverlay29Functions:
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 EuItcmOverlay29Functions:
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 EuItcmOverlay29Functions:
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 EuItcmOverlay29Functions:
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 EuItcmOverlay29Functions:
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 EuItcmOverlay29Functions:
30041
30102
  None,
30042
30103
  )
30043
30104
 
30105
+ ShouldMonsterRunAwayVariation = _Deprecated(
30106
+ "ShouldMonsterRunAwayVariation", ShouldMonsterRunAwayAndShowEffect
30107
+ )
30108
+
30044
30109
 
30045
30110
  class EuItcmOverlay29Data:
30046
30111
 
@@ -32712,6 +32777,42 @@ class EuItcmRamData:
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/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
  )
@@ -6046,6 +6046,15 @@ class JpArm9Functions:
6046
6046
  None,
6047
6047
  )
6048
6048
 
6049
+ IsGameModeRescue = Symbol(
6050
+ [0x4B360],
6051
+ [0x204B360],
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
  [0x4B3B4],
6051
6060
  [0x204B3B4],
@@ -9252,6 +9261,8 @@ class JpArm9Functions:
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
 
@@ -11515,12 +11526,12 @@ class JpItcmFunctions:
11515
11526
  None,
11516
11527
  )
11517
11528
 
11518
- ShouldMonsterRunAwayVariationOutlawCheck = Symbol(
11529
+ ShouldMonsterRunAwayAndShowEffectOutlawCheck = Symbol(
11519
11530
  [0x23F8],
11520
11531
  [0x20B6FD8],
11521
11532
  None,
11522
- "ShouldMonsterRunAwayVariationOutlawCheck",
11523
- "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",
11533
+ "ShouldMonsterRunAwayAndShowEffectOutlawCheck",
11534
+ "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",
11524
11535
  None,
11525
11536
  )
11526
11537
 
@@ -11560,6 +11571,11 @@ class JpItcmFunctions:
11560
11571
  None,
11561
11572
  )
11562
11573
 
11574
+ ShouldMonsterRunAwayVariationOutlawCheck = _Deprecated(
11575
+ "ShouldMonsterRunAwayVariationOutlawCheck",
11576
+ ShouldMonsterRunAwayAndShowEffectOutlawCheck,
11577
+ )
11578
+
11563
11579
 
11564
11580
  class JpItcmData:
11565
11581
 
@@ -24131,6 +24147,15 @@ class JpOverlay29Functions:
24131
24147
  None,
24132
24148
  )
24133
24149
 
24150
+ PlayEffectAnimation0x29 = Symbol(
24151
+ [0xA038],
24152
+ [0x22E7918],
24153
+ None,
24154
+ "PlayEffectAnimation0x29",
24155
+ "Calls PlayEffectAnimation with data from animation ID 0x29.\n\nr0: entity pointer",
24156
+ None,
24157
+ )
24158
+
24134
24159
  PlayEffectAnimation0x18E = Symbol(
24135
24160
  [0xA168],
24136
24161
  [0x22E7A48],
@@ -26022,6 +26047,15 @@ class JpOverlay29Functions:
26022
26047
  None,
26023
26048
  )
26024
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
+
26025
26059
  CanAttackInDirection = Symbol(
26026
26060
  [0x24DB4],
26027
26061
  [0x2302694],
@@ -26049,12 +26083,21 @@ class JpOverlay29Functions:
26049
26083
  None,
26050
26084
  )
26051
26085
 
26052
- ShouldMonsterRunAwayVariation = Symbol(
26086
+ ShouldMonsterRunAwayAndShowEffect = Symbol(
26053
26087
  [0x25338],
26054
26088
  [0x2302C18],
26055
26089
  None,
26056
- "ShouldMonsterRunAwayVariation",
26057
- "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",
26090
+ "ShouldMonsterRunAwayAndShowEffect",
26091
+ "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",
26092
+ None,
26093
+ )
26094
+
26095
+ DisplayRunAwayIfTriggered = Symbol(
26096
+ [0x25368],
26097
+ [0x2302C48],
26098
+ None,
26099
+ "DisplayRunAwayIfTriggered",
26100
+ "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.",
26058
26101
  None,
26059
26102
  )
26060
26103
 
@@ -27921,12 +27964,21 @@ class JpOverlay29Functions:
27921
27964
  None,
27922
27965
  )
27923
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
+
27924
27976
  AiConsiderMove = Symbol(
27925
27977
  [0x3D470],
27926
27978
  [0x231AD50],
27927
27979
  None,
27928
27980
  "AiConsiderMove",
27929
- "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",
27930
27982
  None,
27931
27983
  )
27932
27984
 
@@ -27948,6 +28000,15 @@ class JpOverlay29Functions:
27948
28000
  None,
27949
28001
  )
27950
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
+
27951
28012
  TargetRegularAttack = Symbol(
27952
28013
  [0x3E050],
27953
28014
  [0x231B930],
@@ -30612,6 +30673,10 @@ class JpOverlay29Functions:
30612
30673
  None,
30613
30674
  )
30614
30675
 
30676
+ ShouldMonsterRunAwayVariation = _Deprecated(
30677
+ "ShouldMonsterRunAwayVariation", ShouldMonsterRunAwayAndShowEffect
30678
+ )
30679
+
30615
30680
 
30616
30681
  class JpOverlay29Data:
30617
30682
 
@@ -31210,8 +31275,8 @@ class JpOverlay29Data:
31210
31275
  )
31211
31276
 
31212
31277
  DIRECTIONAL_BIT_MASKS = Symbol(
31213
- [0x76138],
31214
- [0x2353A18],
31278
+ [0x76110, 0x76118, 0x76120, 0x76128, 0x76130, 0x76138],
31279
+ [0x23539F0, 0x23539F8, 0x2353A00, 0x2353A08, 0x2353A10, 0x2353A18],
31215
31280
  0x8,
31216
31281
  "DIRECTIONAL_BIT_MASKS",
31217
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.",
@@ -33322,6 +33387,42 @@ class JpRamData:
33322
33387
  "uint32_t[8]",
33323
33388
  )
33324
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
+
33325
33426
  ROLLOUT_ICE_BALL_MISSED = Symbol(
33326
33427
  [0x37DCE9],
33327
33428
  [0x237DCE9],