arkparse 0.4.1__tar.gz → 0.4.3__tar.gz

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.
Files changed (186) hide show
  1. {arkparse-0.4.1 → arkparse-0.4.3}/PKG-INFO +1 -1
  2. {arkparse-0.4.1 → arkparse-0.4.3}/pyproject.toml +1 -1
  3. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/api/dino_api.py +12 -1
  4. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/api/equipment_api.py +26 -7
  5. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/api/structure_api.py +4 -6
  6. arkparse-0.4.3/src/arkparse/assets/LOST_COLONY.PNG +0 -0
  7. arkparse-0.4.3/src/arkparse/assets/templates/trait/trait_n.json +23 -0
  8. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/classes/dinos.py +5 -1
  9. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/classes/equipment.py +83 -7
  10. arkparse-0.4.3/src/arkparse/classes/traits.py +134 -0
  11. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/enums/ark_dino_trait.py +12 -1
  12. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/ftp/ark_ftp_client.py +4 -1
  13. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/logging/ark_save_logger.py +6 -0
  14. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/ark_game_object.py +1 -1
  15. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/dinos/dino.py +20 -4
  16. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/dinos/stats.py +7 -0
  17. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/equipment/__equipment_with_armor.py +1 -1
  18. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/equipment/__equipment_with_durability.py +2 -2
  19. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/misc/inventory.py +33 -10
  20. arkparse-0.4.3/src/arkparse/object_model/misc/trait.py +29 -0
  21. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/structures/structure.py +2 -0
  22. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/structures/structure_with_inventory.py +1 -0
  23. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_property_parser.py +2 -2
  24. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/ark_property.py +10 -7
  25. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/ark_property_container.py +10 -0
  26. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/__init__.py +2 -0
  27. arkparse-0.4.3/src/arkparse/parsing/struct/ark_milestone_tree_level_and_index.py +44 -0
  28. arkparse-0.4.3/src/arkparse/parsing/struct/ark_patrol_group_saved_data.py +62 -0
  29. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_struct_type.py +6 -0
  30. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/player/ark_character_stats.py +1 -1
  31. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/saves/asa_save.py +3 -0
  32. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/saves/header_location.py +8 -3
  33. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/saves/save_connection.py +28 -8
  34. {arkparse-0.4.1 → arkparse-0.4.3}/.gitignore +0 -0
  35. {arkparse-0.4.1 → arkparse-0.4.3}/LICENSE +0 -0
  36. {arkparse-0.4.1 → arkparse-0.4.3}/README.md +0 -0
  37. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/__init__.py +0 -0
  38. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/api/__init__.py +0 -0
  39. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/api/base_api.py +0 -0
  40. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/api/general_api.py +0 -0
  41. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/api/json_api.py +0 -0
  42. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/api/player_api.py +0 -0
  43. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/api/rcon_api.py +0 -0
  44. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/api/stackable_api.py +0 -0
  45. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/ark_tribe.py +0 -0
  46. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/ABERRATION.PNG +0 -0
  47. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/RAGNAROK.PNG +0 -0
  48. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/THE_ISLAND.PNG +0 -0
  49. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/__init__.py +0 -0
  50. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/heavy_inventory +0 -0
  51. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/tamable_dinos.txt +0 -0
  52. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/armor +0 -0
  53. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/armor_bp +0 -0
  54. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/armor_bp_n.json +0 -0
  55. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/armor_n.json +0 -0
  56. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/saddle +0 -0
  57. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/saddle_bp +0 -0
  58. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/saddle_bp_n.json +0 -0
  59. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/saddle_n.json +0 -0
  60. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/shield +0 -0
  61. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/shield_bp +0 -0
  62. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/shield_bp_n.json +0 -0
  63. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/shield_n.json +0 -0
  64. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/weapon +0 -0
  65. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/weapon_bp +0 -0
  66. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/weapon_bp_n.json +0 -0
  67. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/equipment/weapon_n.json +0 -0
  68. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/inventory/with_item_n.json +0 -0
  69. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/stackable/stackable +0 -0
  70. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/assets/templates/stackable/stackable_n.json +0 -0
  71. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/classes/__init__.py +0 -0
  72. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/classes/consumables.py +0 -0
  73. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/classes/placed_structures.py +0 -0
  74. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/classes/player.py +0 -0
  75. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/classes/resources.py +0 -0
  76. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/enums/__init__.py +0 -0
  77. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/enums/ark_enum.py +0 -0
  78. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/enums/ark_equipment_stat.py +0 -0
  79. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/enums/ark_item_quality.py +0 -0
  80. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/enums/ark_map.py +0 -0
  81. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/enums/ark_stat.py +0 -0
  82. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/ftp/__init__.py +0 -0
  83. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/helpers/dino/is_wild_tamed.py +0 -0
  84. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/logging/__init__.py +0 -0
  85. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/bases/base.py +0 -0
  86. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/cluster_data/ark_cluster_data.py +0 -0
  87. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/cluster_data/cluster_data_dino.py +0 -0
  88. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/cluster_data/cluster_data_item.py +0 -0
  89. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/cryopods/cryopod.py +0 -0
  90. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/dinos/__init__.py +0 -0
  91. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/dinos/baby.py +0 -0
  92. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/dinos/dino_ai_controller.py +0 -0
  93. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/dinos/dino_id.py +0 -0
  94. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/dinos/pedigree.py +0 -0
  95. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/dinos/tamed_baby.py +0 -0
  96. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/dinos/tamed_dino.py +0 -0
  97. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/equipment/__armor_defaults.py +0 -0
  98. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/equipment/__equipment.py +0 -0
  99. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/equipment/__init__.py +0 -0
  100. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/equipment/armor.py +0 -0
  101. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/equipment/saddle.py +0 -0
  102. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/equipment/shield.py +0 -0
  103. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/equipment/weapon.py +0 -0
  104. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/misc/__parsed_object_base.py +0 -0
  105. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/misc/dino_owner.py +0 -0
  106. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/misc/inventory_item.py +0 -0
  107. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/misc/object_crafter.py +0 -0
  108. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/misc/object_owner.py +0 -0
  109. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/stackables/__init__.py +0 -0
  110. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/stackables/_stackable.py +0 -0
  111. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/stackables/ammo.py +0 -0
  112. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/stackables/resource.py +0 -0
  113. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/object_model/structures/__init__.py +0 -0
  114. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/__init__.py +0 -0
  115. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_base_value_parser.py +0 -0
  116. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_base_value_validator.py +0 -0
  117. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_binary_reader_base.py +0 -0
  118. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_byte_operator.py +0 -0
  119. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/__init__.py +0 -0
  120. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/_property_insertor.py +0 -0
  121. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/_property_parser.py +0 -0
  122. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/_property_replacer.py +0 -0
  123. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/ark_binary_parser.py +0 -0
  124. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/ark_property.py +0 -0
  125. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/struct/__init__.py +0 -0
  126. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/struct/ark_dino_ancestor_entry.py +0 -0
  127. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/struct/ark_item_net_id.py +0 -0
  128. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/struct/ark_my_persistent_buff_datas.py +0 -0
  129. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/struct/ark_object_property.py +0 -0
  130. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/struct/ark_struct_type.py +0 -0
  131. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/struct/ark_tracked_actor_id_category_pair_with_bool.py +0 -0
  132. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/struct/ark_unique_net_id_repl.py +0 -0
  133. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/struct/ark_vector.py +0 -0
  134. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_legacy_parsing/struct/ark_vector_bool_pair.py +0 -0
  135. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_property_insertor.py +0 -0
  136. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/_property_replacer.py +0 -0
  137. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/ark_archive.py +0 -0
  138. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/ark_binary_parser.py +0 -0
  139. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/ark_object.py +0 -0
  140. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/ark_set.py +0 -0
  141. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/ark_value_type.py +0 -0
  142. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/array_property.py +0 -0
  143. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/game_object_reader_configuration.py +0 -0
  144. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/actor_transform.py +0 -0
  145. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_color.py +0 -0
  146. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_crafting_resource_requirement.py +0 -0
  147. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_custom_item_data.py +0 -0
  148. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_dino_ancestor_entry.py +0 -0
  149. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_dino_order_id.py +0 -0
  150. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_gacha_resource_struct.py +0 -0
  151. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_gene_trait_struct.py +0 -0
  152. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_gigantoraptor_bonded_struct.py +0 -0
  153. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_int_point.py +0 -0
  154. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_item_craft_queue_entry.py +0 -0
  155. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_item_net_id.py +0 -0
  156. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_key_value_pair.py +0 -0
  157. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_linear_color.py +0 -0
  158. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_my_persistent_buff_datas.py +0 -0
  159. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_object_property.py +0 -0
  160. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_painting_key_value.py +0 -0
  161. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_player_death_reason.py +0 -0
  162. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_primal_saddle_structure.py +0 -0
  163. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_quat.py +0 -0
  164. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_rotator.py +0 -0
  165. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_server_custom_folder.py +0 -0
  166. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_tracked_actor_id_category_pair.py +0 -0
  167. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_tracked_actor_id_category_pair_with_bool.py +0 -0
  168. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_tribe_alliance.py +0 -0
  169. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_tribe_rank_group.py +0 -0
  170. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_unique_net_id_repl.py +0 -0
  171. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_vector.py +0 -0
  172. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/ark_vector_bool_pair.py +0 -0
  173. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/object_reference.py +0 -0
  174. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/parsing/struct/unknown_struct.py +0 -0
  175. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/player/ark_character_config.py +0 -0
  176. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/player/ark_persistent_buff_data.py +0 -0
  177. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/player/ark_player.py +0 -0
  178. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/player/ark_tribute_item.py +0 -0
  179. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/saves/__init__.py +0 -0
  180. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/saves/save_context.py +0 -0
  181. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/utils/__init__.py +0 -0
  182. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/utils/heatmap_visualization.py +0 -0
  183. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/utils/import_file.py +0 -0
  184. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/utils/json_utils.py +0 -0
  185. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/utils/map_images.py +0 -0
  186. {arkparse-0.4.1 → arkparse-0.4.3}/src/arkparse/utils/tm_files.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arkparse
