pmdsky-debug-py 5.1.11__py3-none-any.whl → 5.1.13__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/jp.py CHANGED
@@ -1037,9 +1037,9 @@ class JpArm9Functions:
1037
1037
  None,
1038
1038
  (
1039
1039
  "Call LoadFileInPack after looking up the global Pack archive by its"
1040
- " identifier\n\nr0: pack file identifier\nr1: [output] target buffer\nr2:"
1041
- " file index\nreturn: number of read bytes (identical to the length of the"
1042
- " pack from the Table of Content)"
1040
+ " identifier\n\nr0: pack file identifier\nr1: file index\nr2: [output]"
1041
+ " target buffer\nreturn: number of read bytes (identical to the length of"
1042
+ " the pack from the Table of Content)"
1043
1043
  ),
1044
1044
  )
1045
1045
 
@@ -2677,17 +2677,30 @@ class JpArm9Functions:
2677
2677
  [0x201D234],
2678
2678
  None,
2679
2679
  (
2680
- "Note: unverified, ported from Irdkwia's notes\n\nr0: wan_table_ptr\nr1:"
2680
+ "Always delete an entry if the file is allocated externally"
2681
+ " (file_externally_allocated is set), otherwise, decrease the reference"
2682
+ " counter. If it reach 0, delete the sprite.\n\nr0: wan_table_ptr\nr1:"
2681
2683
  " wan_id"
2682
2684
  ),
2683
2685
  )
2684
2686
 
2687
+ AllocateWanTableEntry = Symbol(
2688
+ None,
2689
+ None,
2690
+ None,
2691
+ (
2692
+ "Return the identifier to a free wan table entry (-1 if none are"
2693
+ " avalaible). The entry is zeroed.\n\nr0: wan_table_ptr\nreturn: the entry"
2694
+ " id in wan_table"
2695
+ ),
2696
+ )
2697
+
2685
2698
  FindWanTableEntry = Symbol(
2686
2699
  [0x1D32C],
2687
2700
  [0x201D32C],
2688
2701
  None,
2689
2702
  (
2690
- "Appears to search in the given table (in practice always seems to be"
2703
+ "Search in the given table (in practice always seems to be"
2691
2704
  " LOADED_WAN_TABLE_PTR) for an entry with the given file name.\n\nr0: table"
2692
2705
  " pointer\nr1: file name\nreturn: index of the found file, if found, or -1"
2693
2706
  " if not found"
@@ -2699,8 +2712,19 @@ class JpArm9Functions:
2699
2712
  [0x201D38C],
2700
2713
  None,
2701
2714
  (
2702
- "wan_id = -1 if it is not loaded\n\nNote: unverified, ported from Irdkwia's"
2703
- " notes\n\nr0: wan_table_ptr\nr1: bin_file_id\nr2: file_id\nreturn: wan_id"
2715
+ "Look up a sprite with the provided pack_id and file_index in the wan"
2716
+ " table.\n\nr0: wan_table_ptr\nr1: pack_id\nr2: file_index\nreturn: sprite"
2717
+ " id in the wan table, -1 if not found"
2718
+ ),
2719
+ )
2720
+
2721
+ InitWanTable = Symbol(
2722
+ None,
2723
+ None,
2724
+ None,
2725
+ (
2726
+ "Initialize the input WAN table with 0x60 free entries (it needs a length"
2727
+ " of 0x1510 bytes)\n\nr0: wan_table_ptr"
2704
2728
  ),
2705
2729
  )
2706
2730
 
@@ -2716,6 +2740,32 @@ class JpArm9Functions:
2716
2740
  ),
2717
2741
  )
2718
2742
 
