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/_release.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
RELEASE = "v0.10.0+
|
|
1
|
+
RELEASE = "v0.10.0+922724f961"
|
pmdsky_debug_py/eu.py
CHANGED
|
@@ -1785,7 +1785,7 @@ class EuArm9Functions:
|
|
|
1785
1785
|
[0x200EB48],
|
|
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
|
|
|
@@ -24188,6 +24188,15 @@ class EuOverlay29Functions:
|
|
|
24188
24188
|
None,
|
|
24189
24189
|
)
|
|
24190
24190
|
|
|
24191
|
+
SetDecoyAiTracker = Symbol(
|
|
24192
|
+
[0x1F3C4],
|
|
24193
|
+
[0x22FBF44],
|
|
24194
|
+
None,
|
|
24195
|
+
"SetDecoyAiTracker",
|
|
24196
|
+
"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",
|
|
24197
|
+
None,
|
|
24198
|
+
)
|
|
24199
|
+
|
|
24191
24200
|
CheckSpawnThreshold = Symbol(
|
|
24192
24201
|
[0x1F478],
|
|
24193
24202
|
[0x22FBFF8],
|
|
@@ -24602,6 +24611,33 @@ class EuOverlay29Functions:
|
|
|
24602
24611
|
None,
|
|
24603
24612
|
)
|
|
24604
24613
|
|
|
24614
|
+
CheckVariousStatuses2 = Symbol(
|
|
24615
|
+
[0x246C4],
|
|
24616
|
+
[0x2301244],
|
|
24617
|
+
None,
|
|
24618
|
+
"CheckVariousStatuses2",
|
|
24619
|
+
"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",
|
|
24620
|
+
None,
|
|
24621
|
+
)
|
|
24622
|
+
|
|
24623
|
+
CheckVariousConditions = Symbol(
|
|
24624
|
+
[0x249EC],
|
|
24625
|
+
[0x230156C],
|
|
24626
|
+
None,
|
|
24627
|
+
"CheckVariousConditions",
|
|
24628
|
+
"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",
|
|
24629
|
+
None,
|
|
24630
|
+
)
|
|
24631
|
+
|
|
24632
|
+
CheckVariousStatuses = Symbol(
|
|
24633
|
+
[0x24B5C],
|
|
24634
|
+
[0x23016DC],
|
|
24635
|
+
None,
|
|
24636
|
+
"CheckVariousStatuses",
|
|
24637
|
+
"Returns 0 if none of these conditions holds for the given entity: asleep, frozen, petrified, biding.\n\nr0: Entity pointer\nreturn: bool",
|
|
24638
|
+
None,
|
|
24639
|
+
)
|
|
24640
|
+
|
|
24605
24641
|
CanMonsterMoveInDirection = Symbol(
|
|
24606
24642
|
[0x24D24],
|
|
24607
24643
|
[0x23018A4],
|
|
@@ -24827,6 +24863,15 @@ class EuOverlay29Functions:
|
|
|
24827
24863
|
None,
|
|
24828
24864
|
)
|
|
24829
24865
|
|
|
24866
|
+
MonsterCanThrowItems = Symbol(
|
|
24867
|
+
[0x26214],
|
|
24868
|
+
[0x2302D94],
|
|
24869
|
+
None,
|
|
24870
|
+
"MonsterCanThrowItems",
|
|
24871
|
+
"Returns a boolean indicating whether or not the given monster can throw items based on its monster id.\n\nr0: Monster pointer\nreturn: bool",
|
|
24872
|
+
None,
|
|
24873
|
+
)
|
|
24874
|
+
|
|
24830
24875
|
UpdateStateFlags = Symbol(
|
|
24831
24876
|
[0x2626C],
|
|
24832
24877
|
[0x2302DEC],
|
|
@@ -25358,6 +25403,33 @@ class EuOverlay29Functions:
|
|
|
25358
25403
|
None,
|
|
25359
25404
|
)
|
|
25360
25405
|
|
|
25406
|
+
AiDecideUseItem = Symbol(
|
|
25407
|
+
[0x32808],
|
|
25408
|
+
[0x230F388],
|
|
25409
|
+
None,
|
|
25410
|
+
"AiDecideUseItem",
|
|
25411
|
+
"Decides whether or not an AI should use its held item and updates its action_data fields accordingly.\n\nr0: Entity pointer",
|
|
25412
|
+
None,
|
|
25413
|
+
)
|
|
25414
|
+
|
|
25415
|
+
GetPossibleAiThrownItemDirections = Symbol(
|
|
25416
|
+
[0x32CA4],
|
|
25417
|
+
[0x230F824],
|
|
25418
|
+
None,
|
|
25419
|
+
"GetPossibleAiThrownItemDirections",
|
|
25420
|
+
"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.",
|
|
25421
|
+
None,
|
|
25422
|
+
)
|
|
25423
|
+
|
|
25424
|
+
GetPossibleAiArcItemTargets = Symbol(
|
|
25425
|
+
[0x32F20],
|
|
25426
|
+
[0x230FAA0],
|
|
25427
|
+
None,
|
|
25428
|
+
"GetPossibleAiArcItemTargets",
|
|
25429
|
+
"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.",
|
|
25430
|
+
None,
|
|
25431
|
+
)
|
|
25432
|
+
|
|
25361
25433
|
TryNonLeaderItemPickUp = Symbol(
|
|
25362
25434
|
[0x33058],
|
|
25363
25435
|
[0x230FBD8],
|
|
@@ -25367,6 +25439,15 @@ class EuOverlay29Functions:
|
|
|
25367
25439
|
None,
|
|
25368
25440
|
)
|
|
25369
25441
|
|
|
25442
|
+
GetExclusiveItemWithEffectFromBag = Symbol(
|
|
25443
|
+
[0x33548],
|
|
25444
|
+
[0x23100C8],
|
|
25445
|
+
None,
|
|
25446
|
+
"GetExclusiveItemWithEffectFromBag",
|
|
25447
|
+
"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",
|
|
25448
|
+
None,
|
|
25449
|
+
)
|
|
25450
|
+
|
|
25370
25451
|
AuraBowIsActive = Symbol(
|
|
25371
25452
|
[0x335BC],
|
|
25372
25453
|
[0x231013C],
|
|
@@ -26924,6 +27005,15 @@ class EuOverlay29Functions:
|
|
|
26924
27005
|
None,
|
|
26925
27006
|
)
|
|
26926
27007
|
|
|
27008
|
+
IsChargingAnyTwoTurnMove = Symbol(
|
|
27009
|
+
[0x48504],
|
|
27010
|
+
[0x2325084],
|
|
27011
|
+
None,
|
|
27012
|
+
"IsChargingAnyTwoTurnMove",
|
|
27013
|
+
"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",
|
|
27014
|
+
None,
|
|
27015
|
+
)
|
|
27016
|
+
|
|
26927
27017
|
HasMaxGinsengBoost99 = Symbol(
|
|
26928
27018
|
[0x48680],
|
|
26929
27019
|
[0x2325200],
|
|
@@ -27095,6 +27185,15 @@ class EuOverlay29Functions:
|
|
|
27095
27185
|
None,
|
|
27096
27186
|
)
|
|
27097
27187
|
|
|
27188
|
+
CanHitWithRegularAttack = Symbol(
|
|
27189
|
+
[0x56E88],
|
|
27190
|
+
[0x2333A08],
|
|
27191
|
+
None,
|
|
27192
|
+
"CanHitWithRegularAttack",
|
|
27193
|
+
"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",
|
|
27194
|
+
None,
|
|
27195
|
+
)
|
|
27196
|
+
|
|
27098
27197
|
StatusCheckerCheck = Symbol(
|
|
27099
27198
|
[0x56F34],
|
|
27100
27199
|
[0x2333AB4],
|
|
@@ -29959,6 +30058,15 @@ class EuOverlay29Data:
|
|
|
29959
30058
|
"struct exclusive_item_effect_id_8[8]",
|
|
29960
30059
|
)
|
|
29961
30060
|
|
|
30061
|
+
AI_THROWN_ITEM_ACTION_CHOICE_COUNT = Symbol(
|
|
30062
|
+
[0x7777C],
|
|
30063
|
+
[0x23542FC],
|
|
30064
|
+
0x4,
|
|
30065
|
+
"AI_THROWN_ITEM_ACTION_CHOICE_COUNT",
|
|
30066
|
+
"[Runtime] Used to store the number of positions output by GetPossibleAiArcItemTargets and the number of directions/probabilities output by GetPossibleAiThrownItemDirections.",
|
|
30067
|
+
"uint32_t",
|
|
30068
|
+
)
|
|
30069
|
+
|
|
29962
30070
|
EXCL_ITEM_EFFECTS_EVASION_BOOST = Symbol(
|
|
29963
30071
|
[0x77790],
|
|
29964
30072
|
[0x2354310],
|
|
@@ -31695,6 +31803,33 @@ class EuRamData:
|
|
|
31695
31803
|
"struct loaded_attack_sprite_data*",
|
|
31696
31804
|
)
|
|
31697
31805
|
|
|
31806
|
+
AI_THROWN_ITEM_DIRECTION_IS_USED = Symbol(
|
|
31807
|
+
[0x37D5D0],
|
|
31808
|
+
[0x237D5D0],
|
|
31809
|
+
0x8,
|
|
31810
|
+
"AI_THROWN_ITEM_DIRECTION_IS_USED",
|
|
31811
|
+
"[Runtime] Used in GetPossibleAiThrownItemDirections to indicate whether a certain direction enum value is already being used or not.",
|
|
31812
|
+
"bool[8]",
|
|
31813
|
+
)
|
|
31814
|
+
|
|
31815
|
+
AI_THROWN_ITEM_DIRECTIONS = Symbol(
|
|
31816
|
+
[0x37D5D8],
|
|
31817
|
+
[0x237D5D8],
|
|
31818
|
+
0x20,
|
|
31819
|
+
"AI_THROWN_ITEM_DIRECTIONS",
|
|
31820
|
+
"[Runtime] Used to store the directions output by GetPossibleAiThrownItemDirections.",
|
|
31821
|
+
"uint32_t[8]",
|
|
31822
|
+
)
|
|
31823
|
+
|
|
31824
|
+
AI_THROWN_ITEM_PROBABILITIES = Symbol(
|
|
31825
|
+
[0x37D5F8],
|
|
31826
|
+
[0x237D5F8],
|
|
31827
|
+
0x20,
|
|
31828
|
+
"AI_THROWN_ITEM_PROBABILITIES",
|
|
31829
|
+
"[Runtime] Used to store the probabilities matching the directions in THROWN_ITEM_DIRECTIONS.",
|
|
31830
|
+
"uint32_t[8]",
|
|
31831
|
+
)
|
|
31832
|
+
|
|
31698
31833
|
ROLLOUT_ICE_BALL_MISSED = Symbol(
|
|
31699
31834
|
None,
|
|
31700
31835
|
None,
|
pmdsky_debug_py/eu_itcm.py
CHANGED
|
@@ -1739,7 +1739,7 @@ class EuItcmArm9Functions:
|
|
|
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 EuItcmOverlay29Functions:
|
|
|
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 EuItcmOverlay29Functions:
|
|
|
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 EuItcmOverlay29Functions:
|
|
|
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 EuItcmOverlay29Functions:
|
|
|
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 EuItcmOverlay29Functions:
|
|
|
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 EuItcmOverlay29Functions:
|
|
|
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 EuItcmOverlay29Functions:
|
|
|
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 EuItcmOverlay29Data:
|
|
|
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 EuItcmRamData:
|
|
|
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/jp.py
CHANGED
|
@@ -1785,7 +1785,7 @@ class JpArm9Functions:
|
|
|
1785
1785
|
[0x200EAD0],
|
|
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
|
|
|
@@ -24179,6 +24179,15 @@ class JpOverlay29Functions:
|
|
|
24179
24179
|
None,
|
|
24180
24180
|
)
|
|
24181
24181
|
|
|
24182
|
+
SetDecoyAiTracker = Symbol(
|
|
24183
|
+
None,
|
|
24184
|
+
None,
|
|
24185
|
+
None,
|
|
24186
|
+
"SetDecoyAiTracker",
|
|
24187
|
+
"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",
|
|
24188
|
+
None,
|
|
24189
|
+
)
|
|
24190
|
+
|
|
24182
24191
|
CheckSpawnThreshold = Symbol(
|
|
24183
24192
|
[0x1F1E0],
|
|
24184
24193
|
[0x22FCAC0],
|
|
@@ -24593,6 +24602,33 @@ class JpOverlay29Functions:
|
|
|
24593
24602
|
None,
|
|
24594
24603
|
)
|
|
24595
24604
|
|
|
24605
|
+
CheckVariousStatuses2 = Symbol(
|
|
24606
|
+
[0x2431C],
|
|
24607
|
+
[0x2301BFC],
|
|
24608
|
+
None,
|
|
24609
|
+
"CheckVariousStatuses2",
|
|
24610
|
+
"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",
|
|
24611
|
+
None,
|
|
24612
|
+
)
|
|
24613
|
+
|
|
24614
|
+
CheckVariousConditions = Symbol(
|
|
24615
|
+
[0x24644],
|
|
24616
|
+
[0x2301F24],
|
|
24617
|
+
None,
|
|
24618
|
+
"CheckVariousConditions",
|
|
24619
|
+
"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",
|
|
24620
|
+
None,
|
|
24621
|
+
)
|
|
24622
|
+
|
|
24623
|
+
CheckVariousStatuses = Symbol(
|
|
24624
|
+
[0x247B4],
|
|
24625
|
+
[0x2302094],
|
|
24626
|
+
None,
|
|
24627
|
+
"CheckVariousStatuses",
|
|
24628
|
+
"Returns 0 if none of these conditions holds for the given entity: asleep, frozen, petrified, biding.\n\nr0: Entity pointer\nreturn: bool",
|
|
24629
|
+
None,
|
|
24630
|
+
)
|
|
24631
|
+
|
|
24596
24632
|
CanMonsterMoveInDirection = Symbol(
|
|
24597
24633
|
[0x2497C],
|
|
24598
24634
|
[0x230225C],
|
|
@@ -24818,6 +24854,15 @@ class JpOverlay29Functions:
|
|
|
24818
24854
|
None,
|
|
24819
24855
|
)
|
|
24820
24856
|
|
|
24857
|
+
MonsterCanThrowItems = Symbol(
|
|
24858
|
+
[0x25FD8],
|
|
24859
|
+
[0x23038B8],
|
|
24860
|
+
None,
|
|
24861
|
+
"MonsterCanThrowItems",
|
|
24862
|
+
"Returns a boolean indicating whether or not the given monster can throw items based on its monster id.\n\nr0: Monster pointer\nreturn: bool",
|
|
24863
|
+
None,
|
|
24864
|
+
)
|
|
24865
|
+
|
|
24821
24866
|
UpdateStateFlags = Symbol(
|
|
24822
24867
|
[0x26030],
|
|
24823
24868
|
[0x2303910],
|
|
@@ -25349,6 +25394,33 @@ class JpOverlay29Functions:
|
|
|
25349
25394
|
None,
|
|
25350
25395
|
)
|
|
25351
25396
|
|
|
25397
|
+
AiDecideUseItem = Symbol(
|
|
25398
|
+
[0x32570],
|
|
25399
|
+
[0x230FE50],
|
|
25400
|
+
None,
|
|
25401
|
+
"AiDecideUseItem",
|
|
25402
|
+
"Decides whether or not an AI should use its held item and updates its action_data fields accordingly.\n\nr0: Entity pointer",
|
|
25403
|
+
None,
|
|
25404
|
+
)
|
|
25405
|
+
|
|
25406
|
+
GetPossibleAiThrownItemDirections = Symbol(
|
|
25407
|
+
[0x32A0C],
|
|
25408
|
+
[0x23102EC],
|
|
25409
|
+
None,
|
|
25410
|
+
"GetPossibleAiThrownItemDirections",
|
|
25411
|
+
"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.",
|
|
25412
|
+
None,
|
|
25413
|
+
)
|
|
25414
|
+
|
|
25415
|
+
GetPossibleAiArcItemTargets = Symbol(
|
|
25416
|
+
[0x32C88],
|
|
25417
|
+
[0x2310568],
|
|
25418
|
+
None,
|
|
25419
|
+
"GetPossibleAiArcItemTargets",
|
|
25420
|
+
"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.",
|
|
25421
|
+
None,
|
|
25422
|
+
)
|
|
25423
|
+
|
|
25352
25424
|
TryNonLeaderItemPickUp = Symbol(
|
|
25353
25425
|
[0x32DC0],
|
|
25354
25426
|
[0x23106A0],
|
|
@@ -25358,6 +25430,15 @@ class JpOverlay29Functions:
|
|
|
25358
25430
|
None,
|
|
25359
25431
|
)
|
|
25360
25432
|
|
|
25433
|
+
GetExclusiveItemWithEffectFromBag = Symbol(
|
|
25434
|
+
[0x332B0],
|
|
25435
|
+
[0x2310B90],
|
|
25436
|
+
None,
|
|
25437
|
+
"GetExclusiveItemWithEffectFromBag",
|
|
25438
|
+
"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",
|
|
25439
|
+
None,
|
|
25440
|
+
)
|
|
25441
|
+
|
|
25361
25442
|
AuraBowIsActive = Symbol(
|
|
25362
25443
|
[0x33324],
|
|
25363
25444
|
[0x2310C04],
|
|
@@ -26915,6 +26996,15 @@ class JpOverlay29Functions:
|
|
|
26915
26996
|
None,
|
|
26916
26997
|
)
|
|
26917
26998
|
|
|
26999
|
+
IsChargingAnyTwoTurnMove = Symbol(
|
|
27000
|
+
[0x481CC],
|
|
27001
|
+
[0x2325AAC],
|
|
27002
|
+
None,
|
|
27003
|
+
"IsChargingAnyTwoTurnMove",
|
|
27004
|
+
"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",
|
|
27005
|
+
None,
|
|
27006
|
+
)
|
|
27007
|
+
|
|
26918
27008
|
HasMaxGinsengBoost99 = Symbol(
|
|
26919
27009
|
[0x48348],
|
|
26920
27010
|
[0x2325C28],
|
|
@@ -27086,6 +27176,15 @@ class JpOverlay29Functions:
|
|
|
27086
27176
|
None,
|
|
27087
27177
|
)
|
|
27088
27178
|
|
|
27179
|
+
CanHitWithRegularAttack = Symbol(
|
|
27180
|
+
[0x56AD4],
|
|
27181
|
+
[0x23343B4],
|
|
27182
|
+
None,
|
|
27183
|
+
"CanHitWithRegularAttack",
|
|
27184
|
+
"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",
|
|
27185
|
+
None,
|
|
27186
|
+
)
|
|
27187
|
+
|
|
27089
27188
|
StatusCheckerCheck = Symbol(
|
|
27090
27189
|
[0x56B80],
|
|
27091
27190
|
[0x2334460],
|
|
@@ -29852,6 +29951,15 @@ class JpOverlay29Data:
|
|
|
29852
29951
|
"struct exclusive_item_effect_id_8[8]",
|
|
29853
29952
|
)
|
|
29854
29953
|
|
|
29954
|
+
AI_THROWN_ITEM_ACTION_CHOICE_COUNT = Symbol(
|
|
29955
|
+
[0x7709C],
|
|
29956
|
+
[0x235497C],
|
|
29957
|
+
None,
|
|
29958
|
+
"AI_THROWN_ITEM_ACTION_CHOICE_COUNT",
|
|
29959
|
+
"[Runtime] Used to store the number of positions output by GetPossibleAiArcItemTargets and the number of directions/probabilities output by GetPossibleAiThrownItemDirections.",
|
|
29960
|
+
"uint32_t",
|
|
29961
|
+
)
|
|
29962
|
+
|
|
29855
29963
|
EXCL_ITEM_EFFECTS_EVASION_BOOST = Symbol(
|
|
29856
29964
|
[0x770B0],
|
|
29857
29965
|
[0x2354990],
|
|
@@ -31583,6 +31691,33 @@ class JpRamData:
|
|
|
31583
31691
|
"struct loaded_attack_sprite_data*",
|
|
31584
31692
|
)
|
|
31585
31693
|
|
|
31694
|
+
AI_THROWN_ITEM_DIRECTION_IS_USED = Symbol(
|
|
31695
|
+
None,
|
|
31696
|
+
None,
|
|
31697
|
+
None,
|
|
31698
|
+
"AI_THROWN_ITEM_DIRECTION_IS_USED",
|
|
31699
|
+
"[Runtime] Used in GetPossibleAiThrownItemDirections to indicate whether a certain direction enum value is already being used or not.",
|
|
31700
|
+
"bool[8]",
|
|
31701
|
+
)
|
|
31702
|
+
|
|
31703
|
+
AI_THROWN_ITEM_DIRECTIONS = Symbol(
|
|
31704
|
+
None,
|
|
31705
|
+
None,
|
|
31706
|
+
None,
|
|
31707
|
+
"AI_THROWN_ITEM_DIRECTIONS",
|
|
31708
|
+
"[Runtime] Used to store the directions output by GetPossibleAiThrownItemDirections.",
|
|
31709
|
+
"uint32_t[8]",
|
|
31710
|
+
)
|
|
31711
|
+
|
|
31712
|
+
AI_THROWN_ITEM_PROBABILITIES = Symbol(
|
|
31713
|
+
None,
|
|
31714
|
+
None,
|
|
31715
|
+
None,
|
|
31716
|
+
"AI_THROWN_ITEM_PROBABILITIES",
|
|
31717
|
+
"[Runtime] Used to store the probabilities matching the directions in THROWN_ITEM_DIRECTIONS.",
|
|
31718
|
+
"uint32_t[8]",
|
|
31719
|
+
)
|
|
31720
|
+
|
|
31586
31721
|
ROLLOUT_ICE_BALL_MISSED = Symbol(
|
|
31587
31722
|
None,
|
|
31588
31723
|
None,
|