3
- Version: 0.4.1
3
+ Version: 0.4.3
4
4
  Summary: A package to parse and modify ark save files
5
5
  Project-URL: Homepage, https://github.com/VincentHenauGithub/ark-save-parser
6
6
  Author-email: Vincent Henau <vincent.henau.github@gmail.com>
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "arkparse"
7
- version = "0.4.1"
7
+ version = "0.4.3"
8
8
  dependencies = [
9
9
  "rcon>=2.4.9",
10
10
  "numpy>=2.3.2",
@@ -16,7 +16,7 @@ from arkparse.parsing import ArkBinaryParser
16
16
  from arkparse.saves.asa_save import AsaSave
17
17
  from arkparse.parsing import GameObjectReaderConfiguration
18
18
  from arkparse.parsing.struct.actor_transform import MapCoords, ActorTransform
19
- from arkparse.enums import ArkMap, ArkStat
19
+ from arkparse.enums import ArkMap, ArkStat, ArkDinoTrait
20
20
  from arkparse.utils import TEMP_FILES_DIR, ImportFile
21
21
  from arkparse.logging import ArkSaveLogger
22
22
  from arkparse.classes.dinos import Dinos
@@ -228,6 +228,12 @@ class DinoApi:
228
228
 
229
229
  return tamed_dinos
230
230
 
231
+ def get_owned_by_tribe(self, tribe_id: int, include_cryopodded: bool = True) -> Dict[UUID, TamedDino]:
232
+ dinos = self.get_all_tamed(include_cryopodded=include_cryopodded)
233
+ tribe_dinos = {k: v for k, v in dinos.items() if v.owner is not None and v.owner.target_team == tribe_id}
234
+
235
+ return tribe_dinos
236
+
231
237
  def get_all_of_at_least_level(self, level: int) -> Dict[UUID, Dino]:
232
238
  dinos = self.get_all()
233
239
  level_dinos = {k: v for k, v in dinos.items() if v.stats.current_level >= level}
@@ -269,6 +275,7 @@ class DinoApi:
269
275
 
270
276
  def get_all_filtered(self, level_lower_bound: int = None, level_upper_bound: int = None,
271
277
  class_names: List[str] = None,
278
+ traits: List[ArkDinoTrait] = None,
272
279
  tamed: bool = None,
273
280
  include_cryopodded: bool = True, only_cryopodded: bool = False,
274
281
  stat_minimum: int = None, stats: List[ArkStat] = None) -> Dict[UUID, Dino]:
@@ -307,6 +314,10 @@ class DinoApi:
307
314
  filtered_dinos = {k: v for k, v in filtered_dinos.items() if v.object.blueprint in class_names}
308
315
  ArkSaveLogger.api_log(f"Class - Filtered to {len(filtered_dinos)} dinos")
309
316
 
317
+ if traits is not None:
318
+ filtered_dinos = {k: v for k, v in filtered_dinos.items() if any(t.trait in traits for t in v.gene_traits)}
319
+ ArkSaveLogger.api_log(f"Traits - Filtered to {len(filtered_dinos)} dinos")
320
+
310
321
  if tamed is not None:
311
322
  if tamed:
312
323
  filtered_dinos = {k: v for k, v in filtered_dinos.items() if isinstance(v, TamedDino)}
@@ -36,13 +36,13 @@ class EquipmentApi(GeneralApi):
36
36
 
37
37
  @staticmethod
38
38
  def bp_to_class(blueprint: str):
39
- if blueprint in EqClasses.weapons.all_bps or ("/Weapons/" in blueprint):
39
+ if blueprint in EqClasses.weapons.all_bps or ("/Weapons/" in blueprint) or ("/CursedWeapons/" in blueprint):
40
40
  return EquipmentApi.Classes.WEAPON
41
- elif blueprint in EqClasses.saddles.all_bps or ("/Saddles/" in blueprint):
41
+ elif blueprint in EqClasses.saddles.all_bps or ("/Saddles/" in blueprint) or ("/CursedSaddles/" in blueprint):
42
42
  return EquipmentApi.Classes.SADDLE
43
- elif blueprint in EqClasses.shield.all_bps or ("/Armor/Shields/" in blueprint):
43
+ elif blueprint in EqClasses.shield.all_bps or ("/Armor/Shields/" in blueprint) or ("/CursedArmor/Shields/" in blueprint):
44
44
  return EquipmentApi.Classes.SHIELD
45
- elif blueprint in EqClasses.armor.all_bps or ("/Armor/" in blueprint):
45
+ elif blueprint in EqClasses.armor.all_bps or ("/Armor/" in blueprint) or ("/CursedArmor/" in blueprint):
46
46
  return EquipmentApi.Classes.ARMOR
47
47
  else:
48
48
  return None
@@ -52,14 +52,33 @@ class EquipmentApi(GeneralApi):
52
52
  return EquipmentApi._DEFAULT_CONFIG.blueprint_name_filter(blueprint)
53
53
 
54
54
  def __get_cls_filter(self, cls: "EquipmentApi.Classes"):
55
+ def create_cursed_variants(list: List[str]) -> List[str]:
56
+ cursed_variants = []
57
+ for bp in list:
58
+ if "/Weapons/" in bp:
59
+ cursed_variants.append(bp.replace("/Weapons/", "/Items/CursedWeapons/").replace(".PrimalItem", "_Cursed.PrimalItem").replace('PrimalEarth', 'LostColony').replace('Extinction', 'LostColony').replace('ScorchedEarth', 'LostColony')[:-1] + "Cursed_C")
60
+ elif "/Saddles/" in bp:
61
+ return []
62
+ elif "/Armor/Shields/" in bp:
63
+ cursed_variants.append(bp.replace("/Armor/Shields/", "/Items/CursedArmor/Shields/").replace(".PrimalItemArmor", "_Cursed.PrimalItemArmor").replace('PrimalEarth', 'LostColony').replace('Extinction', 'LostColony').replace('ScorchedEarth', 'LostColony')[:-1] + "Cursed_C")
64
+ elif "/Armor/" in bp:
65
+ new = bp.replace("/Armor/", "/Items/CursedArmor/").replace(".PrimalItemArmor", "_Cursed.PrimalItemArmor").replace('PrimalEarth', 'LostColony').replace('Extinction', 'LostColony').replace('ScorchedEarth', 'LostColony')[:-1] + "Cursed_C"
66
+ if "Items/Items" in new:
67
+ new = new.replace("Items/Items", "Items")
68
+ if "/Metal" in new:
69
+ new = new.replace("/Metal", "")
70
+ cursed_variants.append(new)
71
+
72
+ return cursed_variants
73
+
55
74
  if cls == self.Classes.WEAPON:
56
- return EqClasses.weapons.all_bps
75
+ return EqClasses.weapons.all_bps + create_cursed_variants(EqClasses.weapons.all_bps)
57
76
  elif cls == self.Classes.SADDLE:
58
77
  return EqClasses.saddles.all_bps
59
78
  elif cls == self.Classes.ARMOR:
60
- return EqClasses.armor.all_bps
79
+ return EqClasses.armor.all_bps + create_cursed_variants(EqClasses.armor.all_bps)
61
80
  elif cls == self.Classes.SHIELD:
62
- return EqClasses.shield.all_bps
81
+ return EqClasses.shield.all_bps + create_cursed_variants(EqClasses.shield.all_bps)
63
82
  else:
64
83
  return None
65
84
 
@@ -24,12 +24,12 @@ class StructureApi:
24
24
  reader_config = GameObjectReaderConfiguration(
25
25
  blueprint_name_filter=lambda name: name is not None \
26
26
  and "Structures" in name \
27
- and not "PrimalItemStructure_" in name \
27
+ and (not "PrimalItemStructure_" in name or "PrimalItemStructure_ASR" in name) \
28
28
  and not "/Skins/" in name \
29
29
  and not "PrimalInventory" in name \
30
30
  and not "/TreasureMap/" in name \
31
31
  # and not "Tileset" in name \
32
- and not "PrimalItemStructureSkin" in name
32
+ and not "PrimalItemStructureSkin" in name \
33
33
  and not "PrimalItemResource" in name \
34
34
  and not "/TrainCarts/" in name \
35
35
  )
@@ -108,6 +108,7 @@ class StructureApi:
108
108
 
109
109
  structures = {}
110
110
 
111
+ ArkSaveLogger.api_log(f"Parsing structure objects into structure models, total objects to parse: {len(objects)}")
111
112
  for key, obj in objects.items():
112
113
  obj : ArkGameObject = obj
113
114
  if obj is None:
@@ -306,10 +307,7 @@ class StructureApi:
306
307
  def get_all_with_inventory(self) -> Dict[UUID, StructureWithInventory]:
307
308
  structures = self.get_all()
308
309
  result = {}
309
-
310
- for key, obj in structures.items():
311
- if isinstance(obj, StructureWithInventory):
312
- result[key] = obj
310
+ result = {key: obj for key, obj in structures.items() if isinstance(obj, StructureWithInventory)}
313
311
 
314
312
  return result
315
313
 
@@ -0,0 +1,23 @@
1
+ {
2
+ "0": "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Ricochet_Lesser.PrimalItem_ItemTrait_Gun_Ricochet_Lesser_C",
3
+ "80": "ItemID",
4
+ "88": "StructProperty",
5
+ "100": "ItemNetID",
6
+ "112": "/Script/ShooterGame",
7
+ "129": "ItemID1",
8
+ "137": "UInt32Property",
9
+ "158": "ItemID2",
10
+ "166": "UInt32Property",
11
+ "187": "None",
12
+ "195": "OriginalItemDropLocation",
13
+ "203": "StructProperty",
14
+ "215": "Vector",
15
+ "227": "/Script/CoreUObject",
16
+ "268": "OwnerInventory",
17
+ "276": "ObjectProperty",
18
+ "311": "LastAutoDurabilityDecreaseTime",
19
+ "319": "DoubleProperty",
20
+ "344": "ItemVersion",
21
+ "352": "ByteProperty",
22
+ "370": "None"
23
+ }
@@ -131,7 +131,11 @@ class DlcDinos:
131
131
  doggo = "/Game/Packs/Wasteland/Dinos/Doggo/Doggo_Character_BP.Doggo_Character_BP_C"
132
132
  veilwyn = "/Game/LostColony/Dinos/YoungIceFox/YoungIceFox_DinoCompanion_Character_BP.YoungIceFox_DinoCompanion_Character_BP_C"
133
133
  elderclaw = "/Game/ASA/Dinos/SpiritBear/SpiritBear_Character_BP.SpiritBear_Character_BP_C"
134
- all_bps = [firemane, archelon, dread_mare, oasisaur, train, helper_bot, zeppelin, doggo, veilwyn, elderclaw]
134
+ solwyn = "/Game/LostColony/Dinos/AngelFox/AngelFox_Character_BP.AngelFox_Character_BP_C"
135
+ malwyn = "/Game/LostColony/Dinos/SnowDragon/SnowDragon_Character_BP.SnowDragon_Character_BP_C"
136
+ ossidon = "/Game/LostColony/Dinos/SnowMonster/SnowMonster_Character_BP.SnowMonster_Character_BP_C"
137
+ gloon = "/Game/LostColony/Dinos/LostChargePet/LostCharge_LanternPet_Char_BP.LostCharge_LanternPet_Char_BP_C"
138
+ all_bps = [firemane, archelon, dread_mare, oasisaur, train, helper_bot, zeppelin, doggo, veilwyn, elderclaw, solwyn, malwyn, ossidon, gloon]
135
139
 
136
140
  class ShoulderPets:
137
141
  glowtail = "/Game/Aberration/Dinos/LanternLizard/LanternLizard_Character_BP.LanternLizard_Character_BP_C"
@@ -107,6 +107,18 @@ class Saddles:
107
107
  managarmr: str = "/Game/Extinction/CoreBlueprints/Items/Saddle/PrimalItemArmor_IceJumperSaddle.PrimalItemArmor_IceJumperSaddle_C"
108
108
  velonosaur: str = "/Game/Extinction/CoreBlueprints/Items/Saddle/PrimalItemArmor_SpindlesSaddle.PrimalItemArmor_SpindlesSaddle_C"
109
109
  gigantoraptor: str = "/Gigantoraptor/Gigantoraptor/PrimalItemArmor_GigantoraptorSaddle.PrimalItemArmor_GigantoraptorSaddle_C"
110
+ desmodus: str = "/Game/Fjordur/Dinos/Desmodus/PrimalItemArmor_DesmodusSaddle.PrimalItemArmor_DesmodusSaddle_C"
111
+ soulwyn: str = "/Game/LostColony/Dinos/AngelFox/PrimalItemArmor_AngelFoxSaddle.PrimalItemArmor_AngelFoxSaddle_C"
112
+ gigadesmodus_platform: str = "/Game/LostColony/Dinos/BossBat/Saddle/PrimalItemArmor_BossBatSaddle.PrimalItemArmor_BossBatSaddle_C"
113
+ gigadesmodus: str = "/Game/LostColony/Dinos/BossBat/Saddle/PrimalItemArmor_BossBatSaddle_Platform.PrimalItemArmor_BossBatSaddle_Platform_C"
114
+ maelwyn: str = "/Game/LostColony/Dinos/DevilFox/PrimalItemArmor_DevilFoxSaddle.PrimalItemArmor_DevilFoxSaddle_C"
115
+ aureliax: str = "/Game/LostColony/Dinos/SnowDragon/PrimalItemArmor_SnowDragonSaddle.PrimalItemArmor_SnowDragonSaddle_C"
116
+ ossidon: str = "/Game/LostColony/Dinos/SnowMonster/PrimalItemArmor_SnowMonsterSaddle.PrimalItemArmor_SnowMonsterSaddle_C"
117
+ megaraptor: str = "/Game/ASA/Dinos/Megaraptor/PrimalItemArmor_ValMegaraptorSaddle.PrimalItemArmor_ValMegaraptorSaddle_C"
118
+ pyromane: str = "/Game/ASA/Dinos/FireLion/PrimalItemArmor_Saddle_FireLion.PrimalItemArmor_Saddle_FireLion_C"
119
+ crylophosaurus: str = "/Game/ASA/Dinos/Cryolophosaurus/Saddle/PrimalItemArmor_CryoSaddle.PrimalItemArmor_CryoSaddle_C"
120
+ deinonychus: str = "/Game/Valguero/Dinos/Deinonychus/PrimalItemArmor_DeinonychusSaddle.PrimalItemArmor_DeinonychusSaddle_C"
121
+
110
122
 
111
123
  all_bps = [yi_ling, archelon, ceratosaurus, deinosuchus, fasolasuchus, gigantoraptor_ASA,
112
124
  shastasaurus, xiphactinus, saddle_cart_btt, rockdrake_btt, allo, ankylo,
@@ -121,7 +133,9 @@ class Saddles:
121
133
  titanosaur_platform, beelzebufo, trike, carbo, tuso, yuty, basilisk, cave_wolf,
122
134
  karkinos, mole_rat, rock_drake, rock_drake_tek, camel, mantis, moth, rock_golem,
123
135
  thorny_dragon, bison, deinotherium, dreadnoughtus, maelizard, gacha, gas_bags,
124
- snow_owl, ravager, managarmr, velonosaur, helicoprion, gigantoraptor]
136
+ snow_owl, ravager, managarmr, velonosaur, helicoprion, gigantoraptor, desmodus,
137
+ soulwyn, gigadesmodus_platform, gigadesmodus, maelwyn, aureliax, ossidon, megaraptor,
138
+ pyromane, crylophosaurus, deinonychus]
125
139
 