2743
+ LoadWanTableEntryFromPack = Symbol(
2744
+ None,
2745
+ None,
2746
+ None,
2747
+ (
2748
+ "Return an already allocated entry for this sprite if it exists, otherwise"
2749
+ " allocate a new one and load the optionally compressed sprite.\n\nr0:"
2750
+ " wan_table_ptr\nr1: pack_id\nr2: file_index\nr3: allocation"
2751
+ " flags\nstack[0]: compressed\nreturn: the entry id in wan_table"
2752
+ ),
2753
+ )
2754
+
2755
+ LoadWanTableEntryFromPackUseProvidedMemory = Symbol(
2756
+ None,
2757
+ None,
2758
+ None,
2759
+ (
2760
+ "Return an already allocated entry for this sprite if it exists, otherwise"
2761
+ " allocate a new one and load the optionally compressed sprite into the"
2762
+ " provided memory area. Mark the sprite as externally allocated.\n\nr0:"
2763
+ " wan_table_ptr\nr1: pack_id\nr2: file_index\nr3:"
2764
+ " sprite_storage_ptr\nstack[0]: compressed\nreturn: the entry id in"
2765
+ " wan_table"
2766
+ ),
2767
+ )
2768
+
2719
2769
  ReplaceWanFromBinFile = Symbol(
2720
2770
  [0x1D6DC],
2721
2771
  [0x201D6DC],
@@ -12852,6 +12902,16 @@ class JpOverlay10Data:
12852
12902
  ),
12853
12903
  )
12854
12904
 
12905
+ KECLEON_SHOP_BOOST_CHANCE_MULTIPLIER = Symbol(
12906
+ None,
12907
+ None,
12908
+ None,
12909
+ (
12910
+ "The boosted kecleon shop spawn chance multiplier (~1.2) as a binary"
12911
+ " fixed-point number (8 fraction bits)."
12912
+ ),
12913
+ )
12914
+
12855
12915
  HIDDEN_STAIRS_SPAWN_CHANCE_MULTIPLIER = Symbol(
12856
12916
  None,
12857
12917
  None,
@@ -13540,8 +13600,10 @@ class JpOverlay11Functions:
13540
13600
  [0x22ED174],
13541
13601
  None,
13542
13602
  (
13543
- "Note: unverified, ported from Irdkwia's notes\n\nr0: [output]"
13544
- " bg_attr_str\nr1: bg_id"
13603
+ "Open and read an entry from the MAP_BG/bg_list.dat\n\nDocumentation on"
13604
+ " this format can be found"
13605
+ " here:\nhttps://github.com/SkyTemple/skytemple-files/tree/55b3017631a8a1b0f106111ef91a901dc394c6df/skytemple_files/graphics/bg_list_dat\n\nr0:"
13606
+ " [output] The entry\nr1: background ID"
13545
13607
  ),
13546
13608
  )
13547
13609
 
@@ -13818,6 +13880,10 @@ class JpOverlay11Data:
13818
13880
 
13819
13881
  GROUND_STATE_MAP = Symbol(None, None, None, "[Runtime]")
13820
13882
 
13883
+ GROUND_STATE_WEATHER = Symbol(
13884
+ None, None, None, "[Runtime] Same structure format as GROUND_STATE_MAP"
13885
+ )
13886
+
13821
13887
  GROUND_STATE_PTRS = Symbol(
13822
13888
  None,
13823
13889
  None,
@@ -16677,6 +16743,127 @@ class JpOverlay29Functions:
16677
16743
  ),
16678
16744
  )
16679
16745
 
