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.
@@ -1 +1 @@
1
- RELEASE = "v0.5.1+a0567b38be"
1
+ RELEASE = "v0.5.1+20669e221f"
pmdsky_debug_py/eu.py CHANGED
@@ -1037,9 +1037,9 @@ class EuArm9Functions:
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
 
@@ -2679,17 +2679,30 @@ class EuArm9Functions:
2679
2679
  [0x201D278],
2680
2680
  None,
2681
2681
  (
2682
- "Note: unverified, ported from Irdkwia's notes\n\nr0: wan_table_ptr\nr1:"
2682
+ "Always delete an entry if the file is allocated externally"
2683
+ " (file_externally_allocated is set), otherwise, decrease the reference"
2684
+ " counter. If it reach 0, delete the sprite.\n\nr0: wan_table_ptr\nr1:"
2683
2685
  " wan_id"
2684
2686
  ),
2685
2687
  )
2686
2688
 
2689
+ AllocateWanTableEntry = Symbol(
2690
+ [0x1D2E0],
2691
+ [0x201D2E0],
2692
+ None,
2693
+ (
2694
+ "Return the identifier to a free wan table entry (-1 if none are"
2695
+ " avalaible). The entry is zeroed.\n\nr0: wan_table_ptr\nreturn: the entry"
2696
+ " id in wan_table"
2697
+ ),
2698
+ )
2699
+
2687
2700
  FindWanTableEntry = Symbol(
2688
2701
  [0x1D370],
2689
2702
  [0x201D370],
2690
2703
  None,
2691
2704
  (
2692
- "Appears to search in the given table (in practice always seems to be"
2705
+ "Search in the given table (in practice always seems to be"
2693
2706
  " LOADED_WAN_TABLE_PTR) for an entry with the given file name.\n\nr0: table"
2694
2707
  " pointer\nr1: file name\nreturn: index of the found file, if found, or -1"
2695
2708
  " if not found"
@@ -2701,8 +2714,19 @@ class EuArm9Functions:
2701
2714
  [0x201D3D0],
2702
2715
  None,
2703
2716
  (
2704
- "wan_id = -1 if it is not loaded\n\nNote: unverified, ported from Irdkwia's"
2705
- " notes\n\nr0: wan_table_ptr\nr1: bin_file_id\nr2: file_id\nreturn: wan_id"
2717
+ "Look up a sprite with the provided pack_id and file_index in the wan"
2718
+ " table.\n\nr0: wan_table_ptr\nr1: pack_id\nr2: file_index\nreturn: sprite"
2719
+ " id in the wan table, -1 if not found"
2720
+ ),
2721
+ )
2722
+
2723
+ InitWanTable = Symbol(
2724
+ [0x1D458],
2725
+ [0x201D458],
2726
+ None,
2727
+ (
2728
+ "Initialize the input WAN table with 0x60 free entries (it needs a length"
2729
+ " of 0x1510 bytes)\n\nr0: wan_table_ptr"
2706
2730
  ),
2707
2731
  )
2708
2732
 
@@ -2718,6 +2742,32 @@ class EuArm9Functions:
2718
2742
  ),
2719
2743
  )
2720
2744
 
2745
+ LoadWanTableEntryFromPack = Symbol(
2746
+ [0x1D520],
2747
+ [0x201D520],
2748
+ None,
2749
+ (
2750
+ "Return an already allocated entry for this sprite if it exists, otherwise"
2751
+ " allocate a new one and load the optionally compressed sprite.\n\nr0:"
2752
+ " wan_table_ptr\nr1: pack_id\nr2: file_index\nr3: allocation"
2753
+ " flags\nstack[0]: compressed\nreturn: the entry id in wan_table"
2754
+ ),
2755
+ )
2756
+
2757
+ LoadWanTableEntryFromPackUseProvidedMemory = Symbol(
2758
+ [0x1D62C],
2759
+ [0x201D62C],
2760
+ None,
2761
+ (
2762
+ "Return an already allocated entry for this sprite if it exists, otherwise"
2763
+ " allocate a new one and load the optionally compressed sprite into the"
2764
+ " provided memory area. Mark the sprite as externally allocated.\n\nr0:"
2765
+ " wan_table_ptr\nr1: pack_id\nr2: file_index\nr3:"
2766
+ " sprite_storage_ptr\nstack[0]: compressed\nreturn: the entry id in"
2767
+ " wan_table"
2768
+ ),
2769
+ )
2770
+
2721
2771
  ReplaceWanFromBinFile = Symbol(
2722
2772
  [0x1D720],
2723
2773
  [0x201D720],
@@ -12916,6 +12966,16 @@ class EuOverlay10Data:
12916
12966
  ),
