arkparse 0.4.0__tar.gz → 0.4.2__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.0 → arkparse-0.4.2}/PKG-INFO +1 -1
  2. {arkparse-0.4.0 → arkparse-0.4.2}/pyproject.toml +1 -1
  3. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/api/dino_api.py +12 -1
  4. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/api/equipment_api.py +26 -7
  5. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/api/structure_api.py +2 -2
  6. arkparse-0.4.2/src/arkparse/assets/LOST_COLONY.PNG +0 -0
  7. arkparse-0.4.2/src/arkparse/assets/templates/trait/trait_n.json +23 -0
  8. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/classes/dinos.py +5 -1
  9. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/classes/equipment.py +83 -7
  10. arkparse-0.4.2/src/arkparse/classes/traits.py +134 -0
  11. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/enums/ark_dino_trait.py +12 -1
  12. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/ftp/ark_ftp_client.py +4 -1
  13. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/logging/ark_save_logger.py +6 -0
  14. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/ark_game_object.py +36 -3
  15. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/dinos/dino.py +20 -4
  16. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/dinos/stats.py +7 -0
  17. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/equipment/__equipment_with_armor.py +1 -1
  18. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/equipment/__equipment_with_durability.py +2 -2
  19. arkparse-0.4.2/src/arkparse/object_model/misc/trait.py +29 -0
  20. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/structures/structure.py +2 -0
  21. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_property_parser.py +2 -2
  22. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/ark_property.py +10 -6
  23. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/ark_property_container.py +10 -0
  24. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/__init__.py +2 -0
  25. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_custom_item_data.py +9 -1
  26. arkparse-0.4.2/src/arkparse/parsing/struct/ark_milestone_tree_level_and_index.py +44 -0
  27. arkparse-0.4.2/src/arkparse/parsing/struct/ark_patrol_group_saved_data.py +62 -0
  28. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_struct_type.py +6 -0
  29. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/player/ark_character_stats.py +1 -1
  30. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/saves/header_location.py +8 -3
  31. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/saves/save_connection.py +5 -6
  32. {arkparse-0.4.0 → arkparse-0.4.2}/.gitignore +0 -0
  33. {arkparse-0.4.0 → arkparse-0.4.2}/LICENSE +0 -0
  34. {arkparse-0.4.0 → arkparse-0.4.2}/README.md +0 -0
  35. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/__init__.py +0 -0
  36. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/api/__init__.py +0 -0
  37. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/api/base_api.py +0 -0
  38. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/api/general_api.py +0 -0
  39. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/api/json_api.py +0 -0
  40. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/api/player_api.py +0 -0
  41. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/api/rcon_api.py +0 -0
  42. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/api/stackable_api.py +0 -0
  43. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/ark_tribe.py +0 -0
  44. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/ABERRATION.PNG +0 -0
  45. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/RAGNAROK.PNG +0 -0
  46. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/THE_ISLAND.PNG +0 -0
  47. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/__init__.py +0 -0
  48. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/heavy_inventory +0 -0
  49. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/tamable_dinos.txt +0 -0
  50. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/armor +0 -0
  51. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/armor_bp +0 -0
  52. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/armor_bp_n.json +0 -0
  53. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/armor_n.json +0 -0
  54. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/saddle +0 -0
  55. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/saddle_bp +0 -0
  56. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/saddle_bp_n.json +0 -0
  57. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/saddle_n.json +0 -0
  58. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/shield +0 -0
  59. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/shield_bp +0 -0
  60. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/shield_bp_n.json +0 -0
  61. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/shield_n.json +0 -0
  62. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/weapon +0 -0
  63. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/weapon_bp +0 -0
  64. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/weapon_bp_n.json +0 -0
  65. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/equipment/weapon_n.json +0 -0
  66. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/inventory/with_item_n.json +0 -0
  67. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/stackable/stackable +0 -0
  68. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/assets/templates/stackable/stackable_n.json +0 -0
  69. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/classes/__init__.py +0 -0
  70. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/classes/consumables.py +0 -0
  71. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/classes/placed_structures.py +0 -0
  72. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/classes/player.py +0 -0
  73. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/classes/resources.py +0 -0
  74. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/enums/__init__.py +0 -0
  75. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/enums/ark_enum.py +0 -0
  76. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/enums/ark_equipment_stat.py +0 -0
  77. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/enums/ark_item_quality.py +0 -0
  78. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/enums/ark_map.py +0 -0
  79. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/enums/ark_stat.py +0 -0
  80. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/ftp/__init__.py +0 -0
  81. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/helpers/dino/is_wild_tamed.py +0 -0
  82. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/logging/__init__.py +0 -0
  83. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/bases/base.py +0 -0
  84. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/cluster_data/ark_cluster_data.py +0 -0
  85. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/cluster_data/cluster_data_dino.py +0 -0
  86. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/cluster_data/cluster_data_item.py +0 -0
  87. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/cryopods/cryopod.py +0 -0
  88. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/dinos/__init__.py +0 -0
  89. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/dinos/baby.py +0 -0
  90. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/dinos/dino_ai_controller.py +0 -0
  91. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/dinos/dino_id.py +0 -0
  92. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/dinos/pedigree.py +0 -0
  93. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/dinos/tamed_baby.py +0 -0
  94. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/dinos/tamed_dino.py +0 -0
  95. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/equipment/__armor_defaults.py +0 -0
  96. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/equipment/__equipment.py +0 -0
  97. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/equipment/__init__.py +0 -0
  98. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/equipment/armor.py +0 -0
  99. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/equipment/saddle.py +0 -0
  100. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/equipment/shield.py +0 -0
  101. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/equipment/weapon.py +0 -0
  102. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/misc/__parsed_object_base.py +0 -0
  103. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/misc/dino_owner.py +0 -0
  104. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/misc/inventory.py +0 -0
  105. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/misc/inventory_item.py +0 -0
  106. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/misc/object_crafter.py +0 -0
  107. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/misc/object_owner.py +0 -0
  108. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/stackables/__init__.py +0 -0
  109. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/stackables/_stackable.py +0 -0
  110. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/stackables/ammo.py +0 -0
  111. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/stackables/resource.py +0 -0
  112. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/structures/__init__.py +0 -0
  113. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/object_model/structures/structure_with_inventory.py +0 -0
  114. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/__init__.py +0 -0
  115. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_base_value_parser.py +0 -0
  116. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_base_value_validator.py +0 -0
  117. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_binary_reader_base.py +0 -0
  118. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_byte_operator.py +0 -0
  119. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/__init__.py +0 -0
  120. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/_property_insertor.py +0 -0
  121. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/_property_parser.py +0 -0
  122. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/_property_replacer.py +0 -0
  123. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/ark_binary_parser.py +0 -0
  124. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/ark_property.py +0 -0
  125. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/struct/__init__.py +0 -0
  126. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/struct/ark_dino_ancestor_entry.py +0 -0
  127. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/struct/ark_item_net_id.py +0 -0
  128. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/struct/ark_my_persistent_buff_datas.py +0 -0
  129. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/struct/ark_object_property.py +0 -0
  130. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/struct/ark_struct_type.py +0 -0
  131. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/struct/ark_tracked_actor_id_category_pair_with_bool.py +0 -0
  132. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/struct/ark_unique_net_id_repl.py +0 -0
  133. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/struct/ark_vector.py +0 -0
  134. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_legacy_parsing/struct/ark_vector_bool_pair.py +0 -0
  135. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_property_insertor.py +0 -0
  136. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/_property_replacer.py +0 -0
  137. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/ark_archive.py +0 -0
  138. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/ark_binary_parser.py +0 -0
  139. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/ark_object.py +0 -0
  140. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/ark_set.py +0 -0
  141. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/ark_value_type.py +0 -0
  142. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/array_property.py +0 -0
  143. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/game_object_reader_configuration.py +0 -0
  144. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/actor_transform.py +0 -0
  145. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_color.py +0 -0
  146. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_crafting_resource_requirement.py +0 -0
  147. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_dino_ancestor_entry.py +0 -0
  148. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_dino_order_id.py +0 -0
  149. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_gacha_resource_struct.py +0 -0
  150. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_gene_trait_struct.py +0 -0
  151. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_gigantoraptor_bonded_struct.py +0 -0
  152. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_int_point.py +0 -0
  153. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_item_craft_queue_entry.py +0 -0
  154. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_item_net_id.py +0 -0
  155. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_key_value_pair.py +0 -0
  156. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_linear_color.py +0 -0
  157. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_my_persistent_buff_datas.py +0 -0
  158. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_object_property.py +0 -0
  159. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_painting_key_value.py +0 -0
  160. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_player_death_reason.py +0 -0
  161. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_primal_saddle_structure.py +0 -0
  162. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_quat.py +0 -0
  163. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_rotator.py +0 -0
  164. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_server_custom_folder.py +0 -0
  165. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_tracked_actor_id_category_pair.py +0 -0
  166. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_tracked_actor_id_category_pair_with_bool.py +0 -0
  167. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_tribe_alliance.py +0 -0
  168. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_tribe_rank_group.py +0 -0
  169. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_unique_net_id_repl.py +0 -0
  170. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_vector.py +0 -0
  171. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/ark_vector_bool_pair.py +0 -0
  172. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/object_reference.py +0 -0
  173. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/parsing/struct/unknown_struct.py +0 -0
  174. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/player/ark_character_config.py +0 -0
  175. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/player/ark_persistent_buff_data.py +0 -0
  176. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/player/ark_player.py +0 -0
  177. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/player/ark_tribute_item.py +0 -0
  178. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/saves/__init__.py +0 -0
  179. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/saves/asa_save.py +0 -0
  180. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/saves/save_context.py +0 -0
  181. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/utils/__init__.py +0 -0
  182. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/utils/heatmap_visualization.py +0 -0
  183. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/utils/import_file.py +0 -0
  184. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/utils/json_utils.py +0 -0
  185. {arkparse-0.4.0 → arkparse-0.4.2}/src/arkparse/utils/map_images.py +0 -0
  186. {arkparse-0.4.0 → arkparse-0.4.2}/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.0
3
+ Version: 0.4.2
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.0"
7
+ version = "0.4.2"
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
  )
@@ -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