126
140
  class Hazard:
127
141
  boots: str = "/Game/Aberration/CoreBlueprints/Items/Armor/HazardSuit/PrimalItemArmor_HazardSuitBoots.PrimalItemArmor_HazardSuitBoots_C"
@@ -179,6 +193,14 @@ class Flak:
179
193
  shirt: str = "/Game/PrimalEarth/CoreBlueprints/Items/Armor/Metal/PrimalItemArmor_MetalShirt.PrimalItemArmor_MetalShirt_C"
180
194
  all_bps = [boots, gloves, helmet, pants, shirt]
181
195
 
196
+ class CursedFlak:
197
+ boots: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_MetalBoots_Cursed.PrimalItemArmor_MetalBoots_Cursed_C"
198
+ gloves: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_MetalGloves_Cursed.PrimalItemArmor_MetalGloves_Cursed_C"
199
+ helmet: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_MetalHelmet_Cursed.PrimalItemArmor_MetalHelmet_Cursed_C"
200
+ pants: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_MetalPants_Cursed.PrimalItemArmor_MetalPants_Cursed_C"
201
+ shirt: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_MetalShirt_Cursed.PrimalItemArmor_MetalShirt_Cursed_C"
202
+ all_bps = [boots, gloves, helmet, pants, shirt]
203
+
182
204
  class Riot:
183
205
  boots: str = "/Game/PrimalEarth/CoreBlueprints/Items/Armor/Riot/PrimalItemArmor_RiotBoots.PrimalItemArmor_RiotBoots_C"
184
206
  gloves: str = "/Game/PrimalEarth/CoreBlueprints/Items/Armor/Riot/PrimalItemArmor_RiotGloves.PrimalItemArmor_RiotGloves_C"
@@ -187,6 +209,14 @@ class Riot:
187
209
  shirt: str = "/Game/PrimalEarth/CoreBlueprints/Items/Armor/Riot/PrimalItemArmor_RiotShirt.PrimalItemArmor_RiotShirt_C"
188
210
  all_bps = [boots, gloves, helmet, pants, shirt]
189
211
 
212
+ class CursedRiot:
213
+ boots: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_RiotBoots_Cursed.PrimalItemArmor_RiotBoots_Cursed_C"
214
+ gloves: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_RiotGloves_Cursed.PrimalItemArmor_RiotGloves_Cursed_C"
215
+ helmet: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_RiotHelmet_Cursed.PrimalItemArmor_RiotHelmet_Cursed_C"
216
+ pants: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_RiotPants_Cursed.PrimalItemArmor_RiotPants_Cursed_C"
217
+ shirt: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_RiotShirt_Cursed.PrimalItemArmor_RiotShirt_Cursed_C"
218
+ all_bps = [boots, gloves, helmet, pants, shirt]
219
+
190
220
  class SCUBA:
191
221
  flippers: str = "/Game/PrimalEarth/CoreBlueprints/Items/Armor/SCUBA/PrimalItemArmor_ScubaBoots_Flippers.PrimalItemArmor_ScubaBoots_Flippers_C"
192
222
  goggles: str = "/Game/PrimalEarth/CoreBlueprints/Items/Armor/SCUBA/PrimalItemArmor_ScubaHelmet_Goggles.PrimalItemArmor_ScubaHelmet_Goggles_C"
@@ -202,6 +232,22 @@ class TEK:
202
232
  shirt: str = "/Game/PrimalEarth/CoreBlueprints/Items/Armor/TEK/PrimalItemArmor_TekShirt.PrimalItemArmor_TekShirt_C"
203
233
  all_bps = [boots, gloves, helmet, pants, shirt]
204
234
 
