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