16746
+ ApplyMudTrapEffect = Symbol(
16747
+ None,
16748
+ None,
16749
+ None,
16750
+ (
16751
+ "Randomly lowers attack, special attack, defense, or special defense of the"
16752
+ " defender by 3 stages.\n\nr0: attacker entity pointer\nr1: defender entity"
16753
+ " pointer"
16754
+ ),
16755
+ )
16756
+
16757
+ ApplyStickyTrapEffect = Symbol(
16758
+ None,
16759
+ None,
16760
+ None,
16761
+ (
16762
+ "If the defender is the leader, randomly try to make something in the bag"
16763
+ " sticky. Otherwise, try to make the item the monster is holding"
16764
+ " sticky.\n\nr0: attacker entity pointer\nr1: defender entity pointer"
16765
+ ),
16766
+ )
16767
+
16768
+ ApplyGrimyTrapEffect = Symbol(
16769
+ None,
16770
+ None,
16771
+ None,
16772
+ (
16773
+ "If the defender is the leader, randomly try to turn food items in the"
16774
+ " toolbox into\ngrimy food. Otherwise, try to make the food item the"
16775
+ " monster is holding grimy food.\n\nr0: attacker entity pointer\nr1:"
16776
+ " defender entity pointer"
16777
+ ),
16778
+ )
16779
+
16780
+ ApplyPitfallTrapEffect = Symbol(
16781
+ None,
16782
+ None,
16783
+ None,
16784
+ (
16785
+ "If the defender is the leader, end the current floor unless it has a"
16786
+ " rescue point.\nOtherwise, make the entity faint and ignore reviver seeds."
16787
+ " If not called by a random\ntrap, break the grate on the pitfall"
16788
+ " trap.\n\nr0: attacker entity pointer\nr1: defender entity pointer\nr2:"
16789
+ " tile pointer\nr3: bool caused by random trap"
16790
+ ),
16791
+ )
16792
+
16793
+ ApplySummonTrapEffect = Symbol(
16794
+ None,
16795
+ None,
16796
+ None,
16797
+ (
16798
+ "Randomly spawns 2-4 enemy monsters around the position. The entity is only"
16799
+ " used for\nlogging messages.\n\nr0: entity pointer\nr1: position"
16800
+ ),
16801
+ )
16802
+
16803
+ ApplyPpZeroTrapEffect = Symbol(
16804
+ None,
16805
+ None,
16806
+ None,
16807
+ (
16808
+ "Tries to reduce the PP of one of the defender's moves to 0.\n\nr0:"
16809
+ " attacker entity pointer\nr1: defender entity pointer"
16810
+ ),
16811
+ )
16812
+
16813
+ ApplyPokemonTrapEffect = Symbol(
16814
+ None,
16815
+ None,
16816
+ None,
16817
+ (
16818
+ "Turns item in the same room as the tile at the position (usually just the"
16819
+ " entities's\nposition) into monsters. If the position is in a hallway,"
16820
+ " convert items in a 3x3 area\ncentered on the position into"
16821
+ " monsters.\n\nr0: entity pointer\nr1: position"
16822
+ ),
16823
+ )
16824
+
16825
+ ApplyTripTrapEffect = Symbol(
16826
+ None,
16827
+ None,
16828
+ None,
16829
+ (
16830
+ "Tries to drop the defender's item and places it on the floor.\n\nr0:"
16831
+ " attacker entity pointer\nr1: defender entity pointer"
16832
+ ),
16833
+ )
16834
+
16835
+ ApplyToxicSpikesTrapEffect = Symbol(
16836
+ None,
16837
+ None,
16838
+ None,
16839
+ (
16840
+ "Tries to inflict 10 damage on the defender and then tries to poison"
16841
+ " them.\n\nr0: attacker entity pointer\nr1: defender entity pointer"
16842
+ ),
16843
+ )
16844
+
16845
+ ApplyRandomTrapEffect = Symbol(
16846
+ None,
16847
+ None,
16848
+ None,
16849
+ (
16850
+ "Selects a random trap that isn't a wonder tile and isn't a random trap and"
16851
+ " calls\nApplyTrapEffect on all monsters that is different from the trap's"
16852
+ " team.\n\nr0: Triggered trap\nr1: User\nr2: Target, normally same as"
16853
+ " user\nr3: Tile that contains the trap\nstack[0]: position"
16854
+ ),
16855
+ )
16856
+
16857
+ ApplyGrudgeTrapEffect = Symbol(
16858
+ None,
16859
+ None,
16860
+ None,
16861
+ (
16862
+ "Spawns several monsters around the position and gives all monsters on the"
16863
+ " floor the\ngrudge status condition.\n\nr0: entity pointer\nr1: position"
16864
+ ),
16865
+ )
16866
+
16680
16867
  ApplyTrapEffect = Symbol(
16681
16868
  None,
16682
16869
  None,
@@ -16684,11 +16871,20 @@ class JpOverlay29Functions:
16684
16871
  (
16685
16872
  "Performs the effect of a triggered trap.\n\nThe trap's animation happens"
16686
16873
  " before this function is called.\n\nr0: Triggered trap\nr1: User\nr2:"
16687
- " Target, normally same as user\nr3: Tile that contains the trap\nreturn:"
16688
- " True if the trap should be destroyed after the effect is applied"
16874
+ " Target, normally same as user\nr3: Tile that contains the trap\nstack[0]:"
16875
+ " position\nstack[1]: trap ID\nstack[2]: bool caused by random"
16876
+ " trap\nreturn: True if the trap should be destroyed after the effect is"
16877
+ " applied"
16689
16878
  ),
16690
16879
  )