235
+ class CursedTek:
236
+ boots: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_TekBoots_Cursed.PrimalItemArmor_TekBoots_Cursed_C"
237
+ gloves: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_TekGloves_Cursed.PrimalItemArmor_TekGloves_Cursed_C"
238
+ helmet: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_TekHelmet_Cursed.PrimalItemArmor_TekHelmet_Cursed_C"
239
+ pants: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_TekPants_Cursed.PrimalItemArmor_TekPants_Cursed_C"
240
+ shirt: str = "/Game/LostColony/CoreBlueprints/Items/CursedArmor/PrimalItemArmor_TekShirt_Cursed.PrimalItemArmor_TekShirt_Cursed_C"
241
+ all_bps = [boots, gloves, helmet, pants, shirt]
242
+
243
+ class Arctic:
244
+ boots: str = "/Game/LostColony/CoreBlueprints/Items/Armor/PrimalItemArmor_ArcticBoots.PrimalItemArmor_ArcticBoots_C"
245
+ gloves: str = "/Game/LostColony/CoreBlueprints/Items/Armor/PrimalItemArmor_ArcticGloves.PrimalItemArmor_ArcticGloves_C"
246
+ helmet: str = "/Game/LostColony/CoreBlueprints/Items/Armor/PrimalItemArmor_ArcticHelmet.PrimalItemArmor_ArcticHelmet_C"
247
+ pants: str = "/Game/LostColony/CoreBlueprints/Items/Armor/PrimalItemArmor_ArcticPants.PrimalItemArmor_ArcticPants_C"
248
+ shirt: str = "/Game/LostColony/CoreBlueprints/Items/Armor/PrimalItemArmor_ArcticShirt.PrimalItemArmor_ArcticShirt_C"
249
+ all_bps = [boots, gloves, helmet, pants, shirt]
250
+
205
251
  class Shields:
206
252
  metal: str = "/Game/PrimalEarth/CoreBlueprints/Items/Armor/Shields/PrimalItemArmor_MetalShield.PrimalItemArmor_MetalShield_C"
207
253
  riot: str = "/Game/PrimalEarth/CoreBlueprints/Items/Armor/Shields/PrimalItemArmor_TransparentRiotShield.PrimalItemArmor_TransparentRiotShield_C"
@@ -235,9 +281,14 @@ class Armor:
235
281
  chitin: Chitin = Chitin()
236
282
  hazard: Hazard = Hazard()
237
283
  desert: Desert = Desert()
284
+ arctic: Arctic = Arctic()
285
+ cursed_tek: CursedTek = CursedTek()
286
+ cursed_flak: CursedFlak = CursedFlak()
287
+ cursed_riot: CursedRiot = CursedRiot()
238
288
 
239
289
  all_bps = misc.all_bps + tek.all_bps + scuba.all_bps + riot.all_bps + flak.all_bps + leather.all_bps + \
240
- ghillie.all_bps + fur.all_bps + cloth.all_bps + chitin.all_bps + hazard.all_bps + desert.all_bps
290
+ ghillie.all_bps + fur.all_bps + cloth.all_bps + chitin.all_bps + hazard.all_bps + desert.all_bps + \
291
+ arctic.all_bps + cursed_tek.all_bps + cursed_flak.all_bps + cursed_riot.all_bps
241
292
 
242
293
  class Utilities:
243
294
  glider: str = "/Game/Aberration/CoreBlueprints/Items/Armor/PrimalItemArmor_Glider.PrimalItemArmor_Glider_C"
@@ -273,13 +324,35 @@ class Advanced:
273
324
  fabricated_pistol: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponMachinedPistol.PrimalItem_WeaponMachinedPistol_C"
274
325
  fabricated_shotgun: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponMachinedShotgun.PrimalItem_WeaponMachinedShotgun_C"
275
326
  fabricated_sniper: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponMachinedSniper.PrimalItem_WeaponMachinedSniper_C"
327
+ fabricated_crossbow: str = "/Game/LostColony/Weapons/FabricatedCrossbow/PrimalItem_WeaponCrossbow_Fab.PrimalItem_WeaponCrossbow_Fab_C"
276
328
  longneck: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponOneShotRifle.PrimalItem_WeaponOneShotRifle_C"
277
329
  assault_rifle: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponRifle.PrimalItem_WeaponRifle_C"
278
330
  rocket_launcher: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponRocketLauncher.PrimalItem_WeaponRocketLauncher_C"
279
331
  tek_rifle: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_TekRifle.PrimalItem_TekRifle_C"
280
332
  chainsaw: str = "/Game/ScorchedEarth/WeaponChainsaw/PrimalItem_ChainSaw.PrimalItem_ChainSaw_C"
281
333
  flamethrower: str = "/Game/ScorchedEarth/WeaponFlamethrower/PrimalItem_WeapFlamethrower.PrimalItem_WeapFlamethrower_C"
282
- all_bps = [compound_bow, fabricated_pistol, fabricated_shotgun, fabricated_sniper, longneck, assault_rifle, rocket_launcher, tek_rifle, chainsaw, flamethrower]
334
+ tek_spear: str = "/Game/LostColony/Weapons/TekSpear/PrimalItem_WeaponSpear_Tek.PrimalItem_WeaponSpear_Tek_C"
335
+ all_bps = [compound_bow, fabricated_pistol, fabricated_shotgun, fabricated_sniper, fabricated_crossbow,longneck, assault_rifle, rocket_launcher, tek_rifle, chainsaw, flamethrower, tek_spear]
336
+
337
+ class CursedWeapons:
338
+ chainsaw: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_ChainSaw_Cursed.PrimalItem_ChainSaw_Cursed_C"
339
+ tek_rifle: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_TekRifle_Cursed.PrimalItem_TekRifle_Cursed_C"
340
+ flamethrower: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeapFlamethrower_Cursed.PrimalItem_WeapFlamethrower_Cursed_C"
341
+ compound_bow: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponCompoundBow_Cursed.PrimalItem_WeaponCompoundBow_Cursed_C"
342
+ crossbow: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponCrossbow_Cursed.PrimalItem_WeaponCrossbow_Cursed_C"
343
+ harpoon: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponHarpoon_Cursed.PrimalItem_WeaponHarpoon_Cursed_C"
344
+ fabricated_pistol: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponMachinedPistol_Cursed.PrimalItem_WeaponMachinedPistol_Cursed_C"
345
+ fabricated_shotgun: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponMachinedShotgun_Cursed.PrimalItem_WeaponMachinedShotgun_Cursed_C"
346
+ fabricated_sniper: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponMachinedSniper_Cursed.PrimalItem_WeaponMachinedSniper_Cursed_C"
347
+ metal_hatchet: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponMetalHatchet_Cursed.PrimalItem_WeaponMetalHatchet_Cursed_C"
348
+ metal_pick: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponMetalPick_Cursed.PrimalItem_WeaponMetalPick_Cursed_C"
349
+ longneck: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponOneShotRifle_Cursed.PrimalItem_WeaponOneShotRifle_Cursed_C"
350
+ pike: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponPike_Cursed.PrimalItem_WeaponPike_Cursed_C"
351
+ assault_rifle: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponRifle_Cursed.PrimalItem_WeaponRifle_Cursed_C"
352
+ sword: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponSword_Cursed.PrimalItem_WeaponSword_Cursed_C"
353
+ tek_sword: str = "/Game/LostColony/CoreBlueprints/Items/CursedWeapons/PrimalItem_WeaponTekSword_Cursed.PrimalItem_WeaponTekSword_Cursed_C"
354
+
355
+ all_bps = [chainsaw, tek_rifle, flamethrower, compound_bow, crossbow, harpoon, fabricated_pistol, fabricated_shotgun, fabricated_sniper, metal_hatchet, metal_pick, longneck, pike, assault_rifle, sword, tek_sword]
283
356
 
