Skip to content

Commit

Permalink
Merge pull request #168 from cheahjs/feat/v0.2-mapobject
Browse files Browse the repository at this point in the history
feat: add v0.2.0.6 map objects
  • Loading branch information
cheahjs committed Apr 5, 2024
2 parents d93525d + 565e994 commit 6680341
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion palworld_save_tools/rawdata/map_concrete_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@
"stool01_stone": "PalBuildObject",
"stove01_stone": "PalBuildObject",
"tablecircular01_stone": "PalBuildObject",
"tabledresser01_stone": "PalBuildObject",
"tabledresser01_stone": "PalMapObjectCharacterMakeModel",
"tablesink01_stone": "PalBuildObject",
"toilet01_stone": "PalBuildObject",
"toiletholder01_stone": "PalBuildObject",
Expand All @@ -312,6 +312,15 @@
"trafficsign03_iron": "PalBuildObject",
"trafficsign04_iron": "PalBuildObject",
"chair01_pal": "PalBuildObject",
"altar": "PalBuildObjectRaidBossSummon",
"copperpit": "PalMapObjectProductItemModel",
"copperpit_2": "PalMapObjectProductItemModel",
"electrichatchingpalegg": "PalMapObjectHatchingEggModel",
"pickupitem_cavemushroom": "PalMapObjectPickupItemOnLevelModel",
"treasurebox_oilrig": "PalMapObjectTreasureBoxModel",
"treasurebox_electric": "PalMapObjectTreasureBoxModel",
"treasurebox_ivy": "PalMapObjectTreasureBoxModel",
"treasurebox_ice": "PalMapObjectTreasureBoxModel",
}
NO_OP_TYPES = set(
[
Expand Down Expand Up @@ -374,6 +383,8 @@ def pickup_base():
data["remain_product_num"] = reader.i32()
data["requested_product_num"] = reader.i32()
data["work_speed_additional_rate"] = reader.float()
if not reader.eof():
data["can_transport_out_product"] = reader.u32() > 0
elif map_object_concrete_model == "PalMapObjectPickupItemOnLevelModel":
pickup_base()
elif map_object_concrete_model == "PalMapObjectDropItemModel":
Expand All @@ -389,6 +400,8 @@ def pickup_base():
data["drop_item_infos"] = reader.tarray(pal_item_and_num_read)
elif map_object_concrete_model == "PalMapObjectDeathPenaltyStorageModel":
data["owner_player_uid"] = reader.guid()
if not reader.eof():
data["created_at"] = reader.u64()
elif map_object_concrete_model == "PalMapObjectDefenseBulletLauncherModel":
data["remaining_bullets"] = reader.i32()
data["magazine_size"] = reader.i32()
Expand Down Expand Up @@ -466,6 +479,8 @@ def encode_bytes(p: Optional[dict[str, Any]]) -> bytes:
writer.i32(p["remain_product_num"])
writer.i32(p["requested_product_num"])
writer.float(p["work_speed_additional_rate"])
if "can_transport_out_product" in p:
writer.u32(1 if p["can_transport_out_product"] else 0)
elif map_object_concrete_model == "PalMapObjectPickupItemOnLevelModel":
writer.u32(1 if p["auto_picked_up"] else 0)
elif map_object_concrete_model == "PalMapObjectDropItemModel":
Expand All @@ -477,6 +492,8 @@ def encode_bytes(p: Optional[dict[str, Any]]) -> bytes:
writer.tarray(pal_item_and_slot_writer, p["drop_item_infos"])
elif map_object_concrete_model == "PalMapObjectDeathPenaltyStorageModel":
writer.guid(p["owner_player_uid"])
if "created_at" in p:
writer.u64(p["created_at"])
elif map_object_concrete_model == "PalMapObjectDefenseBulletLauncherModel":
writer.i32(p["remaining_bullets"])
writer.i32(p["magazine_size"])
Expand Down

0 comments on commit 6680341

Please sign in to comment.