From 992f751193f97847897782b03caf18b57d5fedf0 Mon Sep 17 00:00:00 2001 From: dyceron Date: Wed, 8 May 2024 23:04:31 -0400 Subject: [PATCH] Add Ice Missile Model --- .../models/powerup_icemissile.bcmdl | Bin 0 -> 13308 bytes .../models/textures/missile_d.bctex | Bin 0 -> 2954 bytes .../files/schema.json | 3 +- .../pickups/model_data.py | 7 ++++ tests/test_files/item_models_test.json | 33 +++++++++++++++++- 5 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 src/open_samus_returns_rando/files/romfs/actors/items/powerup_icemissile/models/powerup_icemissile.bcmdl create mode 100644 src/open_samus_returns_rando/files/romfs/actors/items/powerup_icemissile/models/textures/missile_d.bctex diff --git a/src/open_samus_returns_rando/files/romfs/actors/items/powerup_icemissile/models/powerup_icemissile.bcmdl b/src/open_samus_returns_rando/files/romfs/actors/items/powerup_icemissile/models/powerup_icemissile.bcmdl new file mode 100644 index 0000000000000000000000000000000000000000..582f3f916d7507ba7b239311afc474d9c40c9b1f GIT binary patch literal 13308 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 literal 0 HcmV?d00001 diff --git a/src/open_samus_returns_rando/files/schema.json b/src/open_samus_returns_rando/files/schema.json index 577f747f..fc894b9b 100644 --- a/src/open_samus_returns_rando/files/schema.json +++ b/src/open_samus_returns_rando/files/schema.json @@ -585,7 +585,8 @@ "ITEM_RESERVE_TANK_LIFE", "ITEM_RESERVE_TANK_MISSILE", "ITEM_RESERVE_TANK_SPECIAL_ENERGY", - "ITEM_OFFWORLD" + "ITEM_OFFWORLD", + "ITEM_WEAPON_ICE_MISSILE" ] }, "item": { diff --git a/src/open_samus_returns_rando/pickups/model_data.py b/src/open_samus_returns_rando/pickups/model_data.py index 50c3d6d1..8e7c47e3 100644 --- a/src/open_samus_returns_rando/pickups/model_data.py +++ b/src/open_samus_returns_rando/pickups/model_data.py @@ -298,6 +298,13 @@ class ModelData: "maps/textures/chozoartifactor_o.bctex", ), ), + "powerup_icemissile": ModelData( + bcmdl_path="actors/items/powerup_icemissile/models/powerup_icemissile.bcmdl", + dependencies=( + "actors/items/powerup_icemissile/models/powerup_icemissile.bcmdl", + "actors/items/powerup_icemissile/models/textures/missile_d.bctex", + ), + ), } diff --git a/tests/test_files/item_models_test.json b/tests/test_files/item_models_test.json index 2f054d13..507dba7d 100644 --- a/tests/test_files/item_models_test.json +++ b/tests/test_files/item_models_test.json @@ -672,6 +672,25 @@ "powerup_missilelauncher" ] }, + { + "pickup_type": "actor", + "caption": "Sent Ice Missile to Metroid Dread.", + "resources": [ + [ + { + "item_id": "ITEM_WEAPON_ICE_MISSILE", + "quantity": 1 + } + ] + ], + "pickup_actor": { + "scenario": "s000_surface", + "actor": "another_pickup34" + }, + "model": [ + "powerup_icemissile" + ] + }, { "pickup_type": "actor", "caption": "Sent [Item] to [Player].", @@ -685,7 +704,7 @@ ], "pickup_actor": { "scenario": "s000_surface", - "actor": "another_pickup34" + "actor": "another_pickup35" }, "model": [ "item_offworld" @@ -1117,6 +1136,18 @@ "z": 0.0 }, "collision_camera_name": "collision_camera_000" + }, + { + "new_actor": { + "actor": "another_pickup35", + "scenario": "s000_surface" + }, + "location": { + "x": -6900.0, + "y": 2100.0, + "z": 0.0 + }, + "collision_camera_name": "collision_camera_000" } ], "hints": [],