12917
12967
  )
12918
12968
 
12969
+ KECLEON_SHOP_BOOST_CHANCE_MULTIPLIER = Symbol(
12970
+ None,
12971
+ None,
12972
+ None,
12973
+ (
12974
+ "The boosted kecleon shop spawn chance multiplier (~1.2) as a binary"
12975
+ " fixed-point number (8 fraction bits)."
12976
+ ),
12977
+ )
12978
+
12919
12979
  HIDDEN_STAIRS_SPAWN_CHANCE_MULTIPLIER = Symbol(
12920
12980
  [0x7DE8],
12921
12981
  [0x22C51A8],
@@ -13604,8 +13664,10 @@ class EuOverlay11Functions:
13604
13664
  [0x22EC480],
13605
13665
  None,
13606
13666
  (
13607
- "Note: unverified, ported from Irdkwia's notes\n\nr0: [output]"
13608
- " bg_attr_str\nr1: bg_id"
13667
+ "Open and read an entry from the MAP_BG/bg_list.dat\n\nDocumentation on"
13668
+ " this format can be found"
13669
+ " here:\nhttps://github.com/SkyTemple/skytemple-files/tree/55b3017631a8a1b0f106111ef91a901dc394c6df/skytemple_files/graphics/bg_list_dat\n\nr0:"
13670
+ " [output] The entry\nr1: background ID"
13609
13671
  ),
13610
13672
  )
13611
13673
 
@@ -13882,6 +13944,13 @@ class EuOverlay11Data:
13882
13944
 
13883
13945
  GROUND_STATE_MAP = Symbol([0x48C80], [0x2325800], None, "[Runtime]")
13884
13946
 
13947
+ GROUND_STATE_WEATHER = Symbol(
13948
+ [0x48C8C],
13949
+ [0x232580C],
13950
+ None,
13951
+ "[Runtime] Same structure format as GROUND_STATE_MAP",
13952
+ )
13953
+
13885
13954
  GROUND_STATE_PTRS = Symbol(
13886
13955
  [0x48CB4],
13887
13956
  [0x2325834],
@@ -16871,6 +16940,127 @@ class EuOverlay29Functions:
16871
16940
  ),
16872
16941
  )
16873
16942
 