16691
16880
 
16881
+ RevealTrapsNearby = Symbol(
16882
+ None,
16883
+ None,
16884
+ None,
16885
+ "Reveals traps within the monster's viewing range.\n\nr0: entity pointer",
16886
+ )
16887
+
16692
16888
  DebugRecruitingEnabled = Symbol(
16693
16889
  [0x13790],
16694
16890
  [0x22F1070],
@@ -17052,6 +17248,20 @@ class JpOverlay29Functions:
17052
17248
  ),
17053
17249
  )
17054
17250
 
17251
+ TryEndStatusWithAbility = Symbol(
17252
+ None,
17253
+ None,
17254
+ None,
17255
+ (
17256
+ "Checks if any of the defender's active abilities would end one of their"
17257
+ " current status\nconditions. For example, if the ability Own Tempo will"
17258
+ " stop confusion.\n\nCalled after changing a monster's ability with skill"
17259
+ " swap, role play, or trace to\nremove statuses the monster should no"
17260
+ " longer be affected by.\n\nr0: attacker entity pointer\nr1: defender"
17261
+ " entity pointer"
17262
+ ),
17263
+ )
17264
+
17055
17265
  ExclusiveItemEffectIsActive = Symbol(
17056
17266
  [0x383E0, 0x6BD58],
17057
17267
  [0x2315CC0, 0x2349638],
@@ -18973,6 +19183,16 @@ class JpOverlay29Functions:
18973
19183
  ),
18974
19184
  )
18975
19185
 
19186
+ TryResetStatChanges = Symbol(
19187
+ None,
19188
+ None,
19189
+ None,
19190
+ (
19191
+ "Tries to reset the stat changes of the defender.\n\nr0: attacker entity"
19192
+ " pointer\nr1: defender entity pointer\nr3: bool to force animation"
19193
+ ),
19194
+ )
19195
+
18976
19196
  MirrorMoveIsActive = Symbol(
18977
19197
  None,
18978
19198
  None,
@@ -19275,7 +19495,21 @@ class JpOverlay29Functions:
19275
19495
  "Creates an explosion if possible.\n\nThe target monster is considered the"
19276
19496
  " source of the explosion.\n\nr0: user entity pointer\nr1: target entity"
19277
19497
  " pointer\nr2: coordinates where the explosion should take place"
19278
- " (unverified)\nr3: ?\nstack[0]: ?\nstack[1]: damage source (normally"
19498
+ " (center)\nr3: explosion radius (only works correctly with 1 and"
19499
+ " 2)\nstack[0]: damage type\nstack[1]: damage source"
19500
+ ),
19501
+ )
19502
+
19503
+ TryAftermathExplosion = Symbol(
19504
+ None,
19505
+ None,
19506
+ None,
19507
+ (
19508
+ "Creates the explosion for the ability aftermath if possible.\n\nThe target"
19509
+ " monster is considered the source of the explosion.\n\nr0: user entity"
19510
+ " pointer\nr1: target entity pointer\nr2: coordinates where the explosion"
19511
+ " should take place (center)\nr3: explosion radius (only works correctly"
19512
+ " with 1 and 2)\nstack[0]: damage type\nstack[1]: damage source (normally"
19279
19513
  " DAMAGE_SOURCE_EXPLOSION)"
19280
19514
  ),
19281
19515
  )
@@ -20767,6 +21001,19 @@ class JpOverlay29Functions:
20767
21001
  ),
20768
21002
  )
20769
21003
 
21004
+ GetFinalKecleonShopSpawnChance = Symbol(
21005
+ None,
21006
+ None,
21007
+ None,
21008
+ (
21009
+ "Gets the kecleon shop spawn chance for the floor.\n\nWhen"
21010
+ " dungeon::boost_kecleon_shop_spawn_chance is false, returns the same value"
21011
+ " as the input. When it's true, returns the input (chance * 1.2).\n\nr0:"
21012
+ " base kecleon shop spawn chance,"
21013
+ " floor_properties::kecleon_shop_spawn_chance\nreturn: int"
21014
+ ),
21015
+ )
21016
+
20770
21017
  ResetHiddenStairsSpawn = Symbol(
20771
21018
  [0x669EC],
20772
21019
  [0x23442CC],