284
357
  class Throwables:
285
358
  gas_grenade: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_GasGrenade.PrimalItem_GasGrenade_C"
@@ -289,7 +362,8 @@ class Throwables:
289
362
  grenade: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponGrenade.PrimalItem_WeaponGrenade_C"
290
363
  bola: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponBola.PrimalItem_WeaponBola_C"
291
364
  spear: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponSpear.PrimalItem_WeaponSpear_C"
292
- all_bps = [gas_grenade, poison_grenade, tek_grenade, c4, grenade, bola, spear]
365
+ tek_gravity_grenade: str = "/Game/Extinction/CoreBlueprints/Weapons/PrimalItem_WeaponTekGravityGrenade.PrimalItem_WeaponTekGravityGrenade_C"
366
+ all_bps = [gas_grenade, poison_grenade, tek_grenade, c4, grenade, bola, spear, tek_gravity_grenade]
293
367
 
294
368
  class Misc:
295
369
  climb_pick: str = "/Game/Aberration/CoreBlueprints/Weapons/PrimalItem_WeaponClimbPick.PrimalItem_WeaponClimbPick_C"
@@ -308,6 +382,7 @@ class Misc:
308
382
  spray_paint: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponSprayPaint.PrimalItem_WeaponSprayPaint_C"
309
383
  tripwire_c4: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponTripwireC4.PrimalItem_WeaponTripwireC4_C"
310
384
  fists: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/WeapFists.WeapFists_C"
385
+ taxidermy_tool: str = "/Game/Extinction/CoreBlueprints/Weapons/PrimalItem_WeaponTaxidermyTool.PrimalItem_WeaponTaxidermyTool_C"
311
386
 
312
387
  paintbrush: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponPaintbrush.PrimalItem_WeaponPaintbrush_C"
313
388
  scissors: str = "/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponScissors.PrimalItem_WeaponScissors_C"
@@ -348,8 +423,9 @@ class Weapons:
348
423
  gathering: Gathering = Gathering()
349
424
  primitive: Primitive = Primitive()
350
425
  advanced: Advanced = Advanced()
426
+ cursed: CursedWeapons = CursedWeapons()
351
427
 
352
- all_bps = gathering.all_bps + primitive.all_bps + advanced.all_bps
428
+ all_bps = gathering.all_bps + primitive.all_bps + advanced.all_bps + cursed.all_bps
353
429
 
354
430
  class Mek:
355
431
  shield: str = "/Game/Extinction/CoreBlueprints/Items/Saddle/PrimalItemArmor_MekBackpack_Shield.PrimalItemArmor_MekBackpack_Shield_C"
@@ -369,7 +445,7 @@ class ArmaDoggoGear:
369
445
  medpack: str = "/Game/Packs/Wasteland/Dinos/CompanionDino/Items/Armor/PrimalItemArmor_DinoCompanion_Gear_Medkit.PrimalItemArmor_DinoCompanion_Gear_Medkit_C"
370
446
  camping_gear: str = "/Game/Packs/Wasteland/Dinos/CompanionDino/Items/Armor/PrimalItemArmor_DinoCompanion_Gear_RolledUpSleepingBag.PrimalItemArmor_DinoCompanion_Gear_RolledUpSleepingBag_C"
371
447
  picnic_set: str = "/Game/Packs/Wasteland/Dinos/CompanionDino/Items/Armor/PrimalItemArmor_DinoCompanion_Gear_FoodBasket.PrimalItemArmor_DinoCompanion_Gear_FoodBasket_C"
372
- battle_spikes: str = "\Game\Packs\Wasteland\Dinos\CompanionDino\Items\Armor\PrimalItemArmor_DinoCompanion_Gear_Spikes.PrimalItemArmor_DinoCompanion_Gear_Spikes_C"
448
+ battle_spikes: str = "/Game/Packs/Wasteland/Dinos/CompanionDino/Items/Armor/PrimalItemArmor_DinoCompanion_Gear_Spikes.PrimalItemArmor_DinoCompanion_Gear_Spikes_C"
373
449
  bait_trap: str = "/Game/Packs/Wasteland/Dinos/CompanionDino/Items/Armor/PrimalItemArmor_DinoCompanion_Gear_MeatSack.PrimalItemArmor_DinoCompanion_Gear_MeatSack_C"
374
450
 
375
451
 
@@ -388,4 +464,4 @@ class Equipment:
388
464
  mek: Mek = Mek()
389
465
  arma_doggo_gear: ArmaDoggoGear = ArmaDoggoGear()
390
466
 
