Resolve vehicle livery mappings from matching illustration assets

This commit is contained in:
Golumpa 2026-08-19 13:27:47 +01:00
parent 7f7ad80b46
commit 593b23e1e2
5 changed files with 50 additions and 7 deletions

View file

@ -1 +1 @@
[{"Rows":{"1003":{},"1099":{},"fork_alpha":{},"fork_new":{},"DIceNormal":{},"Dice_ticket_03":{},"Fashion_glide_2000":{},"Characterawaken_1003":{}}}]
[{"Rows":{"1003":{},"1099":{},"fork_alpha":{},"fork_new":{},"DIceNormal":{},"Dice_ticket_03":{},"Fashion_glide_2000":{},"Characterawaken_1003":{},"Fashion_vehicle_1010_V008":{"HeadIcon":{"AssetPathName":"/Game/UI/UI_Icon/Item/Fashion_vehicle_1010_V008.Fashion_vehicle_1010_V008"},"ItemName_Override":{"TableId":"/Game/Text/ST_VehicleData.ST_VehicleData","Key":"vehicle_1010_livery"}},"Fashion_vehicle_1072_V006":{"HeadIcon":{"AssetPathName":"/Game/UI/UI_Icon/Item/Fashion_vehicle_1036_V043.Fashion_vehicle_1036_V043"},"ItemName_Override":{"TableId":"/Game/Text/ST_VehicleData.ST_VehicleData","Key":"vehicle_placeholder_livery"}}}}]

View file

@ -18,5 +18,9 @@
},
"ST_Appearance": {
"glider_2000": "Inventory Glider"
},
"ST_VehicleData": {
"vehicle_1010_livery": "Tiger Incoming! - Livery",
"vehicle_placeholder_livery": "Sandy Mirage - Livery"
}
}

View file

@ -55,7 +55,7 @@ class MappingUpdateTests(unittest.TestCase):
self.assertNotIn("fork_retired", result.mappings["arcs.json"])
self.assertNotIn("OldTicket", result.mappings["items.json"])
self.assertNotEqual(result.mappings["characters.json"]["1003"], current["characters.json"]["1003"])
self.assertEqual(result.report["changes"], {"additions": 5, "updates": 2, "deletions": 3})
self.assertEqual(result.report["changes"], {"additions": 6, "updates": 2, "deletions": 3})
self.assertIs(result.report["safety"]["authoritative_snapshot"], True)
self.assertIs(result.report["safety"]["deletions_allowed"], True)
self.assertIs(result.report["safety"]["uid_inputs_touched"], False)
@ -83,7 +83,11 @@ class MappingUpdateTests(unittest.TestCase):
self.assertNotIn("DIceNormal", result.mappings["items.json"])
self.assertNotIn("UnusedItem", result.mappings["items.json"])
self.assertFalse(any(key.startswith("Characterawaken_") for key in result.mappings["items.json"]))
self.assertFalse(any(key.startswith("Fashion_vehicle_") for key in result.mappings["items.json"]))
self.assertEqual(
result.mappings["items.json"]["Fashion_vehicle_1010_V008"],
{"type": "cosmetic", "name": "Tiger Incoming! - Livery", "rank": "S"},
)
self.assertNotIn("Fashion_vehicle_1072_V006", result.mappings["items.json"])
def test_future_mystery_box_pool_is_discovered_without_hard_coded_event_id(self):
assets = load_assets(assets_root=SAMPLE_ASSETS)
@ -113,7 +117,7 @@ class MappingUpdateTests(unittest.TestCase):
tables["localization"]["ST_Item"].update(
{"wow_ticket": "Wowzers Ticket", "wow_frame": "Wowzers Frame"}
)
tables["localization"]["ST_VehicleData"] = {"vehicle_wow": "Wowmobile"}
tables["localization"]["ST_VehicleData"]["vehicle_wow"] = "Wowmobile"
result = build_mapping_update(sample_current(), replace(assets, tables=tables))