16943
+ ApplyMudTrapEffect = Symbol(
16944
+ None,
16945
+ None,
16946
+ None,
16947
+ (
16948
+ "Randomly lowers attack, special attack, defense, or special defense of the"
16949
+ " defender by 3 stages.\n\nr0: attacker entity pointer\nr1: defender entity"
16950
+ " pointer"
16951
+ ),
16952
+ )
16953
+
16954
+ ApplyStickyTrapEffect = Symbol(
16955
+ None,
16956
+ None,
16957
+ None,
16958
+ (
16959
+ "If the defender is the leader, randomly try to make something in the bag"
16960
+ " sticky. Otherwise, try to make the item the monster is holding"
16961
+ " sticky.\n\nr0: attacker entity pointer\nr1: defender entity pointer"
16962
+ ),
16963
+ )
16964
+
16965
+ ApplyGrimyTrapEffect = Symbol(
16966
+ None,
16967
+ None,
16968
+ None,
16969
+ (
16970
+ "If the defender is the leader, randomly try to turn food items in the"
16971
+ " toolbox into\ngrimy food. Otherwise, try to make the food item the"
16972
+ " monster is holding grimy food.\n\nr0: attacker entity pointer\nr1:"
16973
+ " defender entity pointer"
16974
+ ),
16975
+ )
16976
+
16977
+ ApplyPitfallTrapEffect = Symbol(
16978
+ None,
16979
+ None,
16980
+ None,
16981
+ (
16982
+ "If the defender is the leader, end the current floor unless it has a"
16983
+ " rescue point.\nOtherwise, make the entity faint and ignore reviver seeds."
16984
+ " If not called by a random\ntrap, break the grate on the pitfall"
16985
+ " trap.\n\nr0: attacker entity pointer\nr1: defender entity pointer\nr2:"
16986
+ " tile pointer\nr3: bool caused by random trap"
16987
+ ),
16988
+ )
16989
+
16990
+ ApplySummonTrapEffect = Symbol(
16991
+ None,
16992
+ None,
16993
+ None,
16994
+ (
16995
+ "Randomly spawns 2-4 enemy monsters around the position. The entity is only"
16996
+ " used for\nlogging messages.\n\nr0: entity pointer\nr1: position"
16997
+ ),
16998
+ )
16999
+
17000
+ ApplyPpZeroTrapEffect = Symbol(
17001
+ None,
17002
+ None,
17003
+ None,
17004
+ (
17005
+ "Tries to reduce the PP of one of the defender's moves to 0.\n\nr0:"
17006
+ " attacker entity pointer\nr1: defender entity pointer"
17007
+ ),
17008
+ )
17009
+
17010
+ ApplyPokemonTrapEffect = Symbol(
17011
+ None,
17012
+ None,
17013
+ None,
17014
+ (
17015
+ "Turns item in the same room as the tile at the position (usually just the"
17016
+ " entities's\nposition) into monsters. If the position is in a hallway,"
17017
+ " convert items in a 3x3 area\ncentered on the position into"
17018
+ " monsters.\n\nr0: entity pointer\nr1: position"
17019
+ ),
17020
+ )
17021
+
17022
+ ApplyTripTrapEffect = Symbol(
17023
+ None,
17024
+ None,
17025
+ None,
17026
+ (
17027
+ "Tries to drop the defender's item and places it on the floor.\n\nr0:"
17028
+ " attacker entity pointer\nr1: defender entity pointer"
17029
+ ),
17030
+ )
17031
+
17032
+ ApplyToxicSpikesTrapEffect = Symbol(
17033
+ None,
17034
+ None,
17035
+ None,
17036
+ (
17037
+ "Tries to inflict 10 damage on the defender and then tries to poison"
17038
+ " them.\n\nr0: attacker entity pointer\nr1: defender entity pointer"
17039
+ ),
17040
+ )
17041
+
17042
+ ApplyRandomTrapEffect = Symbol(
17043
+ None,
17044
+ None,
17045
+ None,
17046
+ (
17047
+ "Selects a random trap that isn't a wonder tile and isn't a random trap and"
17048
+ " calls\nApplyTrapEffect on all monsters that is different from the trap's"
17049
+ " team.\n\nr0: Triggered trap\nr1: User\nr2: Target, normally same as"
17050
+ " user\nr3: Tile that contains the trap\nstack[0]: position"
17051
+ ),
17052
+ )
17053
+
17054
+ ApplyGrudgeTrapEffect = Symbol(
17055
+ None,
17056
+ None,
17057
+ None,
17058
+ (
17059
+ "Spawns several monsters around the position and gives all monsters on the"
17060
+ " floor the\ngrudge status condition.\n\nr0: entity pointer\nr1: position"
17061
+ ),
17062
+ )
17063
+
16874
17064
  ApplyTrapEffect = Symbol(
16875
17065
  [0x12F88],
16876
17066
  [0x22EFB08],
@@ -16878,11 +17068,20 @@ class EuOverlay29Functions:
16878
17068
  (
16879
17069
  "Performs the effect of a triggered trap.\n\nThe trap's animation happens"
16880
17070
  " before this function is called.\n\nr0: Triggered trap\nr1: User\nr2:"
16881
- " Target, normally same as user\nr3: Tile that contains the trap\nreturn:"
16882
- " True if the trap should be destroyed after the effect is applied"
17071
+ " Target, normally same as user\nr3: Tile that contains the trap\nstack[0]:"
17072
+ " position\nstack[1]: trap ID\nstack[2]: bool caused by random"
17073
+ " trap\nreturn: True if the trap should be destroyed after the effect is"
17074
+ " applied"
16883
17075
  ),
16884
17076
  )
16885
17077
 