391
- all_bps = saddles.all_bps + armor.all_bps + utilities.all_bps + weapons.all_bps + shield.all_bps + ammo.all_bps + misc.all_bps + throwables.all_bps + mek.all_bps + arma_doggo_gear.all_bps
467
+ all_bps = saddles.all_bps + armor.all_bps + utilities.all_bps + weapons.all_bps + shield.all_bps + ammo.all_bps + misc.all_bps + throwables.all_bps + mek.all_bps + arma_doggo_gear.all_bps
@@ -0,0 +1,134 @@
1
+ """Item trait blueprint paths grouped by type and rarity (Lesser/Moderate/Greater).
2
+
3
+ Structure mirrors other classes in this package: top-level type classes (`Armor`,
4
+ `Gun`, `Melee`, `Projectile`) each expose `.greater`, `.moderate`, `.lesser`
5
+ instances and an `all_bps` list combining them.
6
+ """
7
+
8
+ class ArmorGreater:
9
+ ammo_on_hit: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_AmmoOnHit.PrimalItem_ItemTrait_Armor_AmmoOnHit_C"
10
+ increased_incoming_healing: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_IncreasedIncomingHealing.PrimalItem_ItemTrait_Armor_IncreasedIncomingHealing_C"
11
+ marathon: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_Marathon.PrimalItem_ItemTrait_Armor_Marathon_C"
12
+ mobile: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_Mobile.PrimalItem_ItemTrait_Armor_Mobile_C"
13
+ reduced_debuff_duration: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_ReducedDebuffDuration.PrimalItem_ItemTrait_Armor_ReducedDebuffDuration_C"
14
+ all_bps = [ammo_on_hit, increased_incoming_healing, marathon, mobile, reduced_debuff_duration]
15
+
16
+ class ArmorLesser:
17
+ ammo_on_hit: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_AmmoOnHit_Lesser.PrimalItem_ItemTrait_Armor_AmmoOnHit_Lesser_C"
18
+ increased_incoming_healing: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_IncreasedIncomingHealing_Lesser.PrimalItem_ItemTrait_Armor_IncreasedIncomingHealing_Lesser_C"
19
+ marathon: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_Marathon_Lesser.PrimalItem_ItemTrait_Armor_Marathon_Lesser_C"
20
+ mobile: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_Mobile_Lesser.PrimalItem_ItemTrait_Armor_Mobile_Lesser_C"
21
+ reduced_debuff_duration: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_ReducedDebuffDuration_Lesser.PrimalItem_ItemTrait_Armor_ReducedDebuffDuration_Lesser_C"
22
+ all_bps = [ammo_on_hit, increased_incoming_healing, marathon, mobile, reduced_debuff_duration]
23
+
24
+ class ArmorModerate:
25
+ ammo_on_hit: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_AmmoOnHit_Moderate.PrimalItem_ItemTrait_Armor_AmmoOnHit_Moderate_C"
26
+ increased_incoming_healing: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_IncreasedIncomingHealing_Moderate.PrimalItem_ItemTrait_Armor_IncreasedIncomingHealing_Moderate_C"
27
+ marathon: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_Marathon_Moderate.PrimalItem_ItemTrait_Armor_Marathon_Moderate_C"
28
+ mobile: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_Mobile_Moderate.PrimalItem_ItemTrait_Armor_Mobile_Moderate_C"
29
+ reduced_debuff_duration: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Armor_ReducedDebuffDuration_Moderate.PrimalItem_ItemTrait_Armor_ReducedDebuffDuration_Moderate_C"
30
+ all_bps = [ammo_on_hit, increased_incoming_healing, marathon, mobile, reduced_debuff_duration]
31
+
32
+ class GunGreater:
33
+ cannibalizing: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Cannibalizing.PrimalItem_ItemTrait_Gun_Cannibalizing_C"
34
+ focusing: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Focusing.PrimalItem_ItemTrait_Gun_Focusing_C"
35
+ reduced_damage_on_hit: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_ReducedDamageOnHit.PrimalItem_ItemTrait_Gun_ReducedDamageOnHit_C"
36
+ ricochet: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Ricochet.PrimalItem_ItemTrait_Gun_Ricochet_C"
37
+ tracker: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Tracker.PrimalItem_ItemTrait_Gun_Tracker_C"
38
+ all_bps = [cannibalizing, focusing, reduced_damage_on_hit, ricochet, tracker]
39
+
40
+ class GunLesser:
41
+ cannibalizing: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Cannibalizing_Lesser.PrimalItem_ItemTrait_Gun_Cannibalizing_Lesser_C"
42
+ focusing: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Focusing_Lesser.PrimalItem_ItemTrait_Gun_Focusing_Lesser_C"
43
+ reduced_damage_on_hit: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_ReducedDamageOnHit_Lesser.PrimalItem_ItemTrait_Gun_ReducedDamageOnHit_Lesser_C"
44
+ ricochet: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Ricochet_Lesser.PrimalItem_ItemTrait_Gun_Ricochet_Lesser_C"
45
+ tracker: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Tracker_Lesser.PrimalItem_ItemTrait_Gun_Tracker_Lesser_C"
46
+ all_bps = [cannibalizing, focusing, reduced_damage_on_hit, ricochet, tracker]
47
+
48
+ class GunModerate:
49
+ cannibalizing: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Cannibalizing_Moderate.PrimalItem_ItemTrait_Gun_Cannibalizing_Moderate_C"
50
+ focusing: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Focusing_Moderate.PrimalItem_ItemTrait_Gun_Focusing_Moderate_C"
51
+ reduced_damage_on_hit: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_ReducedDamageOnHit_Moderate.PrimalItem_ItemTrait_Gun_ReducedDamageOnHit_Moderate_C"
52
+ ricochet: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Ricochet_Moderate.PrimalItem_ItemTrait_Gun_Ricochet_Moderate_C"
53
+ tracker: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Gun_Tracker_Moderate.PrimalItem_ItemTrait_Gun_Tracker_Moderate_C"
54
+ all_bps = [cannibalizing, focusing, reduced_damage_on_hit, ricochet, tracker]
55
+
56
+ class MeleeGreater:
57
+ heal_on_damage: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_HealOnDamage.PrimalItem_ItemTrait_Melee_HealOnDamage_C"
58
+ increased_damage_from_behind: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_IncreasedDamageFromBehind.PrimalItem_ItemTrait_Melee_IncreasedDamageFromBehind_C"
59
+ increased_damage_to_non_living: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_IncreasedDamageToNonLiving.PrimalItem_ItemTrait_Melee_IncreasedDamageToNonLiving_C"
60
+ increased_speed_and_damage_taken: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_IncreasedSpeedAndDamageTaken.PrimalItem_ItemTrait_Melee_IncreasedSpeedAndDamageTaken_C"
61
+ shield_on_hit: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_ShieldOnHit.PrimalItem_ItemTrait_Melee_ShieldOnHit_C"
62
+ all_bps = [heal_on_damage, increased_damage_from_behind, increased_damage_to_non_living, increased_speed_and_damage_taken, shield_on_hit]
63
+
64
+ class MeleeLesser:
65
+ heal_on_damage: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_HealOnDamage_Lesser.PrimalItem_ItemTrait_Melee_HealOnDamage_Lesser_C"
66
+ increased_damage_from_behind: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_IncreasedDamageFromBehind_Lesser.PrimalItem_ItemTrait_Melee_IncreasedDamageFromBehind_Lesser_C"
67
+ increased_damage_to_non_living: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_IncreasedDamageToNonLiving_Lesser.PrimalItem_ItemTrait_Melee_IncreasedDamageToNonLiving_Lesser_C"
68
+ increased_speed_and_damage_taken: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_IncreasedSpeedAndDamageTaken_Lesser.PrimalItem_ItemTrait_Melee_IncreasedSpeedAndDamageTaken_Lesser_C"
69
+ shield_on_hit: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_ShieldOnHit_Lesser.PrimalItem_ItemTrait_Melee_ShieldOnHit_Lesser_C"
70
+ all_bps = [heal_on_damage, increased_damage_from_behind, increased_damage_to_non_living, increased_speed_and_damage_taken, shield_on_hit]
71
+
72
+ class MeleeModerate:
73
+ heal_on_damage: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_HealOnDamage_Moderate.PrimalItem_ItemTrait_Melee_HealOnDamage_Moderate_C"
74
+ increased_damage_from_behind: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_IncreasedDamageFromBehind_Moderate.PrimalItem_ItemTrait_Melee_IncreasedDamageFromBehind_Moderate_C"
75
+ increased_damage_to_non_living: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_IncreasedDamageToNonLiving_Moderate.PrimalItem_ItemTrait_Melee_IncreasedDamageToNonLiving_Moderate_C"
76
+ increased_speed_and_damage_taken: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_IncreasedSpeedAndDamageTaken_Moderate.PrimalItem_ItemTrait_Melee_IncreasedSpeedAndDamageTaken_Moderate_C"
77
+ shield_on_hit: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Melee_ShieldOnHit_Moderate.PrimalItem_ItemTrait_Melee_ShieldOnHit_Moderate_C"
78
+ all_bps = [heal_on_damage, increased_damage_from_behind, increased_damage_to_non_living, increased_speed_and_damage_taken, shield_on_hit]
79
+
80
+ class ProjectileGreater:
81
+ antigrav: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_Antigrav.PrimalItem_ItemTrait_Projectile_Antigrav_C"
82
+ extra_damage_to_vulnerable: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_ExtraDamageToVulnerable.PrimalItem_ItemTrait_Projectile_ExtraDamageToVulnerable_C"
83
+ increased_damage_to_alpha: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_IncreasedDamageToAlpha.PrimalItem_ItemTrait_Projectile_IncreasedDamageToAlpha_C"
84
+ increased_first_hit_damage: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_IncreasedFirstHitDamage.PrimalItem_ItemTrait_Projectile_IncreasedFirstHitDamage_C"
85
+ second_projectile: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_SecondProjectile.PrimalItem_ItemTrait_Projectile_SecondProjectile_C"
86
+ all_bps = [antigrav, extra_damage_to_vulnerable, increased_damage_to_alpha, increased_first_hit_damage, second_projectile]
87
+
88
+ class ProjectileLesser:
89
+ antigrav: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_Antigrav_Lesser.PrimalItem_ItemTrait_Projectile_Antigrav_Lesser_C"
90
+ extra_damage_to_vulnerable: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_ExtraDamageToVulnerable_Lesser.PrimalItem_ItemTrait_Projectile_ExtraDamageToVulnerable_Lesser_C"
91
+ increased_damage_to_alpha: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_IncreasedDamageToAlpha_Lesser.PrimalItem_ItemTrait_Projectile_IncreasedDamageToAlpha_Lesser_C"
92
+ increased_first_hit_damage: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_IncreasedFirstHitDamage_Lesser.PrimalItem_ItemTrait_Projectile_IncreasedFirstHitDamage_Lesser_C"
93
+ second_projectile: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_SecondProjectile_Lesser.PrimalItem_ItemTrait_Projectile_SecondProjectile_Lesser_C"
94
+ all_bps = [antigrav, extra_damage_to_vulnerable, increased_damage_to_alpha, increased_first_hit_damage, second_projectile]
95
+
96
+ class ProjectileModerate:
97
+ antigrav: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_Antigrav_Moderate.PrimalItem_ItemTrait_Projectile_Antigrav_Moderate_C"
98
+ extra_damage_to_vulnerable: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_ExtraDamageToVulnerable_Moderate.PrimalItem_ItemTrait_Projectile_ExtraDamageToVulnerable_Moderate_C"
99
+ increased_damage_to_alpha: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_IncreasedDamageToAlpha_Moderate.PrimalItem_ItemTrait_Projectile_IncreasedDamageToAlpha_Moderate_C"
100
+ increased_first_hit_damage: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_IncreasedFirstHitDamage_Moderate.PrimalItem_ItemTrait_Projectile_IncreasedFirstHitDamage_Moderate_C"
101
+ second_projectile: str = "/Game/Packs/Wasteland/CoreBlueprints/ItemTraits/Items/PrimalItem_ItemTrait_Projectile_SecondProjectile_Moderate.PrimalItem_ItemTrait_Projectile_SecondProjectile_Moderate_C"
102
+ all_bps = [antigrav, extra_damage_to_vulnerable, increased_damage_to_alpha, increased_first_hit_damage, second_projectile]
103
+
104
+ class Armor:
105
+ greater: ArmorGreater = ArmorGreater()
106
+ moderate: ArmorModerate = ArmorModerate()
107
+ lesser: ArmorLesser = ArmorLesser()
108
+ all_bps = greater.all_bps + moderate.all_bps + lesser.all_bps
109
+
110
+ class Gun:
111
+ greater: GunGreater = GunGreater()
112
+ moderate: GunModerate = GunModerate()
113
+ lesser: GunLesser = GunLesser()
114
+ all_bps = greater.all_bps + moderate.all_bps + lesser.all_bps
115
+
116
+ class Melee:
117
+ greater: MeleeGreater = MeleeGreater()
118
+ moderate: MeleeModerate = MeleeModerate()
119
+ lesser: MeleeLesser = MeleeLesser()
120
+ all_bps = greater.all_bps + moderate.all_bps + lesser.all_bps
121
+
122
+ class Projectile:
123
+ greater: ProjectileGreater = ProjectileGreater()
124
+ moderate: ProjectileModerate = ProjectileModerate()
125
+ lesser: ProjectileLesser = ProjectileLesser()
126
+ all_bps = greater.all_bps + moderate.all_bps + lesser.all_bps
127
+
128
+ class Traits:
129
+ armor: Armor = Armor()
130
+ gun: Gun = Gun()
131
+ melee: Melee = Melee()
132
+ projectile: Projectile = Projectile()
133
+ all_bps = armor.all_bps + gun.all_bps + melee.all_bps + projectile.all_bps
134
+
@@ -52,6 +52,14 @@ class ArkDinoTrait(Enum):
52
52
  COLD = "Cold"
53
53
  CAREFREE = "Carefree"
54
54
  INHERIT_MELEE_MUTABLE = "InheritMeleeMutable"
55
+ IRONHIDE = "Ironhide"
56
+ PACK_MULE = "PackMule"
57
+ SHARPSHOOTER = "Sharpshooter"
58
+ SWIFT = "Swift"
59
+ EFFICIENT = "Efficient"
60
+ BLOODTHIRSTY = "Bloodthirsty"
61
+ BEASTMASTER = "Beastmaster"
62
+ BULWARK = "Bulwark"
55
63
 
56
64
  def from_string(value: str) -> "ArkDinoTrait":
57
65
  if "[" in value:
@@ -61,4 +69,7 @@ class ArkDinoTrait(Enum):
61
69
  if trait.value == value:
62
70
  return trait
63
71
 
64
- raise ValueError(f"Trait {value} not found")
72
+ raise ValueError(f"Trait {value} not found")
73
+
74
+ def __str__(self):
75
+ return self.value
@@ -74,6 +74,7 @@ class _FtpArkMap:
74
74
  ISLAND = {"folder": "TheIsland"}
75
75
  ABERRATION = {"folder": "Aberration"}
76
76
  RAGNAROK = {"folder": "Ragnarok"}
77
+ LOST_COLONY = {"folder": "LostColony"}
77
78
 
78
79
  class INI:
79
80
  ENGINE= "Engine.ini"
@@ -145,8 +146,10 @@ class ArkFtpClient:
145
146
  self.map = _FtpArkMap.ABERRATION
146
147
  elif map == ArkMap.RAGNAROK:
147
148
  self.map = _FtpArkMap.RAGNAROK
149
+ elif map == ArkMap.LOST_COLONY:
150
+ self.map = _FtpArkMap.LOST_COLONY
148
151
  else:
149
- raise ValueError(f"Map {map} is not supported, but you can add itin this file")
152
+ raise ValueError(f"Map {map} is not supported, but you can add it in this file")
150
153
 
151
154
  def _check_map(self, map: dict):
152
155
  if map is None and self.map is None:
@@ -49,8 +49,14 @@ class ArkSaveLogger:
49
49
  @staticmethod
50
50
  def parser_log(message: str):
51
51
  struct_header = ""
52
+ max = 15
53
+ curr = 0
52
54
  for struct in ArkSaveLogger.current_struct_path:
53
55
  struct_header += f"[{struct}]"
56
+ curr += 1
57
+ if curr >= max:
58
+ struct_header += "[...]"
59
+ break
54
60
  ArkSaveLogger.__log(struct_header + message, ArkSaveLogger.LogTypes.PARSER, ArkSaveLogger.LogColors.CYAN)
55
61
 
56
62
  @staticmethod
@@ -259,7 +259,7 @@ class ArkGameObject(ArkPropertyContainer):
259
259
  except Exception as e:
260
260
  ArkSaveLogger.error_log(f"Error reading class name for object {obj_uuid}: {e}")
261
261
  reader.structured_print(to_default_file=True)
262
- input("Press Enter to continue...")
262
+ # input("Press Enter to continue...")
263
263
  class_name = "UnknownClass"
264
264
 
265
265
  return class_name, string_name