17078
+ RevealTrapsNearby = Symbol(
17079
+ None,
17080
+ None,
17081
+ None,
17082
+ "Reveals traps within the monster's viewing range.\n\nr0: entity pointer",
17083
+ )
17084
+
16886
17085
  DebugRecruitingEnabled = Symbol(
16887
17086
  [0x138A0],
16888
17087
  [0x22F0420],
@@ -17266,6 +17465,20 @@ class EuOverlay29Functions:
17266
17465
  ),
17267
17466
  )
17268
17467
 
17468
+ TryEndStatusWithAbility = Symbol(
17469
+ None,
17470
+ None,
17471
+ None,
17472
+ (
17473
+ "Checks if any of the defender's active abilities would end one of their"
17474
+ " current status\nconditions. For example, if the ability Own Tempo will"
17475
+ " stop confusion.\n\nCalled after changing a monster's ability with skill"
17476
+ " swap, role play, or trace to\nremove statuses the monster should no"
17477
+ " longer be affected by.\n\nr0: attacker entity pointer\nr1: defender"
17478
+ " entity pointer"
17479
+ ),
17480
+ )
17481
+
17269
17482
  ExclusiveItemEffectIsActive = Symbol(
17270
17483
  [
17271
17484
  0x1EB24,
@@ -19213,6 +19426,16 @@ class EuOverlay29Functions:
19213
19426
  ),
19214
19427
  )
19215
19428
 
19429
+ TryResetStatChanges = Symbol(
19430
+ None,
19431
+ None,
19432
+ None,
19433
+ (
19434
+ "Tries to reset the stat changes of the defender.\n\nr0: attacker entity"
19435
+ " pointer\nr1: defender entity pointer\nr3: bool to force animation"
19436
+ ),
19437
+ )
19438
+
19216
19439
  MirrorMoveIsActive = Symbol(
19217
19440
  None,
19218
19441
  None,
@@ -19508,14 +19731,28 @@ class EuOverlay29Functions:
19508
19731
  )
19509
19732
 
19510
19733
  TryExplosion = Symbol(
19511
- [0x44670],
19512
- [0x23211F0],
19734
+ [0x44330],
19735
+ [0x2320EB0],
19513
19736
  None,
19514
19737
  (
19515
19738
  "Creates an explosion if possible.\n\nThe target monster is considered the"
19516
19739
  " source of the explosion.\n\nr0: user entity pointer\nr1: target entity"
19517
19740
  " pointer\nr2: coordinates where the explosion should take place"
19518
- " (unverified)\nr3: ?\nstack[0]: ?\nstack[1]: damage source (normally"
19741
+ " (center)\nr3: explosion radius (only works correctly with 1 and"
19742
+ " 2)\nstack[0]: damage type\nstack[1]: damage source"
19743
+ ),
19744
+ )
19745
+
19746
+ TryAftermathExplosion = Symbol(
19747
+ [0x44670],
19748
+ [0x23211F0],
19749
+ None,
19750
+ (
19751
+ "Creates the explosion for the ability aftermath if possible.\n\nThe target"
19752
+ " monster is considered the source of the explosion.\n\nr0: user entity"
19753
+ " pointer\nr1: target entity pointer\nr2: coordinates where the explosion"
19754
+ " should take place (center)\nr3: explosion radius (only works correctly"
19755
+ " with 1 and 2)\nstack[0]: damage type\nstack[1]: damage source (normally"
19519
19756
  " DAMAGE_SOURCE_EXPLOSION)"
19520
19757
  ),
19521
19758
  )
@@ -21010,6 +21247,19 @@ class EuOverlay29Functions:
21010
21247
  ),
21011
21248
  )
21012
21249
 
21250
+ GetFinalKecleonShopSpawnChance = Symbol(
21251
+ None,
21252
+ None,
21253
+ None,
21254
+ (
21255
+ "Gets the kecleon shop spawn chance for the floor.\n\nWhen"
21256
+ " dungeon::boost_kecleon_shop_spawn_chance is false, returns the same value"
21257
+ " as the input. When it's true, returns the input (chance * 1.2).\n\nr0:"
21258
+ " base kecleon shop spawn chance,"
21259
+ " floor_properties::kecleon_shop_spawn_chance\nreturn: int"
21260
+ ),
21261
+ )
21262
+
21013
21263
  ResetHiddenStairsSpawn = Symbol(
21014
21264
  [0x66F6C],
21015
21265
  [0x2343AEC],