summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarrett Cox <garrettjcox@gmail.com>2026-07-30 18:38:29 -0500
committerGitHub <noreply@github.com>2026-07-30 18:38:29 -0500
commitdd5a36d60a0f29dd500cb0e826e3d41780f46944 (patch)
treed60044f48d8059093a4d99a256611882b3861049
parent630536f681e0b362f58793cd1d8d003c817621bf (diff)
Shuffle keaton grass and some more missed grass (#1822)
-rw-r--r--mm/2s2h/GameInteractor/GameInteractor_VanillaBehavior.h19
-rw-r--r--mm/2s2h/Rando/ActorBehavior/ObjGrass.cpp375
-rw-r--r--mm/2s2h/Rando/Logic/Logic.h3
-rw-r--r--mm/2s2h/Rando/Logic/Regions/BeneathTheWell.cpp14
-rw-r--r--mm/2s2h/Rando/Logic/Regions/Central.cpp10
-rw-r--r--mm/2s2h/Rando/Logic/Regions/East.cpp38
-rw-r--r--mm/2s2h/Rando/Logic/Regions/IkanaCastle.cpp12
-rw-r--r--mm/2s2h/Rando/Logic/Regions/MilkRoad.cpp13
-rw-r--r--mm/2s2h/Rando/Logic/Regions/North.cpp10
-rw-r--r--mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp10
-rw-r--r--mm/2s2h/Rando/Logic/Regions/South.cpp8
-rw-r--r--mm/2s2h/Rando/Logic/Regions/StoneTowerTemple.cpp9
-rw-r--r--mm/2s2h/Rando/Logic/Regions/WoodfallTemple.cpp50
-rw-r--r--mm/2s2h/Rando/StaticData/Checks.cpp174
-rw-r--r--mm/2s2h/Rando/Types.h174
-rw-r--r--mm/assets/2s2h_assets.h30
-rw-r--r--mm/assets/custom/objects/gameplay_keep/LeafTex.rgba16bin0 -> 604 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/StemTex.rgba16bin0 -> 220 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/flower_bosskey_tex.rgba16bin0 -> 604 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/flower_bronze_tex.rgba16bin0 -> 604 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/flower_fairy_tex.rgba16bin0 -> 604 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/flower_gold_tex.rgba16bin0 -> 604 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/flower_heart_tex.rgba16bin0 -> 604 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/flower_mask_tex.rgba16bin0 -> 604 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/flower_random_tex.rgba16bin0 -> 604 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/flower_silver_tex.rgba16bin0 -> 604 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/flower_token_tex.rgba16bin0 -> 604 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gGrassBunchTex.rgba16bin0 -> 2140 bytes
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_016
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_148
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_248
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_316
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_062
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_190
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_290
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_342
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_cull10
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_016
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_148
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_248
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_316
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_062
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_190
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_290
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_342
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_cull10
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_016
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_148
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_248
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_316
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_062
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_190
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_290
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_342
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_cull10
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL10
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_tri_016
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_vtx_062
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_vtx_cull10
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_016
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_148
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_248
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_316
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_062
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_190
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_290
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_342
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_cull10
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_016
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_148
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_248
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_316
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_062
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_190
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_290
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_342
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_cull10
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_016
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_148
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_248
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_316
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_062
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_190
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_290
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_342
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_cull10
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_016
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_148
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_248
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_316
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_062
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_190
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_290
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_342
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_cull10
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_016
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_148
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_248
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_316
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_062
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_190
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_290
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_342
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_cull10
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_016
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_148
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_248
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_316
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_062
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_190
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_290
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_342
-rw-r--r--mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_cull10
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_Grass16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_flower_bosskey16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_leaf16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_material16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_Grass16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_flower_fairy16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_leaf16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_material16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_Grass16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_flower_heart16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_leaf16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_material16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassJunkDL_f3dlite_Grass16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_Grass16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_flower_gold16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_leaf16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_material16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_Grass16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_flower_mask16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_leaf16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_material16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_Grass16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_flower_bronze16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_leaf16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_material16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_Grass16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_flower_random16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_leaf16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_material16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_Grass16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_flower_silver16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_leaf16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_material16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_Grass16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_flower_token16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_leaf16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_material16
-rw-r--r--mm/assets/custom/objects/gameplay_keep/model.xml10
-rw-r--r--mm/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c10
-rw-r--r--mm/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c19
162 files changed, 5569 insertions, 51 deletions
diff --git a/mm/2s2h/GameInteractor/GameInteractor_VanillaBehavior.h b/mm/2s2h/GameInteractor/GameInteractor_VanillaBehavior.h
index 0f620bdd3..f2067542f 100644
--- a/mm/2s2h/GameInteractor/GameInteractor_VanillaBehavior.h
+++ b/mm/2s2h/GameInteractor/GameInteractor_VanillaBehavior.h
@@ -1316,6 +1316,23 @@ typedef enum {
// #### `result`
// ```c
+ // true
+ // ```
+ // #### `args`
+ // - `*EnKusa2`
+ // - `s32` (index within the patch)
+ VB_KEATON_GRASS_ATTACH_CHILD,
+
+ // #### `result`
+ // ```c
+ // true
+ // ```
+ // #### `args`
+ // - `*EnKusa2`
+ VB_KEATON_GRASS_DRAW,
+
+ // #### `result`
+ // ```c
// CHECK_WEEKEVENTREG(WEEKEVENTREG_08_80)
// ```
// #### `args`
@@ -1344,7 +1361,7 @@ typedef enum {
// ```
// #### `args`
// - `*EnKusa`
- VB_KUSA_BUSH_DRAW_BE_OVERRIDDEN,
+ VB_KUSA_DRAW_BE_OVERRIDDEN,
// #### `result`
// ```c
diff --git a/mm/2s2h/Rando/ActorBehavior/ObjGrass.cpp b/mm/2s2h/Rando/ActorBehavior/ObjGrass.cpp
index 08e245124..3651e46c4 100644
--- a/mm/2s2h/Rando/ActorBehavior/ObjGrass.cpp
+++ b/mm/2s2h/Rando/ActorBehavior/ObjGrass.cpp
@@ -14,13 +14,21 @@ extern "C" {
#include "variables.h"
#include "overlays/actors/ovl_Obj_Grass/z_obj_grass.h"
#include "overlays/actors/ovl_En_Kusa/z_en_kusa.h"
+#include "overlays/actors/ovl_En_Kusa2/z_en_kusa2.h"
#include "overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.h"
#include "overlays/actors/ovl_Obj_Mure2/z_obj_mure2.h"
void ObjGrass_OverrideMatrixCurrent(MtxF* matrix);
+void EnKusa_DrawGrass(Actor* thisx, PlayState* play);
extern ObjGrass* sGrassManager;
}
+struct KeatonGrassRing {
+ RandoCheckId baseCheckId = RC_UNKNOWN;
+ RandoCheckId wonderItemCheckId = RC_UNKNOWN;
+};
+static ObjectExtension::Register<KeatonGrassRing> keatonGrassRingRegister;
+
// clang-format off
// For large swathes of grass that share a singular actor
std::map<std::tuple<s16, u8>, std::tuple<s16, RandoCheckId>> grassObjMap = {
@@ -118,6 +126,160 @@ std::map<std::tuple<s16, s16, s16>, RandoCheckId> enKusaMap = {
{ { SCENE_KAKUSIANA, 2, 4 }, RC_TERMINA_FIELD_GOSSIP_STONE_GROTTO_4_GRASS_05 },
{ { SCENE_KAKUSIANA, 11, 0 }, RC_TERMINA_FIELD_BIO_BABA_GROTTO_GRASS_01 },
{ { SCENE_KAKUSIANA, 11, 3 }, RC_TERMINA_FIELD_BIO_BABA_GROTTO_GRASS_02 },
+ // Sprout grass
+ { { SCENE_20SICHITAI, 0, 45 }, RC_SOUTHERN_SWAMP_POISON_TOURIST_GRASS_01 },
+ { { SCENE_20SICHITAI, 0, 46 }, RC_SOUTHERN_SWAMP_POISON_TOURIST_GRASS_02 },
+ { { SCENE_20SICHITAI, 2, 17 }, RC_SOUTHERN_SWAMP_POISON_WOODS_GRASS_01 },
+ { { SCENE_20SICHITAI, 2, 18 }, RC_SOUTHERN_SWAMP_POISON_WOODS_GRASS_02 },
+ { { SCENE_20SICHITAI2, 0, 39 }, RC_SOUTHERN_SWAMP_CLEARED_TOURIST_GRASS_01 },
+ { { SCENE_20SICHITAI2, 0, 40 }, RC_SOUTHERN_SWAMP_CLEARED_TOURIST_GRASS_02 },
+ { { SCENE_BOTI, 0, 16 }, RC_IKANA_GRAVEYARD_LOWER_GRASS_04 },
+ { { SCENE_BOTI, 0, 17 }, RC_IKANA_GRAVEYARD_LOWER_GRASS_03 },
+ { { SCENE_BOTI, 0, 18 }, RC_IKANA_GRAVEYARD_LOWER_GRASS_01 },
+ { { SCENE_BOTI, 0, 19 }, RC_IKANA_GRAVEYARD_LOWER_GRASS_02 },
+ { { SCENE_BOTI, 0, 20 }, RC_IKANA_GRAVEYARD_LOWER_GRASS_05 },
+ { { SCENE_BOTI, 0, 31 }, RC_IKANA_GRAVEYARD_LOWER_GRASS_01 },
+ { { SCENE_BOTI, 0, 39 }, RC_IKANA_GRAVEYARD_LOWER_GRASS_02 },
+ { { SCENE_BOTI, 0, 40 }, RC_IKANA_GRAVEYARD_LOWER_GRASS_03 },
+ { { SCENE_BOTI, 0, 41 }, RC_IKANA_GRAVEYARD_LOWER_GRASS_04 },
+ { { SCENE_BOTI, 0, 42 }, RC_IKANA_GRAVEYARD_LOWER_GRASS_05 },
+ { { SCENE_CASTLE, 0, 32 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_01 },
+ { { SCENE_CASTLE, 0, 33 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_02 },
+ { { SCENE_CASTLE, 0, 34 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_03 },
+ { { SCENE_CASTLE, 0, 35 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_04 },
+ { { SCENE_CASTLE, 0, 36 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_05 },
+ { { SCENE_CASTLE, 0, 37 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_06 },
+ { { SCENE_CASTLE, 0, 38 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_07 },
+ { { SCENE_CASTLE, 0, 39 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_08 },
+ { { SCENE_CASTLE, 0, 40 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_09 },
+ { { SCENE_CASTLE, 0, 41 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_10 },
+ { { SCENE_CASTLE, 0, 42 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_11 },
+ { { SCENE_CASTLE, 0, 43 }, RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_12 },
+ { { SCENE_HAKUGIN, 4, 60 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_01 },
+ { { SCENE_HAKUGIN, 4, 61 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_02 },
+ { { SCENE_HAKUGIN, 4, 62 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_03 },
+ { { SCENE_HAKUGIN, 4, 63 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_04 },
+ { { SCENE_HAKUGIN, 4, 64 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_05 },
+ { { SCENE_HAKUGIN, 4, 65 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_06 },
+ { { SCENE_HAKUGIN, 4, 66 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_07 },
+ { { SCENE_HAKUGIN, 4, 67 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_08 },
+ { { SCENE_HAKUGIN, 4, 68 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_09 },
+ { { SCENE_HAKUGIN, 4, 69 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_10 },
+ { { SCENE_IKANA, 0, 29 }, RC_IKANA_CANYON_GRASS_01 },
+ { { SCENE_IKANA, 0, 30 }, RC_IKANA_CANYON_GRASS_02 },
+ { { SCENE_IKANA, 0, 31 }, RC_IKANA_CANYON_GRASS_03 },
+ { { SCENE_IKANA, 0, 32 }, RC_IKANA_CANYON_GRASS_04 },
+ { { SCENE_IKANA, 0, 59 }, RC_IKANA_CANYON_GRASS_01 },
+ { { SCENE_IKANA, 0, 60 }, RC_IKANA_CANYON_GRASS_02 },
+ { { SCENE_IKANA, 0, 61 }, RC_IKANA_CANYON_GRASS_03 },
+ { { SCENE_IKANA, 0, 62 }, RC_IKANA_CANYON_GRASS_04 },
+ { { SCENE_INISIE_N, 0, 10 }, RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_01 },
+ { { SCENE_INISIE_N, 0, 11 }, RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_02 },
+ { { SCENE_INISIE_N, 0, 12 }, RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_03 },
+ { { SCENE_INISIE_N, 2, 18 }, RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_01 },
+ { { SCENE_INISIE_N, 2, 19 }, RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_02 },
+ { { SCENE_INISIE_N, 2, 20 }, RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_03 },
+ { { SCENE_INISIE_N, 2, 21 }, RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_04 },
+ { { SCENE_INISIE_N, 2, 22 }, RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_05 },
+ { { SCENE_INISIE_N, 2, 23 }, RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_06 },
+ { { SCENE_MITURIN, 0, 30 }, RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_01 },
+ { { SCENE_MITURIN, 0, 31 }, RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_02 },
+ { { SCENE_MITURIN, 0, 32 }, RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_03 },
+ { { SCENE_MITURIN, 0, 33 }, RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_04 },
+ { { SCENE_MITURIN, 0, 34 }, RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_05 },
+ { { SCENE_MITURIN, 1, 30 }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_GRASS_01 },
+ { { SCENE_MITURIN, 1, 32 }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_GRASS_02 },
+ { { SCENE_MITURIN, 1, 31 }, RC_WOODFALL_TEMPLE_MAIN_ROOM_UPPER_GRASS_01 },
+ { { SCENE_MITURIN, 2, 23 }, RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_01 },
+ { { SCENE_MITURIN, 2, 24 }, RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_02 },
+ { { SCENE_MITURIN, 2, 25 }, RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_04 },
+ { { SCENE_MITURIN, 2, 26 }, RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_05 },
+ { { SCENE_MITURIN, 2, 27 }, RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_03 },
+ { { SCENE_MITURIN, 4, 5 }, RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_01 },
+ { { SCENE_MITURIN, 4, 6 }, RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_02 },
+ { { SCENE_MITURIN, 4, 7 }, RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_03 },
+ { { SCENE_MITURIN, 5, 18 }, RC_WOODFALL_TEMPLE_WATER_ROOM_GRASS_01 },
+ { { SCENE_MITURIN, 5, 19 }, RC_WOODFALL_TEMPLE_WATER_ROOM_GRASS_02 },
+ { { SCENE_MITURIN, 6, 6 }, RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_01 },
+ { { SCENE_MITURIN, 6, 7 }, RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_02 },
+ { { SCENE_MITURIN, 6, 8 }, RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_03 },
+ { { SCENE_MITURIN, 6, 9 }, RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_04 },
+ { { SCENE_MITURIN, 6, 10 }, RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_05 },
+ { { SCENE_MITURIN, 10, 6 }, RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_01 },
+ { { SCENE_MITURIN, 10, 7 }, RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_02 },
+ { { SCENE_MITURIN, 10, 8 }, RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_03 },
+ { { SCENE_MITURIN, 10, 9 }, RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_04 },
+ { { SCENE_MITURIN, 10, 10 }, RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_05 },
+ { { SCENE_MITURIN, 10, 11 }, RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_06 },
+ { { SCENE_MITURIN, 10, 12 }, RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_07 },
+ { { SCENE_MITURIN, 10, 13 }, RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_08 },
+ { { SCENE_MITURIN, 10, 14 }, RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_09 },
+ { { SCENE_MITURIN, 10, 15 }, RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_10 },
+ { { SCENE_MITURIN, 10, 16 }, RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_11 },
+ { { SCENE_MITURIN_BS, 0, 10 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_01 },
+ { { SCENE_MITURIN_BS, 0, 11 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_02 },
+ { { SCENE_MITURIN_BS, 0, 12 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_03 },
+ { { SCENE_MITURIN_BS, 0, 13 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_04 },
+ { { SCENE_MITURIN_BS, 0, 14 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_05 },
+ { { SCENE_MITURIN_BS, 0, 15 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_06 },
+ { { SCENE_MITURIN_BS, 0, 16 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_07 },
+ { { SCENE_MITURIN_BS, 0, 17 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_08 },
+ { { SCENE_MITURIN_BS, 0, 18 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_09 },
+ { { SCENE_MITURIN_BS, 0, 19 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_10 },
+ { { SCENE_MITURIN_BS, 0, 20 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_11 },
+ { { SCENE_MITURIN_BS, 0, 21 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_12 },
+ { { SCENE_MITURIN_BS, 0, 22 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_13 },
+ { { SCENE_MITURIN_BS, 0, 23 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_14 },
+ { { SCENE_MITURIN_BS, 0, 24 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_15 },
+ { { SCENE_MITURIN_BS, 0, 25 }, RC_WOODFALL_TEMPLE_BOSS_GRASS_16 },
+ { { SCENE_RANDOM, 0, 26 }, RC_SECRET_SHRINE_ENTRANCE_GRASS_01 },
+ { { SCENE_RANDOM, 0, 27 }, RC_SECRET_SHRINE_ENTRANCE_GRASS_02 },
+ { { SCENE_RANDOM, 0, 28 }, RC_SECRET_SHRINE_ENTRANCE_GRASS_03 },
+ { { SCENE_RANDOM, 0, 29 }, RC_SECRET_SHRINE_ENTRANCE_GRASS_04 },
+ { { SCENE_RANDOM, 0, 30 }, RC_SECRET_SHRINE_ENTRANCE_GRASS_05 },
+ { { SCENE_RANDOM, 0, 31 }, RC_SECRET_SHRINE_ENTRANCE_GRASS_06 },
+ { { SCENE_RANDOM, 2, 4 }, RC_SECRET_SHRINE_DINOLFOS_GRASS_01 },
+ { { SCENE_RANDOM, 2, 5 }, RC_SECRET_SHRINE_DINOLFOS_GRASS_02 },
+ { { SCENE_RANDOM, 2, 6 }, RC_SECRET_SHRINE_DINOLFOS_GRASS_03 },
+ { { SCENE_RANDOM, 2, 7 }, RC_SECRET_SHRINE_DINOLFOS_GRASS_04 },
+ { { SCENE_RANDOM, 3, 6 }, RC_SECRET_SHRINE_WIZZROBE_GRASS_01 },
+ { { SCENE_RANDOM, 3, 7 }, RC_SECRET_SHRINE_WIZZROBE_GRASS_02 },
+ { { SCENE_RANDOM, 3, 8 }, RC_SECRET_SHRINE_WIZZROBE_GRASS_03 },
+ { { SCENE_RANDOM, 3, 9 }, RC_SECRET_SHRINE_WIZZROBE_GRASS_04 },
+ { { SCENE_RANDOM, 3, 10 }, RC_SECRET_SHRINE_WIZZROBE_GRASS_05 },
+ { { SCENE_RANDOM, 4, 5 }, RC_SECRET_SHRINE_WART_GRASS_01 },
+ { { SCENE_RANDOM, 4, 6 }, RC_SECRET_SHRINE_WART_GRASS_02 },
+ { { SCENE_RANDOM, 4, 7 }, RC_SECRET_SHRINE_WART_GRASS_03 },
+ { { SCENE_RANDOM, 4, 8 }, RC_SECRET_SHRINE_WART_GRASS_04 },
+ { { SCENE_RANDOM, 4, 9 }, RC_SECRET_SHRINE_WART_GRASS_05 },
+ { { SCENE_RANDOM, 4, 10 }, RC_SECRET_SHRINE_WART_GRASS_06 },
+ { { SCENE_RANDOM, 4, 11 }, RC_SECRET_SHRINE_WART_GRASS_07 },
+ { { SCENE_RANDOM, 4, 12 }, RC_SECRET_SHRINE_WART_GRASS_08 },
+ { { SCENE_RANDOM, 5, 2 }, RC_SECRET_SHRINE_GARO_MASTER_GRASS_01 },
+ { { SCENE_RANDOM, 5, 3 }, RC_SECRET_SHRINE_GARO_MASTER_GRASS_02 },
+ { { SCENE_RANDOM, 5, 4 }, RC_SECRET_SHRINE_GARO_MASTER_GRASS_03 },
+ { { SCENE_RANDOM, 5, 5 }, RC_SECRET_SHRINE_GARO_MASTER_GRASS_04 },
+ { { SCENE_RANDOM, 5, 6 }, RC_SECRET_SHRINE_GARO_MASTER_GRASS_05 },
+ { { SCENE_RANDOM, 5, 7 }, RC_SECRET_SHRINE_GARO_MASTER_GRASS_06 },
+ { { SCENE_ROMANYMAE, 0, 17 }, RC_MILK_ROAD_GRASS_01 },
+ { { SCENE_ROMANYMAE, 0, 18 }, RC_MILK_ROAD_GRASS_02 },
+ { { SCENE_ROMANYMAE, 0, 19 }, RC_MILK_ROAD_GRASS_03 },
+ { { SCENE_20SICHITAI2, 2, 14 }, RC_SOUTHERN_SWAMP_CLEARED_WOODS_GRASS_01 },
+ { { SCENE_20SICHITAI2, 2, 15 }, RC_SOUTHERN_SWAMP_CLEARED_WOODS_GRASS_02 },
+ { { SCENE_REDEAD, 3, 9 }, RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_01 },
+ { { SCENE_REDEAD, 3, 10 }, RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_02 },
+ { { SCENE_REDEAD, 3, 11 }, RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_03 },
+ { { SCENE_REDEAD, 3, 12 }, RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_04 },
+ { { SCENE_REDEAD, 5, 22 }, RC_BENEATH_THE_WELL_TWO_SPIKED_BARS_GRASS_01 },
+ { { SCENE_REDEAD, 5, 23 }, RC_BENEATH_THE_WELL_TWO_SPIKED_BARS_GRASS_02 },
+ { { SCENE_REDEAD, 7, 19 }, RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_01 },
+ { { SCENE_REDEAD, 7, 20 }, RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_02 },
+ { { SCENE_REDEAD, 7, 21 }, RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_03 },
+ { { SCENE_REDEAD, 7, 22 }, RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_04 },
+ { { SCENE_REDEAD, 7, 23 }, RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_05 },
+ { { SCENE_REDEAD, 9, 6 }, RC_BENEATH_THE_WELL_COW_ROOM_GRASS_01 },
+ { { SCENE_REDEAD, 9, 7 }, RC_BENEATH_THE_WELL_COW_ROOM_GRASS_02 },
+ { { SCENE_REDEAD, 9, 8 }, RC_BENEATH_THE_WELL_COW_ROOM_GRASS_03 },
};
// For lone grass actors spawned in chest grottos
@@ -145,6 +307,16 @@ std::map<std::tuple<u16, u8, s16>, RandoCheckId> objMure2GrassMap = {
{ { SCENE_10YUKIYAMANOMURA2, 0, 30 }, RC_MOUNTAIN_VILLAGE_SPRING_GRASS_13 },
{ { SCENE_10YUKIYAMANOMURA2, 0, 31 }, RC_MOUNTAIN_VILLAGE_SPRING_GRASS_22 },
{ { SCENE_BOTI, 1, 47 }, RC_IKANA_GRAVEYARD_GRASS_01 },
+ { { SCENE_BOTI, 1, 7 }, RC_IKANA_GRAVEYARD_GRASS_01 }, // Night layer
+};
+
+// For rings of Keaton grass, mapped by their manager actor to the first RC of the ring and the RC of its bonus reward
+std::map<std::tuple<s16, s16, s16>, KeatonGrassRing> keatonGrassMap = {
+ { { SCENE_BACKTOWN, 0, 16 }, { RC_CLOCK_TOWN_NORTH_KEATON_GRASS_01, RC_CLOCK_TOWN_NORTH_KEATON_GRASS_WONDER_ITEM } },
+ { { SCENE_BACKTOWN, 0, 28 }, { RC_CLOCK_TOWN_NORTH_KEATON_GRASS_01, RC_CLOCK_TOWN_NORTH_KEATON_GRASS_WONDER_ITEM } },
+ { { SCENE_ROMANYMAE, 0, 6 }, { RC_MILK_ROAD_KEATON_GRASS_01, RC_MILK_ROAD_KEATON_GRASS_WONDER_ITEM } },
+ { { SCENE_10YUKIYAMANOMURA2, 0, 44 }, { RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_01, RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_WONDER_ITEM } },
+ { { SCENE_10YUKIYAMANOMURA2, 0, 50 }, { RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_01, RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_WONDER_ITEM } },
};
// clang-format on
@@ -165,53 +337,51 @@ void SpawnGrassDrop(Vec3f pos, RandoCheckId randoCheckId) {
});
}
-void EnKusaBush_RandoDraw(Actor* actor, PlayState* play) {
+Gfx* GetObjGrassDList(RandoCheckId randoCheckId) {
if (!CVarGetInteger("gRando.CSMC", 0)) {
- Gfx_DrawDListOpa(play, (Gfx*)gRandoBushDL);
- return;
+ return (Gfx*)gRandoBushDL;
}
- RandoCheckId randoCheckId = Rando::ActorBehavior::GetObjectRandoCheckId(actor);
RandoItemId randoItemId = Rando::ConvertItem(RANDO_SAVE_CHECKS[randoCheckId].randoItemId, randoCheckId);
RandoItemType randoItemType = Rando::StaticData::Items[randoItemId].randoItemType;
switch (randoItemType) {
case RITYPE_BOSS_KEY:
- Gfx_DrawDListOpa(play, (Gfx*)gRandoBushBossKeyDL);
+ return (Gfx*)gRandoBushBossKeyDL;
break;
case RITYPE_HEALTH:
- Gfx_DrawDListOpa(play, (Gfx*)gRandoBushHeartDL);
+ return (Gfx*)gRandoBushHeartDL;
break;
case RITYPE_LESSER:
- Gfx_DrawDListOpa(play, (Gfx*)gRandoBushMinorDL);
+ return (Gfx*)gRandoBushMinorDL;
break;
case RITYPE_MAJOR:
- Gfx_DrawDListOpa(play, (Gfx*)gRandoBushMajorDL);
+ return (Gfx*)gRandoBushMajorDL;
break;
case RITYPE_MASK:
- Gfx_DrawDListOpa(play, (Gfx*)gRandoBushMaskDL);
+ return (Gfx*)gRandoBushMaskDL;
break;
case RITYPE_SKULLTULA_TOKEN:
- Gfx_DrawDListOpa(play, (Gfx*)gRandoBushTokenDL);
+ return (Gfx*)gRandoBushTokenDL;
break;
case RITYPE_SMALL_KEY:
- Gfx_DrawDListOpa(play, (Gfx*)gRandoBushSmallKeyDL);
+ return (Gfx*)gRandoBushSmallKeyDL;
break;
case RITYPE_STRAY_FAIRY:
- Gfx_DrawDListOpa(play, (Gfx*)gRandoBushFairyDL);
+ return (Gfx*)gRandoBushFairyDL;
break;
case RITYPE_JUNK:
- Gfx_DrawDListOpa(play, (Gfx*)gRandoBushJunkDL);
+ return (Gfx*)gRandoBushJunkDL;
break;
default:
- Gfx_DrawDListOpa(play, (Gfx*)gRandoBushDL);
+ return (Gfx*)gRandoBushDL;
break;
}
}
-Gfx* GetObjGrassDList(RandoCheckId randoCheckId) {
+Gfx* GetObjGrassXluDList(RandoCheckId randoCheckId) {
if (!CVarGetInteger("gRando.CSMC", 0)) {
- return (Gfx*)gRandoBushDL;
+ return (Gfx*)gRandoBushXluDL;
}
RandoItemId randoItemId = Rando::ConvertItem(RANDO_SAVE_CHECKS[randoCheckId].randoItemId, randoCheckId);
@@ -219,41 +389,42 @@ Gfx* GetObjGrassDList(RandoCheckId randoCheckId) {
switch (randoItemType) {
case RITYPE_BOSS_KEY:
- return (Gfx*)gRandoBushBossKeyDL;
+ return (Gfx*)gRandoBushBossKeyXluDL;
break;
case RITYPE_HEALTH:
- return (Gfx*)gRandoBushHeartDL;
+ return (Gfx*)gRandoBushHeartXluDL;
break;
case RITYPE_LESSER:
- return (Gfx*)gRandoBushMinorDL;
+ return (Gfx*)gRandoBushMinorXluDL;
break;
case RITYPE_MAJOR:
- return (Gfx*)gRandoBushMajorDL;
+ return (Gfx*)gRandoBushMajorXluDL;
break;
case RITYPE_MASK:
- return (Gfx*)gRandoBushMaskDL;
+ return (Gfx*)gRandoBushMaskXluDL;
break;
case RITYPE_SKULLTULA_TOKEN:
- return (Gfx*)gRandoBushTokenDL;
+ return (Gfx*)gRandoBushTokenXluDL;
break;
case RITYPE_SMALL_KEY:
- return (Gfx*)gRandoBushSmallKeyDL;
+ return (Gfx*)gRandoBushSmallKeyXluDL;
break;
case RITYPE_STRAY_FAIRY:
- return (Gfx*)gRandoBushFairyDL;
+ return (Gfx*)gRandoBushFairyXluDL;
break;
case RITYPE_JUNK:
- return (Gfx*)gRandoBushJunkDL;
+ return (Gfx*)gRandoBushJunkXluDL;
break;
default:
- return (Gfx*)gRandoBushDL;
+ return (Gfx*)gRandoBushXluDL;
break;
}
}
-Gfx* GetObjGrassXluDList(RandoCheckId randoCheckId) {
+// Cuttable grass has its own set of models, as the bush ones above are far too large to stand in for a sprout.
+Gfx* GetCuttableGrassDList(RandoCheckId randoCheckId) {
if (!CVarGetInteger("gRando.CSMC", 0)) {
- return (Gfx*)gRandoBushXluDL;
+ return (Gfx*)gRandoCuttableGrassRandomDL;
}
RandoItemId randoItemId = Rando::ConvertItem(RANDO_SAVE_CHECKS[randoCheckId].randoItemId, randoCheckId);
@@ -261,34 +432,34 @@ Gfx* GetObjGrassXluDList(RandoCheckId randoCheckId) {
switch (randoItemType) {
case RITYPE_BOSS_KEY:
- return (Gfx*)gRandoBushBossKeyXluDL;
+ return (Gfx*)gRandoCuttableGrassBossKeyDL;
break;
case RITYPE_HEALTH:
- return (Gfx*)gRandoBushHeartXluDL;
+ return (Gfx*)gRandoCuttableGrassHeartDL;
break;
case RITYPE_LESSER:
- return (Gfx*)gRandoBushMinorXluDL;
+ return (Gfx*)gRandoCuttableGrassMinorDL;
break;
case RITYPE_MAJOR:
- return (Gfx*)gRandoBushMajorXluDL;
+ return (Gfx*)gRandoCuttableGrassMajorDL;
break;
case RITYPE_MASK:
- return (Gfx*)gRandoBushMaskXluDL;
+ return (Gfx*)gRandoCuttableGrassMaskDL;
break;
case RITYPE_SKULLTULA_TOKEN:
- return (Gfx*)gRandoBushTokenXluDL;
+ return (Gfx*)gRandoCuttableGrassTokenDL;
break;
case RITYPE_SMALL_KEY:
- return (Gfx*)gRandoBushSmallKeyXluDL;
+ return (Gfx*)gRandoCuttableGrassSmallKeyDL;
break;
case RITYPE_STRAY_FAIRY:
- return (Gfx*)gRandoBushFairyXluDL;
+ return (Gfx*)gRandoCuttableGrassFairyDL;
break;
case RITYPE_JUNK:
- return (Gfx*)gRandoBushJunkXluDL;
+ return (Gfx*)gRandoCuttableGrassJunkDL;
break;
default:
- return (Gfx*)gRandoBushXluDL;
+ return (Gfx*)gRandoCuttableGrassRandomDL;
break;
}
}
@@ -323,6 +494,52 @@ void ObjGrass_RandoDrawXlu(ObjGrass* objGrass, ObjGrassElement* grassElem, Rando
CLOSE_DISPS(gPlayState->state.gfxCtx);
}
+void EnKusaBush_RandoDraw(Actor* actor, PlayState* play) {
+ Gfx_DrawDListOpa(play, GetObjGrassDList(Rando::ActorBehavior::GetObjectRandoCheckId(actor)));
+}
+
+void EnKusaGrass_RandoDraw(Actor* actor, PlayState* play) {
+ EnKusa* grass = (EnKusa*)actor;
+ RandoCheckId randoCheckId = Rando::ActorBehavior::GetObjectRandoCheckId(actor);
+
+ if (RANDO_SAVE_CHECKS[randoCheckId].obtained) {
+ actor->draw = EnKusa_DrawGrass;
+ EnKusa_DrawGrass(actor, play);
+ return;
+ }
+
+ if (grass->isCut) {
+ EnKusa_DrawGrass(actor, play);
+ return;
+ }
+
+ Gfx_DrawDListOpa(play, GetCuttableGrassDList(randoCheckId));
+}
+
+void KeatonGrassRing_DrawWonderItemSparkle(EnKusa2* grassRingActor) {
+ static Vec3f sVelocity = { 0.0f, 1.2f, 0.0f };
+ static Vec3f sAccel = { 0.0f, -0.05f, 0.0f };
+ static Color_RGBA8 sPrimColor = { 255, 255, 255, 255 };
+ static Color_RGBA8 sEnvColor = { 255, 200, 64, 255 };
+
+ if (gGameState->frames % 4 != 0) {
+ return;
+ }
+
+ EnKusa2* grassBush = grassRingActor->unk_194[(s32)Rand_ZeroFloat(ARRAY_COUNT(grassRingActor->unk_194))];
+ if (grassBush == nullptr) {
+ return;
+ }
+
+ Vec3f pos = {
+ Rand_CenteredFloat(20.0f) + grassBush->actor.world.pos.x,
+ (Rand_ZeroOne() * 25.0f) + grassBush->actor.world.pos.y,
+ Rand_CenteredFloat(20.0f) + grassBush->actor.world.pos.z,
+ };
+
+ EffectSsKirakira_SpawnDispersed(gPlayState, &pos, &sVelocity, &sAccel, &sPrimColor, &sEnvColor, 1600, 16);
+}
+
void Rando::ActorBehavior::InitObjGrassBehavior() {
/*
* Identify directly spawned actor grass by scene ID, room, and actor list index. If this is a common chest grotto,
@@ -360,9 +577,40 @@ void Rando::ActorBehavior::InitObjGrassBehavior() {
});
/*
+ * Identify the manager actor of a ring of Keaton grass by scene ID, room, and actor list index, and remember which
+ * RCs the ring owns. Its bushes are spawned later, and each of them claims one of those RCs as it attaches.
+ */
+ COND_ID_HOOK(OnActorInit, ACTOR_EN_KUSA2, IS_RANDO, [](Actor* actor) {
+ if (ENKUSA2_GET_1(actor)) { // This is one of the ring's bushes, not the manager
+ return;
+ }
+
+ auto it = keatonGrassMap.find({ gPlayState->sceneId, actor->room, GetActorListIndex(actor) });
+ if (it == keatonGrassMap.end()) {
+ return;
+ }
+
+ ObjectExtension::GetInstance().Set<KeatonGrassRing>(actor, KeatonGrassRing{ it->second });
+ });
+
+ // Only a ring's manager actor is given this extension, so this skips the ring's bushes along with all other grass.
+ COND_ID_HOOK(OnActorUpdate, ACTOR_EN_KUSA2, IS_RANDO, [](Actor* actor) {
+ KeatonGrassRing* grassRing = ObjectExtension::GetInstance().Get<KeatonGrassRing>(actor);
+ if (grassRing == nullptr) {
+ return;
+ }
+
+ RandoSaveCheck& randoSaveCheck = RANDO_SAVE_CHECKS[grassRing->wonderItemCheckId];
+ if (randoSaveCheck.shuffled && !randoSaveCheck.obtained) {
+ KeatonGrassRing_DrawWonderItemSparkle((EnKusa2*)actor);
+ }
+ });
+
+ /*
* Identify actor grass that was spawned by a spawner actor, by scene ID, room, and the spawner's actor list index.
* The RCs and child grass are contiguous, so they can increment the base value to get their target RC.
*/
+
COND_VB_SHOULD(VB_OBJ_MURE2_SET_CHILD_ROOM, IS_RANDO, {
Actor* actor = va_arg(args, Actor*);
ObjMure2* objMure2 = (ObjMure2*)actor;
@@ -449,12 +697,42 @@ void Rando::ActorBehavior::InitObjGrassBehavior() {
}
});
- COND_VB_SHOULD(VB_KUSA_BUSH_DRAW_BE_OVERRIDDEN, IS_RANDO, {
+ COND_VB_SHOULD(VB_KUSA_DRAW_BE_OVERRIDDEN, IS_RANDO, {
Actor* actor = va_arg(args, Actor*);
RandoCheckId randoCheckId = GetObjectRandoCheckId(actor);
if (randoCheckId != RC_UNKNOWN && !RANDO_SAVE_CHECKS[randoCheckId].obtained) {
*should = false;
- actor->draw = EnKusaBush_RandoDraw;
+ actor->draw = KUSA_GET_TYPE(actor) == ENKUSA_TYPE_BUSH ? EnKusaBush_RandoDraw : EnKusaGrass_RandoDraw;
+ }
+ });
+
+ /*
+ * A ring's bushes always spawn in the same positions, so a bush's index within the ring is enough to tie it to a
+ * specific RC. The RCs are contiguous, so the ring's base value can just be incremented.
+ */
+ COND_VB_SHOULD(VB_KEATON_GRASS_ATTACH_CHILD, IS_RANDO, {
+ EnKusa2* grassBush = va_arg(args, EnKusa2*);
+ s32 i = va_arg(args, s32);
+ KeatonGrassRing* grassRing = ObjectExtension::GetInstance().Get<KeatonGrassRing>(grassBush->unk_1C0);
+
+ if (grassRing == nullptr) {
+ return;
+ }
+
+ RandoCheckId randoCheckId = static_cast<RandoCheckId>(grassRing->baseCheckId + i);
+ if (!RANDO_SAVE_CHECKS[randoCheckId].shuffled || RANDO_SAVE_CHECKS[randoCheckId].cycleObtained) {
+ return;
+ }
+
+ SetObjectRandoCheckId(grassBush, randoCheckId);
+ });
+
+ COND_VB_SHOULD(VB_KEATON_GRASS_DRAW, IS_RANDO, {
+ EnKusa2* grassBush = va_arg(args, EnKusa2*);
+ RandoCheckId randoCheckId = GetObjectRandoCheckId(grassBush);
+ if (randoCheckId != RC_UNKNOWN && !RANDO_SAVE_CHECKS[randoCheckId].obtained) {
+ *should = false;
+ Gfx_DrawDListOpa(gPlayState, GetObjGrassDList(randoCheckId));
}
});
@@ -494,7 +772,7 @@ void Rando::ActorBehavior::InitObjGrassBehavior() {
COND_VB_SHOULD(VB_GRASS_DROP_COLLECTIBLE, IS_RANDO, {
auto actorId = static_cast<ActorId>(va_arg(args, int32_t));
Vec3f collectiblePos = gZeroVec3f;
- RandoCheckId randoCheckId;
+ RandoCheckId randoCheckId = RC_UNKNOWN;
if (actorId == ACTOR_OBJ_GRASS) {
ObjGrassElement* grassElemActor = va_arg(args, ObjGrassElement*);
@@ -508,6 +786,21 @@ void Rando::ActorBehavior::InitObjGrassBehavior() {
ObjGrassCarry* grassCarryActor = va_arg(args, ObjGrassCarry*);
collectiblePos = grassCarryActor->actor.world.pos;
randoCheckId = GetObjectRandoCheckId(grassCarryActor);
+ } else if (actorId == ACTOR_EN_KUSA2) {
+ EnKusa2* grassBush = va_arg(args, EnKusa2*);
+ collectiblePos = grassBush->actor.world.pos;
+ randoCheckId = GetObjectRandoCheckId(grassBush);
+
+ // This bush is the one vanilla would have dropped the ring's red rupee from, so it also owes the check
+ // that took that reward's place.
+ EnKusa2* grassRingActor = grassBush->unk_1C0;
+ KeatonGrassRing* grassRing = ObjectExtension::GetInstance().Get<KeatonGrassRing>(grassRingActor);
+ if (grassRing != nullptr && grassRingActor->unk_1BC == 8 &&
+ RANDO_SAVE_CHECKS[grassRing->wonderItemCheckId].shuffled &&
+ !RANDO_SAVE_CHECKS[grassRing->wonderItemCheckId].cycleObtained) {
+ SpawnGrassDrop(collectiblePos, grassRing->wonderItemCheckId);
+ *should = false;
+ }
}
if (randoCheckId == RC_UNKNOWN) {
diff --git a/mm/2s2h/Rando/Logic/Logic.h b/mm/2s2h/Rando/Logic/Logic.h
index 4e4cf2393..582c91a19 100644
--- a/mm/2s2h/Rando/Logic/Logic.h
+++ b/mm/2s2h/Rando/Logic/Logic.h
@@ -195,6 +195,9 @@ void ValidateRegionTimeOwnership(RandoRegionId regionId, RandoCheckId checkId, u
(HAS_ITEM(ITEM_MASK_BLAST) && GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) > EQUIP_VALUE_SHIELD_NONE))
#define CAN_USE_HUMAN_SWORD (GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) >= EQUIP_VALUE_SWORD_KOKIRI)
#define CAN_USE_SWORD (CAN_USE_HUMAN_SWORD || HAS_ITEM(ITEM_SWORD_GREAT_FAIRY) || CAN_BE_DEITY)
+#define CAN_FULLY_CUT_KEATON_GRASS \
+ (HAS_MAGIC && (GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) >= EQUIP_VALUE_SWORD_RAZOR) && \
+ CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_GREAT_SPIN_ATTACK))
// Be careful here, as some checks require you to play the song as a specific form
#define CAN_PLAY_SONG(song) \
(HAS_ITEM(ITEM_OCARINA_OF_TIME) && CHECK_QUEST_ITEM(QUEST_SONG_##song) && \
diff --git a/mm/2s2h/Rando/Logic/Regions/BeneathTheWell.cpp b/mm/2s2h/Rando/Logic/Regions/BeneathTheWell.cpp
index 21f459385..319276d9f 100644
--- a/mm/2s2h/Rando/Logic/Regions/BeneathTheWell.cpp
+++ b/mm/2s2h/Rando/Logic/Regions/BeneathTheWell.cpp
@@ -52,6 +52,9 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_BENEATH_THE_WELL_COW_ROOM] = RandoRegion{ .name = "Cow Room", .sceneId = SCENE_REDEAD,
.checks = {
+ CHECK(RC_BENEATH_THE_WELL_COW_ROOM_GRASS_01, true),
+ CHECK(RC_BENEATH_THE_WELL_COW_ROOM_GRASS_02, true),
+ CHECK(RC_BENEATH_THE_WELL_COW_ROOM_GRASS_03, true),
CHECK(RC_BENEATH_THE_WELL_COW, CAN_PLAY_SONG(EPONA)),
CHECK(RC_BENEATH_THE_WELL_TREE, true),
},
@@ -91,6 +94,11 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_BENEATH_THE_WELL_FOUR_SPIKED_BARS] = RandoRegion{ .name = "Four Spikes Room", .sceneId = SCENE_REDEAD,
.checks = {
+ CHECK(RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_01, true),
+ CHECK(RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_02, true),
+ CHECK(RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_03, true),
+ CHECK(RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_04, true),
+ CHECK(RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_05, true),
CHECK(RC_ENEMY_DROP_SKULLTULA, CanKillEnemy(ACTOR_EN_ST)),
CHECK(RC_ENEMY_DROP_WALLMASTER, CanKillEnemy(ACTOR_EN_WALLMAS)),
},
@@ -139,6 +147,10 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_BENEATH_THE_WELL_RIGHT_FIRE_KEESE] = RandoRegion{ .name = "Right Fire Keese Room", .sceneId = SCENE_REDEAD,
.checks = {
+ CHECK(RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_01, true),
+ CHECK(RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_02, true),
+ CHECK(RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_03, true),
+ CHECK(RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_04, true),
CHECK(RC_ENEMY_DROP_KEESE, CanKillEnemy(ACTOR_EN_FIREFLY)),
},
.connections = {
@@ -172,6 +184,8 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_BENEATH_THE_WELL_TWO_SPIKED_BARS] = RandoRegion{ .name = "Two Spikes Room", .sceneId = SCENE_REDEAD,
.checks = {
+ CHECK(RC_BENEATH_THE_WELL_TWO_SPIKED_BARS_GRASS_01, true),
+ CHECK(RC_BENEATH_THE_WELL_TWO_SPIKED_BARS_GRASS_02, true),
CHECK(RC_BENEATH_THE_WELL_LEFT_SIDE_POT_01, CAN_LIGHT_TORCH_NEAR_ANOTHER),
CHECK(RC_BENEATH_THE_WELL_LEFT_SIDE_POT_02, CAN_LIGHT_TORCH_NEAR_ANOTHER),
CHECK(RC_BENEATH_THE_WELL_LEFT_SIDE_POT_03, CAN_LIGHT_TORCH_NEAR_ANOTHER),
diff --git a/mm/2s2h/Rando/Logic/Regions/Central.cpp b/mm/2s2h/Rando/Logic/Regions/Central.cpp
index c4b811850..168fe2c2a 100644
--- a/mm/2s2h/Rando/Logic/Regions/Central.cpp
+++ b/mm/2s2h/Rando/Logic/Regions/Central.cpp
@@ -157,6 +157,16 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_CLOCK_TOWN_NORTH] = RandoRegion{ .sceneId = SCENE_BACKTOWN,
.checks = {
+ CHECK(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_01, true),
+ CHECK(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_02, true),
+ CHECK(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_03, true),
+ CHECK(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_04, true),
+ CHECK(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_05, true),
+ CHECK(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_06, true),
+ CHECK(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_07, true),
+ CHECK(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_08, true),
+ CHECK(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_09, true),
+ CHECK(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_WONDER_ITEM, CAN_FULLY_CUT_KEATON_GRASS),
CHECK(RC_CLOCK_TOWN_NORTH_TINGLE_MAP_01, CAN_USE_PROJECTILE && CAN_AFFORD(RC_CLOCK_TOWN_NORTH_TINGLE_MAP_01) && IS_DAY()),
CHECK(RC_CLOCK_TOWN_NORTH_TINGLE_MAP_02, CAN_USE_PROJECTILE && CAN_AFFORD(RC_CLOCK_TOWN_NORTH_TINGLE_MAP_02) && IS_DAY()),
CHECK(RC_CLOCK_TOWN_NORTH_TREE_PIECE_OF_HEART, true),
diff --git a/mm/2s2h/Rando/Logic/Regions/East.cpp b/mm/2s2h/Rando/Logic/Regions/East.cpp
index 541f65420..5592f5e24 100644
--- a/mm/2s2h/Rando/Logic/Regions/East.cpp
+++ b/mm/2s2h/Rando/Logic/Regions/East.cpp
@@ -168,6 +168,10 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_IKANA_CANYON_UPPER] = RandoRegion{ .name = "Upper", .sceneId = SCENE_IKANA,
.checks = {
+ CHECK(RC_IKANA_CANYON_GRASS_01, true),
+ CHECK(RC_IKANA_CANYON_GRASS_02, true),
+ CHECK(RC_IKANA_CANYON_GRASS_03, true),
+ CHECK(RC_IKANA_CANYON_GRASS_04, true),
CHECK(RC_IKANA_CANYON_OWL_STATUE, CAN_USE_SWORD),
CHECK(RC_IKANA_CANYON_TINGLE_MAP_01, CAN_USE_PROJECTILE && CAN_AFFORD(RC_IKANA_CANYON_TINGLE_MAP_01)),
CHECK(RC_IKANA_CANYON_TINGLE_MAP_02, CAN_USE_PROJECTILE && CAN_AFFORD(RC_IKANA_CANYON_TINGLE_MAP_02)),
@@ -219,6 +223,11 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_IKANA_GRAVEYARD_LOWER] = RandoRegion{ .name = "Lower", .sceneId = SCENE_BOTI,
.checks = {
+ CHECK(RC_IKANA_GRAVEYARD_LOWER_GRASS_01, true),
+ CHECK(RC_IKANA_GRAVEYARD_LOWER_GRASS_02, true),
+ CHECK(RC_IKANA_GRAVEYARD_LOWER_GRASS_03, true),
+ CHECK(RC_IKANA_GRAVEYARD_LOWER_GRASS_04, true),
+ CHECK(RC_IKANA_GRAVEYARD_LOWER_GRASS_05, true),
CHECK(RC_IKANA_GRAVEYARD_GRASS_01, true),
CHECK(RC_IKANA_GRAVEYARD_GRASS_02, true),
CHECK(RC_IKANA_GRAVEYARD_GRASS_03, true),
@@ -368,6 +377,12 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_SECRET_SHRINE_ENTRANCE] = RandoRegion{ .name = "Entrance", .sceneId = SCENE_RANDOM,
.checks = {
+ CHECK(RC_SECRET_SHRINE_ENTRANCE_GRASS_01, true),
+ CHECK(RC_SECRET_SHRINE_ENTRANCE_GRASS_02, true),
+ CHECK(RC_SECRET_SHRINE_ENTRANCE_GRASS_03, true),
+ CHECK(RC_SECRET_SHRINE_ENTRANCE_GRASS_04, true),
+ CHECK(RC_SECRET_SHRINE_ENTRANCE_GRASS_05, true),
+ CHECK(RC_SECRET_SHRINE_ENTRANCE_GRASS_06, true),
CHECK(RC_SECRET_SHRINE_FREESTANDING_RUPEE_01, CAN_GROW_BEAN_PLANT || CAN_BE_ZORA),
CHECK(RC_SECRET_SHRINE_FREESTANDING_RUPEE_02, CAN_GROW_BEAN_PLANT || CAN_BE_ZORA),
CHECK(RC_SECRET_SHRINE_FREESTANDING_RUPEE_03, CAN_GROW_BEAN_PLANT || CAN_BE_ZORA),
@@ -398,6 +413,29 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_SECRET_SHRINE] = RandoRegion{ .sceneId = SCENE_RANDOM,
.checks = {
+ CHECK(RC_SECRET_SHRINE_DINOLFOS_GRASS_01, true),
+ CHECK(RC_SECRET_SHRINE_DINOLFOS_GRASS_02, true),
+ CHECK(RC_SECRET_SHRINE_DINOLFOS_GRASS_03, true),
+ CHECK(RC_SECRET_SHRINE_DINOLFOS_GRASS_04, true),
+ CHECK(RC_SECRET_SHRINE_WIZZROBE_GRASS_01, true),
+ CHECK(RC_SECRET_SHRINE_WIZZROBE_GRASS_02, true),
+ CHECK(RC_SECRET_SHRINE_WIZZROBE_GRASS_03, true),
+ CHECK(RC_SECRET_SHRINE_WIZZROBE_GRASS_04, true),
+ CHECK(RC_SECRET_SHRINE_WIZZROBE_GRASS_05, true),
+ CHECK(RC_SECRET_SHRINE_WART_GRASS_01, true),
+ CHECK(RC_SECRET_SHRINE_WART_GRASS_02, true),
+ CHECK(RC_SECRET_SHRINE_WART_GRASS_03, true),
+ CHECK(RC_SECRET_SHRINE_WART_GRASS_04, true),
+ CHECK(RC_SECRET_SHRINE_WART_GRASS_05, true),
+ CHECK(RC_SECRET_SHRINE_WART_GRASS_06, true),
+ CHECK(RC_SECRET_SHRINE_WART_GRASS_07, true),
+ CHECK(RC_SECRET_SHRINE_WART_GRASS_08, true),
+ CHECK(RC_SECRET_SHRINE_GARO_MASTER_GRASS_01, true),
+ CHECK(RC_SECRET_SHRINE_GARO_MASTER_GRASS_02, true),
+ CHECK(RC_SECRET_SHRINE_GARO_MASTER_GRASS_03, true),
+ CHECK(RC_SECRET_SHRINE_GARO_MASTER_GRASS_04, true),
+ CHECK(RC_SECRET_SHRINE_GARO_MASTER_GRASS_05, true),
+ CHECK(RC_SECRET_SHRINE_GARO_MASTER_GRASS_06, true),
CHECK(RC_SECRET_SHRINE_DINOLFOS_CHEST, RANDO_EVENTS[RE_SECRET_SHRINE_DINOLFOS]),
CHECK(RC_SECRET_SHRINE_WIZZROBE_CHEST, RANDO_EVENTS[RE_SECRET_SHRINE_WIZZROBE]),
CHECK(RC_SECRET_SHRINE_WART_CHEST, RANDO_EVENTS[RE_SECRET_SHRINE_WART]),
diff --git a/mm/2s2h/Rando/Logic/Regions/IkanaCastle.cpp b/mm/2s2h/Rando/Logic/Regions/IkanaCastle.cpp
index 87cf46421..d36f4c7f3 100644
--- a/mm/2s2h/Rando/Logic/Regions/IkanaCastle.cpp
+++ b/mm/2s2h/Rando/Logic/Regions/IkanaCastle.cpp
@@ -38,6 +38,18 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_IKANA_CASTLE_COURTYARD] = RandoRegion{ .name = "Courtyard", .sceneId = SCENE_CASTLE,
.checks = {
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_01, true),
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_02, true),
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_03, true),
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_04, true),
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_05, true),
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_06, true),
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_07, true),
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_08, true),
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_09, true),
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_10, true),
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_11, true),
+ CHECK(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_12, true),
CHECK(RC_ANCIENT_CASTLE_OF_IKANA_EXTERIOR_POT, true),
CHECK(RC_ENEMY_DROP_GUAY, CanKillEnemy(ACTOR_EN_CROW)),
CHECK(RC_ENEMY_DROP_GARO, CanKillEnemy(ACTOR_EN_JSO)),
diff --git a/mm/2s2h/Rando/Logic/Regions/MilkRoad.cpp b/mm/2s2h/Rando/Logic/Regions/MilkRoad.cpp
index 75b7ae574..d7c58d228 100644
--- a/mm/2s2h/Rando/Logic/Regions/MilkRoad.cpp
+++ b/mm/2s2h/Rando/Logic/Regions/MilkRoad.cpp
@@ -118,6 +118,19 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_MILK_ROAD] = RandoRegion{ .sceneId = SCENE_ROMANYMAE,
.checks = {
+ CHECK(RC_MILK_ROAD_GRASS_01, true),
+ CHECK(RC_MILK_ROAD_GRASS_02, true),
+ CHECK(RC_MILK_ROAD_GRASS_03, true),
+ CHECK(RC_MILK_ROAD_KEATON_GRASS_01, true),
+ CHECK(RC_MILK_ROAD_KEATON_GRASS_02, true),
+ CHECK(RC_MILK_ROAD_KEATON_GRASS_03, true),
+ CHECK(RC_MILK_ROAD_KEATON_GRASS_04, true),
+ CHECK(RC_MILK_ROAD_KEATON_GRASS_05, true),
+ CHECK(RC_MILK_ROAD_KEATON_GRASS_06, true),
+ CHECK(RC_MILK_ROAD_KEATON_GRASS_07, true),
+ CHECK(RC_MILK_ROAD_KEATON_GRASS_08, true),
+ CHECK(RC_MILK_ROAD_KEATON_GRASS_09, true),
+ CHECK(RC_MILK_ROAD_KEATON_GRASS_WONDER_ITEM, CAN_FULLY_CUT_KEATON_GRASS),
CHECK(RC_KEATON_QUIZ, HAS_ITEM(ITEM_MASK_KEATON)),
CHECK(RC_MILK_ROAD_OWL_STATUE, CAN_USE_SWORD),
CHECK(RC_MILK_ROAD_TINGLE_MAP_01, CAN_USE_PROJECTILE && CAN_AFFORD(RC_MILK_ROAD_TINGLE_MAP_01)),
diff --git a/mm/2s2h/Rando/Logic/Regions/North.cpp b/mm/2s2h/Rando/Logic/Regions/North.cpp
index 5bbe65931..5e4d5aae1 100644
--- a/mm/2s2h/Rando/Logic/Regions/North.cpp
+++ b/mm/2s2h/Rando/Logic/Regions/North.cpp
@@ -225,6 +225,16 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_MOUNTAIN_VILLAGE] = RandoRegion{ .sceneId = SCENE_10YUKIYAMANOMURA,
.checks = {
+ CHECK(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_01, RANDO_EVENTS[RE_CLEARED_SNOWHEAD_TEMPLE]),
+ CHECK(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_02, RANDO_EVENTS[RE_CLEARED_SNOWHEAD_TEMPLE]),
+ CHECK(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_03, RANDO_EVENTS[RE_CLEARED_SNOWHEAD_TEMPLE]),
+ CHECK(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_04, RANDO_EVENTS[RE_CLEARED_SNOWHEAD_TEMPLE]),
+ CHECK(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_05, RANDO_EVENTS[RE_CLEARED_SNOWHEAD_TEMPLE]),
+ CHECK(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_06, RANDO_EVENTS[RE_CLEARED_SNOWHEAD_TEMPLE]),
+ CHECK(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_07, RANDO_EVENTS[RE_CLEARED_SNOWHEAD_TEMPLE]),
+ CHECK(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_08, RANDO_EVENTS[RE_CLEARED_SNOWHEAD_TEMPLE]),
+ CHECK(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_09, RANDO_EVENTS[RE_CLEARED_SNOWHEAD_TEMPLE]),
+ CHECK(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_WONDER_ITEM, RANDO_EVENTS[RE_CLEARED_SNOWHEAD_TEMPLE] && CAN_FULLY_CUT_KEATON_GRASS),
CHECK(RC_KEATON_QUIZ, HAS_ITEM(ITEM_MASK_KEATON)),
CHECK(RC_MOUNTAIN_VILLAGE_DON_GERO_MASK, RANDO_EVENTS[RE_SPAWN_SIRLOIN]), // TODO: For entrance rando we need to find a way to ensure the Rock Sirloin can be "walked" here
CHECK(RC_MOUNTAIN_VILLAGE_FROG_CHOIR, HAS_ITEM(ITEM_MASK_DON_GERO) && RANDO_EVENTS[RE_CLEARED_SNOWHEAD_TEMPLE] && FOUND_ALL_FROGS),
diff --git a/mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp b/mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp
index 8d1540704..f8d22474b 100644
--- a/mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp
+++ b/mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp
@@ -103,6 +103,16 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM] = RandoRegion{ .sceneId = SCENE_HAKUGIN,
.checks = {
+ CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_01, true),
+ CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_02, true),
+ CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_03, true),
+ CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_04, true),
+ CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_05, true),
+ CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_06, true),
+ CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_07, true),
+ CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_08, true),
+ CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_09, true),
+ CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_10, true),
CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_CHEST, CAN_BE_GORON),
CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_POT_01, true),
CHECK(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_POT_02, true),
diff --git a/mm/2s2h/Rando/Logic/Regions/South.cpp b/mm/2s2h/Rando/Logic/Regions/South.cpp
index 323ae3276..4962a5f50 100644
--- a/mm/2s2h/Rando/Logic/Regions/South.cpp
+++ b/mm/2s2h/Rando/Logic/Regions/South.cpp
@@ -331,6 +331,10 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_SOUTHERN_SWAMP_NORTH] = RandoRegion{ .name = "North Tourist Section", .sceneId = SCENE_20SICHITAI,
.checks = {
+ CHECK(RC_SOUTHERN_SWAMP_POISON_TOURIST_GRASS_01, true),
+ CHECK(RC_SOUTHERN_SWAMP_POISON_TOURIST_GRASS_02, true),
+ CHECK(RC_SOUTHERN_SWAMP_CLEARED_TOURIST_GRASS_01, RANDO_EVENTS[RE_CLEARED_WOODFALL_TEMPLE]),
+ CHECK(RC_SOUTHERN_SWAMP_CLEARED_TOURIST_GRASS_02, RANDO_EVENTS[RE_CLEARED_WOODFALL_TEMPLE]),
CHECK(RC_SOUTHERN_SWAMP_PIECE_OF_HEART, CAN_BE_DEKU && Flags_GetRandoInf(RANDO_INF_OBTAINED_DEED_LAND)),
CHECK(RC_SOUTHERN_SWAMP_SCRUB_DEED, Flags_GetRandoInf(RANDO_INF_OBTAINED_DEED_LAND)),
CHECK(RC_SOUTHERN_SWAMP_SCRUB_BEANS, CAN_BE_DEKU),
@@ -403,6 +407,10 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_SOUTHERN_SWAMP_NEAR_WOODS] = RandoRegion{ .name = "North Woods Section", .sceneId = SCENE_20SICHITAI,
.checks = {
+ CHECK(RC_SOUTHERN_SWAMP_CLEARED_WOODS_GRASS_01, RANDO_EVENTS[RE_CLEARED_WOODFALL_TEMPLE]),
+ CHECK(RC_SOUTHERN_SWAMP_CLEARED_WOODS_GRASS_02, RANDO_EVENTS[RE_CLEARED_WOODFALL_TEMPLE]),
+ CHECK(RC_SOUTHERN_SWAMP_POISON_WOODS_GRASS_01, true),
+ CHECK(RC_SOUTHERN_SWAMP_POISON_WOODS_GRASS_02, true),
CHECK(RC_SOUTHERN_SWAMP_POISON_POT_01, true),
CHECK(RC_SOUTHERN_SWAMP_POISON_POT_02, true),
CHECK(RC_SOUTHERN_SWAMP_POISON_POT_03, true),
diff --git a/mm/2s2h/Rando/Logic/Regions/StoneTowerTemple.cpp b/mm/2s2h/Rando/Logic/Regions/StoneTowerTemple.cpp
index cd300a0af..05aabfc38 100644
--- a/mm/2s2h/Rando/Logic/Regions/StoneTowerTemple.cpp
+++ b/mm/2s2h/Rando/Logic/Regions/StoneTowerTemple.cpp
@@ -10,6 +10,9 @@ static RegisterShipInitFunc initFunc([]() {
// Rightside Temple.
Regions[RR_STONE_TOWER_TEMPLE_ENTRANCE] = RandoRegion{ .name = "Entrace", .sceneId = SCENE_INISIE_N,
.checks = {
+ CHECK(RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_01, true),
+ CHECK(RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_02, true),
+ CHECK(RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_03, true),
CHECK(RC_STONE_TOWER_TEMPLE_ENTRANCE_CHEST, HAS_ITEM(ITEM_BOW)),
CHECK(RC_STONE_TOWER_TEMPLE_ENTRANCE_SMALL_CRATE_01, true),
CHECK(RC_STONE_TOWER_TEMPLE_ENTRANCE_SMALL_CRATE_02, true),
@@ -32,6 +35,12 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_STONE_TOWER_TEMPLE_SWITCH_ROOM] = RandoRegion{ .name = "Switch Room", .sceneId = SCENE_INISIE_N,
.checks = {
+ CHECK(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_01, true),
+ CHECK(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_02, true),
+ CHECK(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_03, true),
+ CHECK(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_04, true),
+ CHECK(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_05, true),
+ CHECK(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_06, true),
CHECK(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_LARGE_CRATE_01, true),
CHECK(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_LARGE_CRATE_02, true),
CHECK(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_LARGE_CRATE_03, true),
diff --git a/mm/2s2h/Rando/Logic/Regions/WoodfallTemple.cpp b/mm/2s2h/Rando/Logic/Regions/WoodfallTemple.cpp
index 2b949fb61..f6d07e07d 100644
--- a/mm/2s2h/Rando/Logic/Regions/WoodfallTemple.cpp
+++ b/mm/2s2h/Rando/Logic/Regions/WoodfallTemple.cpp
@@ -24,6 +24,22 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_WOODFALL_TEMPLE_BOSS_ROOM] = RandoRegion{ .sceneId = SCENE_MITURIN_BS,
.checks = {
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_01, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_02, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_03, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_04, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_05, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_06, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_07, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_08, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_09, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_10, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_11, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_12, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_13, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_14, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_15, true),
+ CHECK(RC_WOODFALL_TEMPLE_BOSS_GRASS_16, true),
CHECK(RC_WOODFALL_TEMPLE_BOSS_CONTAINER, CanKillEnemy(ACTOR_BOSS_01)),
CHECK(RC_WOODFALL_TEMPLE_BOSS_WARP, CanKillEnemy(ACTOR_BOSS_01)),
CHECK(RC_GIANTS_CHAMBER_OATH_TO_ORDER, CanKillEnemy(ACTOR_BOSS_01)),
@@ -49,6 +65,9 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_WOODFALL_TEMPLE_COMPASS_ROOM] = RandoRegion{ .name = "Compass Room", .sceneId = SCENE_MITURIN,
.checks = {
+ CHECK(RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_01, true),
+ CHECK(RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_02, true),
+ CHECK(RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_03, true),
CHECK(RC_WOODFALL_TEMPLE_COMPASS_CHEST, CanKillEnemy(ACTOR_EN_GRASSHOPPER)),
CHECK(RC_ENEMY_DROP_DRAGONFLY, CanKillEnemy(ACTOR_EN_GRASSHOPPER)),
},
@@ -79,6 +98,11 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_WOODFALL_TEMPLE_ENTRANCE] = RandoRegion{ .name = "Entrance", .sceneId = SCENE_MITURIN,
.checks = {
+ CHECK(RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_01, true),
+ CHECK(RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_02, true),
+ CHECK(RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_03, true),
+ CHECK(RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_04, CAN_BE_DEKU || HAS_ITEM(ITEM_HOOKSHOT)),
+ CHECK(RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_05, CAN_BE_DEKU || HAS_ITEM(ITEM_HOOKSHOT)),
CHECK(RC_WOODFALL_TEMPLE_ENTRANCE_CHEST, CAN_BE_DEKU || HAS_ITEM(ITEM_HOOKSHOT)),
CHECK(RC_WOODFALL_TEMPLE_SF_ENTRANCE, CAN_USE_PROJECTILE),
CHECK(RC_WOODFALL_TEMPLE_ENTRANCE_POT, CAN_BE_DEKU),
@@ -95,6 +119,18 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_WOODFALL_TEMPLE_MAIN_ROOM_UPPER] = RandoRegion{ .name = "Main Room Upper", .sceneId = SCENE_MITURIN,
.checks = {
+ CHECK(RC_WOODFALL_TEMPLE_MAIN_ROOM_UPPER_GRASS_01, true),
+ CHECK(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_01, true),
+ CHECK(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_02, true),
+ CHECK(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_03, true),
+ CHECK(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_04, true),
+ CHECK(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_05, true),
+ CHECK(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_06, true),
+ CHECK(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_07, true),
+ CHECK(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_08, true),
+ CHECK(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_09, true),
+ CHECK(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_10, true),
+ CHECK(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_11, true),
CHECK(RC_WOODFALL_TEMPLE_MAIN_ROOM_UPPER_POT_01, true),
CHECK(RC_WOODFALL_TEMPLE_MAIN_ROOM_UPPER_POT_02, true),
CHECK(RC_WOODFALL_TEMPLE_SF_MAIN_BUBBLE, true),
@@ -113,6 +149,8 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_WOODFALL_TEMPLE_MAIN_ROOM] = RandoRegion{ .name = "Main Room", .sceneId = SCENE_MITURIN,
.checks = {
+ CHECK(RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_GRASS_01, true),
+ CHECK(RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_GRASS_02, true),
CHECK(RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_01, true),
CHECK(RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_02, true),
CHECK(RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_03, true),
@@ -133,6 +171,11 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_WOODFALL_TEMPLE_MAP_ROOM] = RandoRegion{ .name = "Map Room", .sceneId = SCENE_MITURIN,
.checks = {
+ CHECK(RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_01, true),
+ CHECK(RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_02, true),
+ CHECK(RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_03, true),
+ CHECK(RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_04, true),
+ CHECK(RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_05, true),
CHECK(RC_WOODFALL_TEMPLE_MAP_CHEST, CAN_BE_DEKU && CanKillEnemy(ACTOR_EN_KAME)),
CHECK(RC_ENEMY_DROP_SNAPPER, CAN_BE_DEKU && CanKillEnemy(ACTOR_EN_KAME)),
},
@@ -161,6 +204,11 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_WOODFALL_TEMPLE_PRE_BOSS_ROOM] = RandoRegion{ .name = "Pre Boss Room", .sceneId = SCENE_MITURIN,
.checks = {
+ CHECK(RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_01, true),
+ CHECK(RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_02, true),
+ CHECK(RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_03, true),
+ CHECK(RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_04, true),
+ CHECK(RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_05, true),
CHECK(RC_WOODFALL_TEMPLE_SF_PRE_BOSS_BOTTOM_RIGHT, CAN_BE_DEKU),
CHECK(RC_WOODFALL_TEMPLE_SF_PRE_BOSS_LEFT, CAN_BE_DEKU),
CHECK(RC_WOODFALL_TEMPLE_SF_PRE_BOSS_TOP_RIGHT, CAN_BE_DEKU),
@@ -199,6 +247,8 @@ static RegisterShipInitFunc initFunc([]() {
};
Regions[RR_WOODFALL_TEMPLE_WATER_ROOM] = RandoRegion{ .name = "Water Room", .sceneId = SCENE_MITURIN,
.checks = {
+ CHECK(RC_WOODFALL_TEMPLE_WATER_ROOM_GRASS_01, CAN_BE_DEKU),
+ CHECK(RC_WOODFALL_TEMPLE_WATER_ROOM_GRASS_02, CAN_BE_DEKU),
CHECK(RC_WOODFALL_TEMPLE_WATER_CHEST, CAN_BE_DEKU || HAS_ITEM(ITEM_HOOKSHOT)),
CHECK(RC_WOODFALL_TEMPLE_SF_WATER_ROOM_BEEHIVE, (
// Can they break it, leaving the fairy up high? // TODO: Trick for bombs & chus here
diff --git a/mm/2s2h/Rando/StaticData/Checks.cpp b/mm/2s2h/Rando/StaticData/Checks.cpp
index cfb0e9126..03d619e8d 100644
--- a/mm/2s2h/Rando/StaticData/Checks.cpp
+++ b/mm/2s2h/Rando/StaticData/Checks.cpp
@@ -1400,9 +1400,44 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_WOODFALL_TEMPLE_GEKKO_FROG, RCTYPE_FROG, SCENE_MITURIN, FLAG_NONE, 0x00, RI_FROG_CYAN),
// Grass //
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_01, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_02, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_03, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_04, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_05, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_06, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_07, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_08, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_09, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_10, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_11, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_12, RCTYPE_GRASS, SCENE_CASTLE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_COW_ROOM_GRASS_01, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_COW_ROOM_GRASS_02, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_COW_ROOM_GRASS_03, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_01, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_02, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_03, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_04, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_05, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_01, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_02, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_03, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_04, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_TWO_SPIKED_BARS_GRASS_01, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_BENEATH_THE_WELL_TWO_SPIKED_BARS_GRASS_02, RCTYPE_GRASS, SCENE_REDEAD, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_CLOCK_TOWN_LAUNDRY_POOL_GRASS_01, RCTYPE_GRASS, SCENE_ALLEY, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_CLOCK_TOWN_LAUNDRY_POOL_GRASS_02, RCTYPE_GRASS, SCENE_ALLEY, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_CLOCK_TOWN_LAUNDRY_POOL_GRASS_03, RCTYPE_GRASS, SCENE_ALLEY, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_01, RCTYPE_GRASS, SCENE_BACKTOWN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_02, RCTYPE_GRASS, SCENE_BACKTOWN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_03, RCTYPE_GRASS, SCENE_BACKTOWN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_04, RCTYPE_GRASS, SCENE_BACKTOWN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_05, RCTYPE_GRASS, SCENE_BACKTOWN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_06, RCTYPE_GRASS, SCENE_BACKTOWN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_07, RCTYPE_GRASS, SCENE_BACKTOWN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_08, RCTYPE_GRASS, SCENE_BACKTOWN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_09, RCTYPE_GRASS, SCENE_BACKTOWN, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_DEKU_PALACE_BEAN_SALESMAN_GROTTO_GRASS_01, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_DEKU_PALACE_BEAN_SALESMAN_GROTTO_GRASS_02, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_DEKU_PALACE_BEAN_SALESMAN_GROTTO_GRASS_03, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
@@ -1530,6 +1565,10 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_GREAT_BAY_COAST_GRASS_03, RCTYPE_GRASS, SCENE_30GYOSON, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_GREAT_BAY_COAST_GRASS_04, RCTYPE_GRASS, SCENE_30GYOSON, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_GREAT_BAY_COAST_GRASS_05, RCTYPE_GRASS, SCENE_30GYOSON, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_IKANA_CANYON_GRASS_01, RCTYPE_GRASS, SCENE_IKANA, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_IKANA_CANYON_GRASS_02, RCTYPE_GRASS, SCENE_IKANA, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_IKANA_CANYON_GRASS_03, RCTYPE_GRASS, SCENE_IKANA, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_IKANA_CANYON_GRASS_04, RCTYPE_GRASS, SCENE_IKANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_IKANA_CANYON_GROTTO_GRASS_01, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_IKANA_CANYON_GROTTO_GRASS_02, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_IKANA_CANYON_GROTTO_GRASS_03, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
@@ -1567,6 +1606,11 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_IKANA_GRAVEYARD_GROTTO_GRASS_12, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_IKANA_GRAVEYARD_GROTTO_GRASS_13, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_IKANA_GRAVEYARD_GROTTO_GRASS_14, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_IKANA_GRAVEYARD_LOWER_GRASS_01, RCTYPE_GRASS, SCENE_BOTI, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_IKANA_GRAVEYARD_LOWER_GRASS_02, RCTYPE_GRASS, SCENE_BOTI, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_IKANA_GRAVEYARD_LOWER_GRASS_03, RCTYPE_GRASS, SCENE_BOTI, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_IKANA_GRAVEYARD_LOWER_GRASS_04, RCTYPE_GRASS, SCENE_BOTI, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_IKANA_GRAVEYARD_LOWER_GRASS_05, RCTYPE_GRASS, SCENE_BOTI, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_LONE_PEAK_SHRINE_GRASS_01, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_LONE_PEAK_SHRINE_GRASS_02, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_LONE_PEAK_SHRINE_GRASS_03, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
@@ -1591,6 +1635,18 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_LONE_PEAK_SHRINE_GRASS_22, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_LONE_PEAK_SHRINE_GRASS_23, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_LONE_PEAK_SHRINE_GRASS_24, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_GRASS_01, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_GRASS_02, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_GRASS_03, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_KEATON_GRASS_01, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_KEATON_GRASS_02, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_KEATON_GRASS_03, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_KEATON_GRASS_04, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_KEATON_GRASS_05, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_KEATON_GRASS_06, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_KEATON_GRASS_07, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_KEATON_GRASS_08, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MILK_ROAD_KEATON_GRASS_09, RCTYPE_GRASS, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_MOUNTAIN_VILLAGE_SPRING_GRASS_01, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_MOUNTAIN_VILLAGE_SPRING_GRASS_02, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_MOUNTAIN_VILLAGE_SPRING_GRASS_03, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
@@ -1621,6 +1677,15 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_MOUNTAIN_VILLAGE_SPRING_GRASS_28, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_MOUNTAIN_VILLAGE_SPRING_GRASS_29, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_MOUNTAIN_VILLAGE_SPRING_GRASS_30, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_01, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_02, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_03, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_04, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_05, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_06, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_07, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_08, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_09, RCTYPE_GRASS, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_MOUNTAIN_VILLAGE_TUNNEL_GROTTO_GRASS_01, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_MOUNTAIN_VILLAGE_TUNNEL_GROTTO_GRASS_02, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_MOUNTAIN_VILLAGE_TUNNEL_GROTTO_GRASS_03, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
@@ -1754,6 +1819,45 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_ROMANI_RANCH_GRASS_55, RCTYPE_GRASS, SCENE_F01, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_ROMANI_RANCH_GRASS_56, RCTYPE_GRASS, SCENE_F01, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_ROMANI_RANCH_GRASS_57, RCTYPE_GRASS, SCENE_F01, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_DINOLFOS_GRASS_01, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_DINOLFOS_GRASS_02, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_DINOLFOS_GRASS_03, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_DINOLFOS_GRASS_04, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_ENTRANCE_GRASS_01, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_ENTRANCE_GRASS_02, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_ENTRANCE_GRASS_03, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_ENTRANCE_GRASS_04, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_ENTRANCE_GRASS_05, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_ENTRANCE_GRASS_06, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_GARO_MASTER_GRASS_01, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_GARO_MASTER_GRASS_02, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_GARO_MASTER_GRASS_03, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_GARO_MASTER_GRASS_04, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_GARO_MASTER_GRASS_05, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_GARO_MASTER_GRASS_06, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WART_GRASS_01, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WART_GRASS_02, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WART_GRASS_03, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WART_GRASS_04, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WART_GRASS_05, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WART_GRASS_06, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WART_GRASS_07, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WART_GRASS_08, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WIZZROBE_GRASS_01, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WIZZROBE_GRASS_02, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WIZZROBE_GRASS_03, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WIZZROBE_GRASS_04, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SECRET_SHRINE_WIZZROBE_GRASS_05, RCTYPE_GRASS, SCENE_RANDOM, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_01, RCTYPE_GRASS, SCENE_HAKUGIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_02, RCTYPE_GRASS, SCENE_HAKUGIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_03, RCTYPE_GRASS, SCENE_HAKUGIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_04, RCTYPE_GRASS, SCENE_HAKUGIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_05, RCTYPE_GRASS, SCENE_HAKUGIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_06, RCTYPE_GRASS, SCENE_HAKUGIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_07, RCTYPE_GRASS, SCENE_HAKUGIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_08, RCTYPE_GRASS, SCENE_HAKUGIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_09, RCTYPE_GRASS, SCENE_HAKUGIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_10, RCTYPE_GRASS, SCENE_HAKUGIN, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_SOUTHERN_SWAMP_CLEARED_GRASS_01, RCTYPE_GRASS, SCENE_20SICHITAI2, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_SOUTHERN_SWAMP_CLEARED_GRASS_02, RCTYPE_GRASS, SCENE_20SICHITAI2, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_SOUTHERN_SWAMP_CLEARED_GRASS_03, RCTYPE_GRASS, SCENE_20SICHITAI2, FLAG_NONE, 0x0, RI_JUNK),
@@ -1784,6 +1888,10 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_SOUTHERN_SWAMP_CLEARED_GRASS_28, RCTYPE_GRASS, SCENE_20SICHITAI2, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_SOUTHERN_SWAMP_CLEARED_GRASS_29, RCTYPE_GRASS, SCENE_20SICHITAI2, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_SOUTHERN_SWAMP_CLEARED_GRASS_30, RCTYPE_GRASS, SCENE_20SICHITAI2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SOUTHERN_SWAMP_CLEARED_TOURIST_GRASS_01, RCTYPE_GRASS, SCENE_20SICHITAI2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SOUTHERN_SWAMP_CLEARED_TOURIST_GRASS_02, RCTYPE_GRASS, SCENE_20SICHITAI2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SOUTHERN_SWAMP_CLEARED_WOODS_GRASS_01, RCTYPE_GRASS, SCENE_20SICHITAI2, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SOUTHERN_SWAMP_CLEARED_WOODS_GRASS_02, RCTYPE_GRASS, SCENE_20SICHITAI2, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_SOUTHERN_SWAMP_GROTTO_GRASS_01, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_SOUTHERN_SWAMP_GROTTO_GRASS_02, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_SOUTHERN_SWAMP_GROTTO_GRASS_03, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
@@ -1829,6 +1937,19 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_SOUTHERN_SWAMP_POISON_GRASS_28, RCTYPE_GRASS, SCENE_20SICHITAI, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_SOUTHERN_SWAMP_POISON_GRASS_29, RCTYPE_GRASS, SCENE_20SICHITAI, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_SOUTHERN_SWAMP_POISON_GRASS_30, RCTYPE_GRASS, SCENE_20SICHITAI, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SOUTHERN_SWAMP_POISON_TOURIST_GRASS_01, RCTYPE_GRASS, SCENE_20SICHITAI, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SOUTHERN_SWAMP_POISON_TOURIST_GRASS_02, RCTYPE_GRASS, SCENE_20SICHITAI, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SOUTHERN_SWAMP_POISON_WOODS_GRASS_01, RCTYPE_GRASS, SCENE_20SICHITAI, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_SOUTHERN_SWAMP_POISON_WOODS_GRASS_02, RCTYPE_GRASS, SCENE_20SICHITAI, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_01, RCTYPE_GRASS, SCENE_INISIE_N, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_02, RCTYPE_GRASS, SCENE_INISIE_N, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_03, RCTYPE_GRASS, SCENE_INISIE_N, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_01, RCTYPE_GRASS, SCENE_INISIE_N, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_02, RCTYPE_GRASS, SCENE_INISIE_N, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_03, RCTYPE_GRASS, SCENE_INISIE_N, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_04, RCTYPE_GRASS, SCENE_INISIE_N, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_05, RCTYPE_GRASS, SCENE_INISIE_N, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_06, RCTYPE_GRASS, SCENE_INISIE_N, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_TERMINA_FIELD_BIO_BABA_GROTTO_GRASS_01, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_TERMINA_FIELD_BIO_BABA_GROTTO_GRASS_02, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_TERMINA_FIELD_COW_GROTTO_GRASS_01, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK),
@@ -2202,6 +2323,56 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_WOODFALL_GRASS_04, RCTYPE_GRASS, SCENE_21MITURINMAE, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_WOODFALL_GRASS_05, RCTYPE_GRASS, SCENE_21MITURINMAE, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_WOODFALL_GRASS_06, RCTYPE_GRASS, SCENE_21MITURINMAE, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_01, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_02, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_03, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_04, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_05, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_06, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_07, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_08, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_09, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_10, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_11, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_12, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_13, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_14, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_15, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_BOSS_GRASS_16, RCTYPE_GRASS, SCENE_MITURIN_BS, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_01, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_02, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_03, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_01, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_02, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_03, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_04, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_05, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_GRASS_01, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_GRASS_02, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_MAIN_ROOM_UPPER_GRASS_01, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_01, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_02, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_03, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_04, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_05, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_01, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_02, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_03, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_04, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_05, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_01, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_02, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_03, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_04, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_05, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_06, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_07, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_08, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_09, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_10, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_11, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_WATER_ROOM_GRASS_01, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
+ RC(RC_WOODFALL_TEMPLE_WATER_ROOM_GRASS_02, RCTYPE_GRASS, SCENE_MITURIN, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_WOODS_OF_MYSTERY_GRASS_01, RCTYPE_GRASS, SCENE_26SARUNOMORI, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_WOODS_OF_MYSTERY_GRASS_02, RCTYPE_GRASS, SCENE_26SARUNOMORI, FLAG_NONE, 0x0, RI_JUNK),
RC(RC_WOODS_OF_MYSTERY_GRASS_03, RCTYPE_GRASS, SCENE_26SARUNOMORI, FLAG_NONE, 0x0, RI_JUNK),
@@ -2405,6 +2576,7 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_CLOCK_TOWN_EAST_WONDER_ITEM_07, RCTYPE_WONDER_ITEM, SCENE_TOWN, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
RC(RC_CLOCK_TOWN_EAST_WONDER_ITEM_08, RCTYPE_WONDER_ITEM, SCENE_TOWN, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
RC(RC_CLOCK_TOWN_EAST_WONDER_ITEM_09, RCTYPE_WONDER_ITEM, SCENE_TOWN, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
+ RC(RC_CLOCK_TOWN_NORTH_KEATON_GRASS_WONDER_ITEM, RCTYPE_WONDER_ITEM, SCENE_BACKTOWN, FLAG_NONE, 0x0, RI_RUPEE_RED),
RC(RC_CLOCK_TOWN_SOUTH_WONDER_ITEM_01, RCTYPE_WONDER_ITEM, SCENE_CLOCKTOWER, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
RC(RC_CLOCK_TOWN_SOUTH_WONDER_ITEM_02, RCTYPE_WONDER_ITEM, SCENE_CLOCKTOWER, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
RC(RC_CLOCK_TOWN_SOUTH_WONDER_ITEM_03, RCTYPE_WONDER_ITEM, SCENE_CLOCKTOWER, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
@@ -2426,6 +2598,8 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_IKANA_GRAVEYARD_WONDER_ITEM_10, RCTYPE_WONDER_ITEM, SCENE_BOTI, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
RC(RC_IKANA_GRAVEYARD_WONDER_ITEM_11, RCTYPE_WONDER_ITEM, SCENE_BOTI, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
RC(RC_IKANA_GRAVEYARD_WONDER_ITEM_12, RCTYPE_WONDER_ITEM, SCENE_BOTI, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
+ RC(RC_MILK_ROAD_KEATON_GRASS_WONDER_ITEM, RCTYPE_WONDER_ITEM, SCENE_ROMANYMAE, FLAG_NONE, 0x0, RI_RUPEE_RED),
+ RC(RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_WONDER_ITEM, RCTYPE_WONDER_ITEM, SCENE_10YUKIYAMANOMURA2, FLAG_NONE, 0x0, RI_RUPEE_RED),
RC(RC_OCEAN_SPIDER_HOUSE_WONDER_ITEM_01, RCTYPE_WONDER_ITEM, SCENE_KINDAN2, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
RC(RC_OCEAN_SPIDER_HOUSE_WONDER_ITEM_02, RCTYPE_WONDER_ITEM, SCENE_KINDAN2, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
RC(RC_OCEAN_SPIDER_HOUSE_WONDER_ITEM_03, RCTYPE_WONDER_ITEM, SCENE_KINDAN2, FLAG_NONE, 0x0, RI_RUPEE_GREEN),
diff --git a/mm/2s2h/Rando/Types.h b/mm/2s2h/Rando/Types.h
index 3000cade9..078634a67 100644
--- a/mm/2s2h/Rando/Types.h
+++ b/mm/2s2h/Rando/Types.h
@@ -1408,9 +1408,44 @@ typedef enum {
RC_WOODFALL_TEMPLE_GEKKO_FROG,
// Grass //
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_01,
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_02,
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_03,
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_04,
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_05,
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_06,
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_07,
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_08,
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_09,
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_10,
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_11,
+ RC_ANCIENT_CASTLE_OF_IKANA_COURTYARD_GRASS_12,
+ RC_BENEATH_THE_WELL_COW_ROOM_GRASS_01,
+ RC_BENEATH_THE_WELL_COW_ROOM_GRASS_02,
+ RC_BENEATH_THE_WELL_COW_ROOM_GRASS_03,
+ RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_01,
+ RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_02,
+ RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_03,
+ RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_04,
+ RC_BENEATH_THE_WELL_FOUR_SPIKED_BARS_GRASS_05,
+ RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_01,
+ RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_02,
+ RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_03,
+ RC_BENEATH_THE_WELL_RIGHT_FIRE_KEESE_GRASS_04,
+ RC_BENEATH_THE_WELL_TWO_SPIKED_BARS_GRASS_01,
+ RC_BENEATH_THE_WELL_TWO_SPIKED_BARS_GRASS_02,
RC_CLOCK_TOWN_LAUNDRY_POOL_GRASS_01,
RC_CLOCK_TOWN_LAUNDRY_POOL_GRASS_02,
RC_CLOCK_TOWN_LAUNDRY_POOL_GRASS_03,
+ RC_CLOCK_TOWN_NORTH_KEATON_GRASS_01,
+ RC_CLOCK_TOWN_NORTH_KEATON_GRASS_02,
+ RC_CLOCK_TOWN_NORTH_KEATON_GRASS_03,
+ RC_CLOCK_TOWN_NORTH_KEATON_GRASS_04,
+ RC_CLOCK_TOWN_NORTH_KEATON_GRASS_05,
+ RC_CLOCK_TOWN_NORTH_KEATON_GRASS_06,
+ RC_CLOCK_TOWN_NORTH_KEATON_GRASS_07,
+ RC_CLOCK_TOWN_NORTH_KEATON_GRASS_08,
+ RC_CLOCK_TOWN_NORTH_KEATON_GRASS_09,
RC_DEKU_PALACE_BEAN_SALESMAN_GROTTO_GRASS_01,
RC_DEKU_PALACE_BEAN_SALESMAN_GROTTO_GRASS_02,
RC_DEKU_PALACE_BEAN_SALESMAN_GROTTO_GRASS_03,
@@ -1538,6 +1573,10 @@ typedef enum {
RC_GREAT_BAY_COAST_GRASS_03,
RC_GREAT_BAY_COAST_GRASS_04,
RC_GREAT_BAY_COAST_GRASS_05,
+ RC_IKANA_CANYON_GRASS_01,
+ RC_IKANA_CANYON_GRASS_02,
+ RC_IKANA_CANYON_GRASS_03,
+ RC_IKANA_CANYON_GRASS_04,
RC_IKANA_CANYON_GROTTO_GRASS_01,
RC_IKANA_CANYON_GROTTO_GRASS_02,
RC_IKANA_CANYON_GROTTO_GRASS_03,
@@ -1575,6 +1614,11 @@ typedef enum {
RC_IKANA_GRAVEYARD_GROTTO_GRASS_12,
RC_IKANA_GRAVEYARD_GROTTO_GRASS_13,
RC_IKANA_GRAVEYARD_GROTTO_GRASS_14,
+ RC_IKANA_GRAVEYARD_LOWER_GRASS_01,
+ RC_IKANA_GRAVEYARD_LOWER_GRASS_02,
+ RC_IKANA_GRAVEYARD_LOWER_GRASS_03,
+ RC_IKANA_GRAVEYARD_LOWER_GRASS_04,
+ RC_IKANA_GRAVEYARD_LOWER_GRASS_05,
RC_LONE_PEAK_SHRINE_GRASS_01,
RC_LONE_PEAK_SHRINE_GRASS_02,
RC_LONE_PEAK_SHRINE_GRASS_03,
@@ -1599,6 +1643,18 @@ typedef enum {
RC_LONE_PEAK_SHRINE_GRASS_22,
RC_LONE_PEAK_SHRINE_GRASS_23,
RC_LONE_PEAK_SHRINE_GRASS_24,
+ RC_MILK_ROAD_GRASS_01,
+ RC_MILK_ROAD_GRASS_02,
+ RC_MILK_ROAD_GRASS_03,
+ RC_MILK_ROAD_KEATON_GRASS_01,
+ RC_MILK_ROAD_KEATON_GRASS_02,
+ RC_MILK_ROAD_KEATON_GRASS_03,
+ RC_MILK_ROAD_KEATON_GRASS_04,
+ RC_MILK_ROAD_KEATON_GRASS_05,
+ RC_MILK_ROAD_KEATON_GRASS_06,
+ RC_MILK_ROAD_KEATON_GRASS_07,
+ RC_MILK_ROAD_KEATON_GRASS_08,
+ RC_MILK_ROAD_KEATON_GRASS_09,
RC_MOUNTAIN_VILLAGE_SPRING_GRASS_01,
RC_MOUNTAIN_VILLAGE_SPRING_GRASS_02,
RC_MOUNTAIN_VILLAGE_SPRING_GRASS_03,
@@ -1629,6 +1685,15 @@ typedef enum {
RC_MOUNTAIN_VILLAGE_SPRING_GRASS_28,
RC_MOUNTAIN_VILLAGE_SPRING_GRASS_29,
RC_MOUNTAIN_VILLAGE_SPRING_GRASS_30,
+ RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_01,
+ RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_02,
+ RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_03,
+ RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_04,
+ RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_05,
+ RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_06,
+ RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_07,
+ RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_08,
+ RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_09,
RC_MOUNTAIN_VILLAGE_TUNNEL_GROTTO_GRASS_01,
RC_MOUNTAIN_VILLAGE_TUNNEL_GROTTO_GRASS_02,
RC_MOUNTAIN_VILLAGE_TUNNEL_GROTTO_GRASS_03,
@@ -1762,6 +1827,45 @@ typedef enum {
RC_ROMANI_RANCH_GRASS_55,
RC_ROMANI_RANCH_GRASS_56,
RC_ROMANI_RANCH_GRASS_57,
+ RC_SECRET_SHRINE_DINOLFOS_GRASS_01,
+ RC_SECRET_SHRINE_DINOLFOS_GRASS_02,
+ RC_SECRET_SHRINE_DINOLFOS_GRASS_03,
+ RC_SECRET_SHRINE_DINOLFOS_GRASS_04,
+ RC_SECRET_SHRINE_ENTRANCE_GRASS_01,
+ RC_SECRET_SHRINE_ENTRANCE_GRASS_02,
+ RC_SECRET_SHRINE_ENTRANCE_GRASS_03,
+ RC_SECRET_SHRINE_ENTRANCE_GRASS_04,
+ RC_SECRET_SHRINE_ENTRANCE_GRASS_05,
+ RC_SECRET_SHRINE_ENTRANCE_GRASS_06,
+ RC_SECRET_SHRINE_GARO_MASTER_GRASS_01,
+ RC_SECRET_SHRINE_GARO_MASTER_GRASS_02,
+ RC_SECRET_SHRINE_GARO_MASTER_GRASS_03,
+ RC_SECRET_SHRINE_GARO_MASTER_GRASS_04,
+ RC_SECRET_SHRINE_GARO_MASTER_GRASS_05,
+ RC_SECRET_SHRINE_GARO_MASTER_GRASS_06,
+ RC_SECRET_SHRINE_WART_GRASS_01,
+ RC_SECRET_SHRINE_WART_GRASS_02,
+ RC_SECRET_SHRINE_WART_GRASS_03,
+ RC_SECRET_SHRINE_WART_GRASS_04,
+ RC_SECRET_SHRINE_WART_GRASS_05,
+ RC_SECRET_SHRINE_WART_GRASS_06,
+ RC_SECRET_SHRINE_WART_GRASS_07,
+ RC_SECRET_SHRINE_WART_GRASS_08,
+ RC_SECRET_SHRINE_WIZZROBE_GRASS_01,
+ RC_SECRET_SHRINE_WIZZROBE_GRASS_02,
+ RC_SECRET_SHRINE_WIZZROBE_GRASS_03,
+ RC_SECRET_SHRINE_WIZZROBE_GRASS_04,
+ RC_SECRET_SHRINE_WIZZROBE_GRASS_05,
+ RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_01,
+ RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_02,
+ RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_03,
+ RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_04,
+ RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_05,
+ RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_06,
+ RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_07,
+ RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_08,
+ RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_09,
+ RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_GRASS_10,
RC_SOUTHERN_SWAMP_CLEARED_GRASS_01,
RC_SOUTHERN_SWAMP_CLEARED_GRASS_02,
RC_SOUTHERN_SWAMP_CLEARED_GRASS_03,
@@ -1792,6 +1896,10 @@ typedef enum {
RC_SOUTHERN_SWAMP_CLEARED_GRASS_28,
RC_SOUTHERN_SWAMP_CLEARED_GRASS_29,
RC_SOUTHERN_SWAMP_CLEARED_GRASS_30,
+ RC_SOUTHERN_SWAMP_CLEARED_TOURIST_GRASS_01,
+ RC_SOUTHERN_SWAMP_CLEARED_TOURIST_GRASS_02,
+ RC_SOUTHERN_SWAMP_CLEARED_WOODS_GRASS_01,
+ RC_SOUTHERN_SWAMP_CLEARED_WOODS_GRASS_02,
RC_SOUTHERN_SWAMP_GROTTO_GRASS_01,
RC_SOUTHERN_SWAMP_GROTTO_GRASS_02,
RC_SOUTHERN_SWAMP_GROTTO_GRASS_03,
@@ -1837,6 +1945,19 @@ typedef enum {
RC_SOUTHERN_SWAMP_POISON_GRASS_28,
RC_SOUTHERN_SWAMP_POISON_GRASS_29,
RC_SOUTHERN_SWAMP_POISON_GRASS_30,
+ RC_SOUTHERN_SWAMP_POISON_TOURIST_GRASS_01,
+ RC_SOUTHERN_SWAMP_POISON_TOURIST_GRASS_02,
+ RC_SOUTHERN_SWAMP_POISON_WOODS_GRASS_01,
+ RC_SOUTHERN_SWAMP_POISON_WOODS_GRASS_02,
+ RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_01,
+ RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_02,
+ RC_STONE_TOWER_TEMPLE_ENTRANCE_GRASS_03,
+ RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_01,
+ RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_02,
+ RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_03,
+ RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_04,
+ RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_05,
+ RC_STONE_TOWER_TEMPLE_SWITCH_ROOM_GRASS_06,
RC_TERMINA_FIELD_BIO_BABA_GROTTO_GRASS_01,
RC_TERMINA_FIELD_BIO_BABA_GROTTO_GRASS_02,
RC_TERMINA_FIELD_COW_GROTTO_GRASS_01,
@@ -2210,6 +2331,56 @@ typedef enum {
RC_WOODFALL_GRASS_04,
RC_WOODFALL_GRASS_05,
RC_WOODFALL_GRASS_06,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_01,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_02,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_03,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_04,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_05,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_06,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_07,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_08,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_09,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_10,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_11,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_12,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_13,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_14,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_15,
+ RC_WOODFALL_TEMPLE_BOSS_GRASS_16,
+ RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_01,
+ RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_02,
+ RC_WOODFALL_TEMPLE_COMPASS_ROOM_GRASS_03,
+ RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_01,
+ RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_02,
+ RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_03,
+ RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_04,
+ RC_WOODFALL_TEMPLE_ENTRANCE_GRASS_05,
+ RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_GRASS_01,
+ RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_GRASS_02,
+ RC_WOODFALL_TEMPLE_MAIN_ROOM_UPPER_GRASS_01,
+ RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_01,
+ RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_02,
+ RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_03,
+ RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_04,
+ RC_WOODFALL_TEMPLE_MAP_ROOM_GRASS_05,
+ RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_01,
+ RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_02,
+ RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_03,
+ RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_04,
+ RC_WOODFALL_TEMPLE_PRE_BOSS_GRASS_05,
+ RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_01,
+ RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_02,
+ RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_03,
+ RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_04,
+ RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_05,
+ RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_06,
+ RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_07,
+ RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_08,
+ RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_09,
+ RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_10,
+ RC_WOODFALL_TEMPLE_UPPER_WALKWAY_GRASS_11,
+ RC_WOODFALL_TEMPLE_WATER_ROOM_GRASS_01,
+ RC_WOODFALL_TEMPLE_WATER_ROOM_GRASS_02,
RC_WOODS_OF_MYSTERY_GRASS_01,
RC_WOODS_OF_MYSTERY_GRASS_02,
RC_WOODS_OF_MYSTERY_GRASS_03,
@@ -2408,6 +2579,7 @@ typedef enum {
RC_CLOCK_TOWN_EAST_WONDER_ITEM_07,
RC_CLOCK_TOWN_EAST_WONDER_ITEM_08,
RC_CLOCK_TOWN_EAST_WONDER_ITEM_09,
+ RC_CLOCK_TOWN_NORTH_KEATON_GRASS_WONDER_ITEM,
RC_CLOCK_TOWN_SOUTH_WONDER_ITEM_01,
RC_CLOCK_TOWN_SOUTH_WONDER_ITEM_02,
RC_CLOCK_TOWN_SOUTH_WONDER_ITEM_03,
@@ -2429,6 +2601,8 @@ typedef enum {
RC_IKANA_GRAVEYARD_WONDER_ITEM_10,
RC_IKANA_GRAVEYARD_WONDER_ITEM_11,
RC_IKANA_GRAVEYARD_WONDER_ITEM_12,
+ RC_MILK_ROAD_KEATON_GRASS_WONDER_ITEM,
+ RC_MOUNTAIN_VILLAGE_SPRING_KEATON_GRASS_WONDER_ITEM,
RC_OCEAN_SPIDER_HOUSE_WONDER_ITEM_01,
RC_OCEAN_SPIDER_HOUSE_WONDER_ITEM_02,
RC_OCEAN_SPIDER_HOUSE_WONDER_ITEM_03,
diff --git a/mm/assets/2s2h_assets.h b/mm/assets/2s2h_assets.h
index 991c26728..21905427e 100644
--- a/mm/assets/2s2h_assets.h
+++ b/mm/assets/2s2h_assets.h
@@ -362,6 +362,36 @@ static const ALIGN_ASSET(2) char gRandoBushJunkDL[] = dgRandoBushJunkDL;
#define dgRandoBushJunkXluDL "__OTR__objects/gameplay_field_keep/gFieldBushJunkXluDL"
static const ALIGN_ASSET(2) char gRandoBushJunkXluDL[] = dgRandoBushJunkXluDL;
+#define dgRandoCuttableGrassRandomDL "__OTR__objects/gameplay_keep/gRandoCuttableGrassRandomDL"
+static const ALIGN_ASSET(2) char gRandoCuttableGrassRandomDL[] = dgRandoCuttableGrassRandomDL;
+
+#define dgRandoCuttableGrassMinorDL "__OTR__objects/gameplay_keep/gRandoCuttableGrassMinorDL"
+static const ALIGN_ASSET(2) char gRandoCuttableGrassMinorDL[] = dgRandoCuttableGrassMinorDL;
+
+#define dgRandoCuttableGrassMajorDL "__OTR__objects/gameplay_keep/gRandoCuttableGrassMajorDL"
+static const ALIGN_ASSET(2) char gRandoCuttableGrassMajorDL[] = dgRandoCuttableGrassMajorDL;
+
+#define dgRandoCuttableGrassSmallKeyDL "__OTR__objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL"
+static const ALIGN_ASSET(2) char gRandoCuttableGrassSmallKeyDL[] = dgRandoCuttableGrassSmallKeyDL;
+
+#define dgRandoCuttableGrassBossKeyDL "__OTR__objects/gameplay_keep/gRandoCuttableGrassBossKeyDL"
+static const ALIGN_ASSET(2) char gRandoCuttableGrassBossKeyDL[] = dgRandoCuttableGrassBossKeyDL;
+
+#define dgRandoCuttableGrassTokenDL "__OTR__objects/gameplay_keep/gRandoCuttableGrassTokenDL"
+static const ALIGN_ASSET(2) char gRandoCuttableGrassTokenDL[] = dgRandoCuttableGrassTokenDL;
+
+#define dgRandoCuttableGrassMaskDL "__OTR__objects/gameplay_keep/gRandoCuttableGrassMaskDL"
+static const ALIGN_ASSET(2) char gRandoCuttableGrassMaskDL[] = dgRandoCuttableGrassMaskDL;
+
+#define dgRandoCuttableGrassFairyDL "__OTR__objects/gameplay_keep/gRandoCuttableGrassFairyDL"
+static const ALIGN_ASSET(2) char gRandoCuttableGrassFairyDL[] = dgRandoCuttableGrassFairyDL;
+
+#define dgRandoCuttableGrassHeartDL "__OTR__objects/gameplay_keep/gRandoCuttableGrassHeartDL"
+static const ALIGN_ASSET(2) char gRandoCuttableGrassHeartDL[] = dgRandoCuttableGrassHeartDL;
+
+#define dgRandoCuttableGrassJunkDL "__OTR__objects/gameplay_keep/gRandoCuttableGrassJunkDL"
+static const ALIGN_ASSET(2) char gRandoCuttableGrassJunkDL[] = dgRandoCuttableGrassJunkDL;
+
#define dgChestTrackerIcon "__OTR__textures/icons/gChestTrackerIcon"
static const ALIGN_ASSET(2) char gChestTrackerIcon[] = dgChestTrackerIcon;
diff --git a/mm/assets/custom/objects/gameplay_keep/LeafTex.rgba16 b/mm/assets/custom/objects/gameplay_keep/LeafTex.rgba16
new file mode 100644
index 000000000..1d4f2db39
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/LeafTex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/StemTex.rgba16 b/mm/assets/custom/objects/gameplay_keep/StemTex.rgba16
new file mode 100644
index 000000000..fa00a5606
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/StemTex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/flower_bosskey_tex.rgba16 b/mm/assets/custom/objects/gameplay_keep/flower_bosskey_tex.rgba16
new file mode 100644
index 000000000..54bdc9fa7
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/flower_bosskey_tex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/flower_bronze_tex.rgba16 b/mm/assets/custom/objects/gameplay_keep/flower_bronze_tex.rgba16
new file mode 100644
index 000000000..9d561d1ae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/flower_bronze_tex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/flower_fairy_tex.rgba16 b/mm/assets/custom/objects/gameplay_keep/flower_fairy_tex.rgba16
new file mode 100644
index 000000000..b9d1f74e3
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/flower_fairy_tex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/flower_gold_tex.rgba16 b/mm/assets/custom/objects/gameplay_keep/flower_gold_tex.rgba16
new file mode 100644
index 000000000..8ec68d3aa
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/flower_gold_tex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/flower_heart_tex.rgba16 b/mm/assets/custom/objects/gameplay_keep/flower_heart_tex.rgba16
new file mode 100644
index 000000000..2822f18fd
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/flower_heart_tex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/flower_mask_tex.rgba16 b/mm/assets/custom/objects/gameplay_keep/flower_mask_tex.rgba16
new file mode 100644
index 000000000..bf90c64fc
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/flower_mask_tex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/flower_random_tex.rgba16 b/mm/assets/custom/objects/gameplay_keep/flower_random_tex.rgba16
new file mode 100644
index 000000000..52f4848b3
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/flower_random_tex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/flower_silver_tex.rgba16 b/mm/assets/custom/objects/gameplay_keep/flower_silver_tex.rgba16
new file mode 100644
index 000000000..9d14059c0
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/flower_silver_tex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/flower_token_tex.rgba16 b/mm/assets/custom/objects/gameplay_keep/flower_token_tex.rgba16
new file mode 100644
index 000000000..436b87071
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/flower_token_tex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/gGrassBunchTex.rgba16 b/mm/assets/custom/objects/gameplay_keep/gGrassBunchTex.rgba16
new file mode 100644
index 000000000..c59757c1d
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gGrassBunchTex.rgba16
Binary files differ
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL
new file mode 100644
index 000000000..4c7b1ab35
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <ClearGeometryMode G_LIGHTING="1" />
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
+ <SetGeometryMode G_LIGHTING="1" />
+ <CullDisplayList Start="0" End="7"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_Grass"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_0"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_leaf"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_1"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_flower_bosskey"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_2"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_material"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_3"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_0
new file mode 100644
index 000000000..061362cd6
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_0
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_0" VertexBufferIndex="0" VertexOffset="30" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_1
new file mode 100644
index 000000000..16c026e42
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_1
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_2
new file mode 100644
index 000000000..0d0968586
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_2
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_3
new file mode 100644
index 000000000..d8fcf1fe1
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_tri_3
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_3" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
+ <Triangles2 V00="20" V01="16" V02="19" Flag0="0" V10="20" V11="19" V12="21" Flag1="0"/>
+ <Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="22" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="26" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_3" VertexBufferIndex="0" VertexOffset="30" Count="10"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
+ <Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="4" V11="5" V12="3" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="6" V11="8" V12="9" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_0
new file mode 100644
index 000000000..7f094d39f
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_0
@@ -0,0 +1,62 @@
+<Vertex Version="0">
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="221" G="116" B="217" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="84" G="88" B="36" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="16" G="119" B="41" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="14" G="80" B="159" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="10" G="125" B="234" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="108" G="44" B="206" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="213" G="77" B="92" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="3" G="113" B="199" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="164" G="87" B="244" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="61" G="111" B="241" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="35" G="140" B="39" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="172" G="168" B="220" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="240" G="137" B="215" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="242" G="176" B="97" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="246" G="131" B="22" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="148" G="212" B="50" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="43" G="179" B="164" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="253" G="143" B="57" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="92" G="169" B="12" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="195" G="145" B="15" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_1
new file mode 100644
index 000000000..18d3d3c64
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_1
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="138" G="211" B="13" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="138" G="211" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="159" G="243" B="81" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="135" G="217" B="250" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="144" G="195" B="1" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="143" G="202" B="235" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="146" G="193" B="245" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="137" G="214" B="239" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="144" G="197" B="248" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="144" G="197" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="195" G="156" B="206" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="141" G="202" B="11" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="136" G="215" B="248" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="133" G="226" B="14" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="138" G="213" B="16" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="134" G="219" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="134" G="219" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="136" G="41" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="141" G="204" B="244" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="141" G="205" B="12" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="149" G="187" B="1" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="145" G="195" B="12" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="146" G="193" B="245" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="144" G="197" B="8" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="144" G="197" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="195" G="156" B="50" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="136" G="215" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="137" G="214" B="239" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="138" G="211" B="243" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="138" G="211" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="159" G="243" B="175" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="144" G="195" B="255" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="135" G="217" B="6" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="143" G="202" B="23" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="138" G="213" B="16" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="145" G="195" B="12" A="255"/>
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="118" G="45" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="97" G="13" B="175" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="118" G="45" B="243" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="121" G="39" B="6" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="112" G="61" B="255" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="113" G="54" B="21" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="119" G="42" B="17" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="110" G="63" B="11" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="112" G="59" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="61" G="100" B="50" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="112" G="59" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="115" G="54" B="245" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="120" G="41" B="8" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="123" G="30" B="242" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="118" G="43" B="240" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="123" G="33" B="255" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="120" G="215" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="115" G="52" B="12" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="115" G="51" B="244" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="107" G="69" B="255" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="110" G="63" B="11" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="111" G="61" B="244" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="112" G="59" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="61" G="100" B="206" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="112" G="59" B="248" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="120" G="41" B="248" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="115" G="53" B="11" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="123" G="30" B="13" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="123" G="33" B="255" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="119" G="42" B="17" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="118" G="45" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="97" G="13" B="81" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="118" G="45" B="13" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="112" G="61" B="1" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="121" G="39" B="250" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="113" G="54" B="233" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="111" G="61" B="244" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="118" G="43" B="240" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_2
new file mode 100644
index 000000000..205b9a005
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_2
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="141" G="202" B="252" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="141" G="202" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="133" G="231" B="18" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="152" G="184" B="251" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="146" G="196" B="233" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="149" G="188" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="166" G="167" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="153" G="196" B="212" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="137" G="212" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="137" G="212" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="154" G="180" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="132" G="230" B="245" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="132" G="230" B="11" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="131" G="232" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="133" G="244" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="133" G="231" B="238" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="146" G="196" B="23" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="152" G="184" B="5" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="149" G="188" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="153" G="196" B="44" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="166" G="167" B="0" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="138" G="208" B="250" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="138" G="208" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="146" G="199" B="29" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="143" G="205" B="230" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="153" G="196" B="212" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="138" G="208" B="6" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="138" G="208" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="146" G="199" B="227" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="135" G="224" B="19" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="143" G="205" B="26" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="139" G="213" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="133" G="244" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="153" G="196" B="44" A="255"/>
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="115" G="54" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="123" G="25" B="238" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="115" G="54" B="4" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="104" G="72" B="5" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="110" G="60" B="23" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="107" G="68" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="103" G="60" B="44" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="90" G="89" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="119" G="44" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="102" G="76" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="119" G="44" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="124" G="26" B="11" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="124" G="26" B="245" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="125" G="24" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="123" G="12" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="123" G="12" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="123" G="25" B="18" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="110" G="60" B="233" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="104" G="72" B="251" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="107" G="68" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="90" G="89" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="103" G="60" B="212" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="118" G="48" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="110" G="57" B="227" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="118" G="48" B="6" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="113" G="51" B="26" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="121" G="32" B="19" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="117" G="43" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="123" G="12" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="103" G="60" B="44" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="110" G="57" B="29" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="121" G="32" B="237" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="113" G="51" B="230" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="117" G="43" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="103" G="60" B="212" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="123" G="12" B="228" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_3
new file mode 100644
index 000000000..56e99d5ed
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_3
@@ -0,0 +1,42 @@
+<Vertex Version="0">
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="245" G="245" B="130" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="57" G="143" B="0" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="11" G="11" B="126" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="199" G="113" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="138" G="48" B="0" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_cull b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_cull
new file mode 100644
index 000000000..2f795b083
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassBossKeyDL_vtx_cull
@@ -0,0 +1,10 @@
+<Vertex Version="0">
+ <Vtx X="-42" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL
new file mode 100644
index 000000000..875f809dd
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <ClearGeometryMode G_LIGHTING="1" />
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
+ <SetGeometryMode G_LIGHTING="1" />
+ <CullDisplayList Start="0" End="7"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_Grass"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_0"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_leaf"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_1"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_flower_fairy"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_2"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_material"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_3"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_0
new file mode 100644
index 000000000..951dd58bb
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_0
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_0" VertexBufferIndex="0" VertexOffset="30" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_1
new file mode 100644
index 000000000..97fe8599c
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_1
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_2
new file mode 100644
index 000000000..0d7b67f3c
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_2
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_3
new file mode 100644
index 000000000..22c8ba3d8
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_tri_3
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_3" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
+ <Triangles2 V00="20" V01="16" V02="19" Flag0="0" V10="20" V11="19" V12="21" Flag1="0"/>
+ <Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="22" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="26" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_3" VertexBufferIndex="0" VertexOffset="30" Count="10"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
+ <Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="4" V11="5" V12="3" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="6" V11="8" V12="9" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_0
new file mode 100644
index 000000000..7f094d39f
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_0
@@ -0,0 +1,62 @@
+<Vertex Version="0">
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="221" G="116" B="217" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="84" G="88" B="36" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="16" G="119" B="41" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="14" G="80" B="159" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="10" G="125" B="234" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="108" G="44" B="206" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="213" G="77" B="92" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="3" G="113" B="199" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="164" G="87" B="244" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="61" G="111" B="241" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="35" G="140" B="39" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="172" G="168" B="220" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="240" G="137" B="215" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="242" G="176" B="97" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="246" G="131" B="22" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="148" G="212" B="50" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="43" G="179" B="164" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="253" G="143" B="57" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="92" G="169" B="12" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="195" G="145" B="15" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_1
new file mode 100644
index 000000000..18d3d3c64
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_1
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="138" G="211" B="13" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="138" G="211" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="159" G="243" B="81" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="135" G="217" B="250" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="144" G="195" B="1" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="143" G="202" B="235" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="146" G="193" B="245" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="137" G="214" B="239" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="144" G="197" B="248" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="144" G="197" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="195" G="156" B="206" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="141" G="202" B="11" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="136" G="215" B="248" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="133" G="226" B="14" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="138" G="213" B="16" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="134" G="219" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="134" G="219" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="136" G="41" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="141" G="204" B="244" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="141" G="205" B="12" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="149" G="187" B="1" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="145" G="195" B="12" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="146" G="193" B="245" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="144" G="197" B="8" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="144" G="197" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="195" G="156" B="50" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="136" G="215" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="137" G="214" B="239" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="138" G="211" B="243" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="138" G="211" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="159" G="243" B="175" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="144" G="195" B="255" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="135" G="217" B="6" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="143" G="202" B="23" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="138" G="213" B="16" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="145" G="195" B="12" A="255"/>
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="118" G="45" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="97" G="13" B="175" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="118" G="45" B="243" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="121" G="39" B="6" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="112" G="61" B="255" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="113" G="54" B="21" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="119" G="42" B="17" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="110" G="63" B="11" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="112" G="59" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="61" G="100" B="50" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="112" G="59" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="115" G="54" B="245" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="120" G="41" B="8" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="123" G="30" B="242" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="118" G="43" B="240" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="123" G="33" B="255" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="120" G="215" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="115" G="52" B="12" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="115" G="51" B="244" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="107" G="69" B="255" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="110" G="63" B="11" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="111" G="61" B="244" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="112" G="59" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="61" G="100" B="206" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="112" G="59" B="248" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="120" G="41" B="248" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="115" G="53" B="11" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="123" G="30" B="13" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="123" G="33" B="255" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="119" G="42" B="17" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="118" G="45" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="97" G="13" B="81" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="118" G="45" B="13" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="112" G="61" B="1" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="121" G="39" B="250" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="113" G="54" B="233" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="111" G="61" B="244" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="118" G="43" B="240" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_2
new file mode 100644
index 000000000..205b9a005
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_2
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="141" G="202" B="252" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="141" G="202" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="133" G="231" B="18" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="152" G="184" B="251" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="146" G="196" B="233" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="149" G="188" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="166" G="167" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="153" G="196" B="212" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="137" G="212" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="137" G="212" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="154" G="180" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="132" G="230" B="245" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="132" G="230" B="11" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="131" G="232" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="133" G="244" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="133" G="231" B="238" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="146" G="196" B="23" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="152" G="184" B="5" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="149" G="188" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="153" G="196" B="44" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="166" G="167" B="0" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="138" G="208" B="250" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="138" G="208" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="146" G="199" B="29" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="143" G="205" B="230" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="153" G="196" B="212" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="138" G="208" B="6" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="138" G="208" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="146" G="199" B="227" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="135" G="224" B="19" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="143" G="205" B="26" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="139" G="213" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="133" G="244" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="153" G="196" B="44" A="255"/>
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="115" G="54" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="123" G="25" B="238" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="115" G="54" B="4" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="104" G="72" B="5" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="110" G="60" B="23" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="107" G="68" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="103" G="60" B="44" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="90" G="89" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="119" G="44" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="102" G="76" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="119" G="44" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="124" G="26" B="11" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="124" G="26" B="245" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="125" G="24" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="123" G="12" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="123" G="12" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="123" G="25" B="18" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="110" G="60" B="233" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="104" G="72" B="251" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="107" G="68" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="90" G="89" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="103" G="60" B="212" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="118" G="48" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="110" G="57" B="227" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="118" G="48" B="6" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="113" G="51" B="26" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="121" G="32" B="19" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="117" G="43" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="123" G="12" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="103" G="60" B="44" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="110" G="57" B="29" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="121" G="32" B="237" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="113" G="51" B="230" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="117" G="43" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="103" G="60" B="212" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="123" G="12" B="228" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_3
new file mode 100644
index 000000000..56e99d5ed
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_3
@@ -0,0 +1,42 @@
+<Vertex Version="0">
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="245" G="245" B="130" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="57" G="143" B="0" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="11" G="11" B="126" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="199" G="113" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="138" G="48" B="0" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_cull b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_cull
new file mode 100644
index 000000000..2f795b083
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassFairyDL_vtx_cull
@@ -0,0 +1,10 @@
+<Vertex Version="0">
+ <Vtx X="-42" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL
new file mode 100644
index 000000000..235dfdcf3
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <ClearGeometryMode G_LIGHTING="1" />
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
+ <SetGeometryMode G_LIGHTING="1" />
+ <CullDisplayList Start="0" End="7"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_Grass"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_0"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_leaf"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_1"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_flower_heart"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_2"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_material"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_3"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_0
new file mode 100644
index 000000000..273e96ed4
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_0
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_0" VertexBufferIndex="0" VertexOffset="30" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_1
new file mode 100644
index 000000000..1b8a08eec
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_1
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_2
new file mode 100644
index 000000000..889988611
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_2
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_3
new file mode 100644
index 000000000..45a3b48e1
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_tri_3
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_3" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
+ <Triangles2 V00="20" V01="16" V02="19" Flag0="0" V10="20" V11="19" V12="21" Flag1="0"/>
+ <Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="22" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="26" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_3" VertexBufferIndex="0" VertexOffset="30" Count="10"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
+ <Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="4" V11="5" V12="3" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="6" V11="8" V12="9" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_0
new file mode 100644
index 000000000..7f094d39f
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_0
@@ -0,0 +1,62 @@
+<Vertex Version="0">
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="221" G="116" B="217" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="84" G="88" B="36" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="16" G="119" B="41" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="14" G="80" B="159" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="10" G="125" B="234" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="108" G="44" B="206" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="213" G="77" B="92" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="3" G="113" B="199" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="164" G="87" B="244" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="61" G="111" B="241" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="35" G="140" B="39" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="172" G="168" B="220" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="240" G="137" B="215" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="242" G="176" B="97" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="246" G="131" B="22" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="148" G="212" B="50" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="43" G="179" B="164" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="253" G="143" B="57" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="92" G="169" B="12" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="195" G="145" B="15" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_1
new file mode 100644
index 000000000..18d3d3c64
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_1
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="138" G="211" B="13" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="138" G="211" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="159" G="243" B="81" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="135" G="217" B="250" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="144" G="195" B="1" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="143" G="202" B="235" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="146" G="193" B="245" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="137" G="214" B="239" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="144" G="197" B="248" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="144" G="197" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="195" G="156" B="206" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="141" G="202" B="11" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="136" G="215" B="248" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="133" G="226" B="14" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="138" G="213" B="16" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="134" G="219" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="134" G="219" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="136" G="41" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="141" G="204" B="244" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="141" G="205" B="12" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="149" G="187" B="1" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="145" G="195" B="12" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="146" G="193" B="245" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="144" G="197" B="8" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="144" G="197" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="195" G="156" B="50" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="136" G="215" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="137" G="214" B="239" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="138" G="211" B="243" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="138" G="211" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="159" G="243" B="175" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="144" G="195" B="255" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="135" G="217" B="6" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="143" G="202" B="23" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="138" G="213" B="16" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="145" G="195" B="12" A="255"/>
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="118" G="45" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="97" G="13" B="175" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="118" G="45" B="243" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="121" G="39" B="6" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="112" G="61" B="255" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="113" G="54" B="21" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="119" G="42" B="17" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="110" G="63" B="11" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="112" G="59" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="61" G="100" B="50" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="112" G="59" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="115" G="54" B="245" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="120" G="41" B="8" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="123" G="30" B="242" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="118" G="43" B="240" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="123" G="33" B="255" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="120" G="215" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="115" G="52" B="12" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="115" G="51" B="244" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="107" G="69" B="255" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="110" G="63" B="11" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="111" G="61" B="244" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="112" G="59" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="61" G="100" B="206" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="112" G="59" B="248" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="120" G="41" B="248" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="115" G="53" B="11" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="123" G="30" B="13" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="123" G="33" B="255" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="119" G="42" B="17" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="118" G="45" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="97" G="13" B="81" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="118" G="45" B="13" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="112" G="61" B="1" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="121" G="39" B="250" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="113" G="54" B="233" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="111" G="61" B="244" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="118" G="43" B="240" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_2
new file mode 100644
index 000000000..205b9a005
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_2
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="141" G="202" B="252" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="141" G="202" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="133" G="231" B="18" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="152" G="184" B="251" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="146" G="196" B="233" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="149" G="188" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="166" G="167" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="153" G="196" B="212" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="137" G="212" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="137" G="212" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="154" G="180" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="132" G="230" B="245" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="132" G="230" B="11" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="131" G="232" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="133" G="244" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="133" G="231" B="238" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="146" G="196" B="23" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="152" G="184" B="5" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="149" G="188" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="153" G="196" B="44" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="166" G="167" B="0" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="138" G="208" B="250" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="138" G="208" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="146" G="199" B="29" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="143" G="205" B="230" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="153" G="196" B="212" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="138" G="208" B="6" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="138" G="208" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="146" G="199" B="227" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="135" G="224" B="19" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="143" G="205" B="26" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="139" G="213" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="133" G="244" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="153" G="196" B="44" A="255"/>
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="115" G="54" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="123" G="25" B="238" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="115" G="54" B="4" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="104" G="72" B="5" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="110" G="60" B="23" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="107" G="68" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="103" G="60" B="44" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="90" G="89" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="119" G="44" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="102" G="76" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="119" G="44" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="124" G="26" B="11" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="124" G="26" B="245" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="125" G="24" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="123" G="12" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="123" G="12" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="123" G="25" B="18" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="110" G="60" B="233" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="104" G="72" B="251" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="107" G="68" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="90" G="89" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="103" G="60" B="212" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="118" G="48" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="110" G="57" B="227" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="118" G="48" B="6" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="113" G="51" B="26" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="121" G="32" B="19" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="117" G="43" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="123" G="12" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="103" G="60" B="44" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="110" G="57" B="29" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="121" G="32" B="237" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="113" G="51" B="230" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="117" G="43" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="103" G="60" B="212" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="123" G="12" B="228" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_3
new file mode 100644
index 000000000..56e99d5ed
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_3
@@ -0,0 +1,42 @@
+<Vertex Version="0">
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="245" G="245" B="130" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="57" G="143" B="0" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="11" G="11" B="126" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="199" G="113" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="138" G="48" B="0" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_cull b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_cull
new file mode 100644
index 000000000..2f795b083
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassHeartDL_vtx_cull
@@ -0,0 +1,10 @@
+<Vertex Version="0">
+ <Vtx X="-42" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL
new file mode 100644
index 000000000..d4ab27bdb
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL
@@ -0,0 +1,10 @@
+<DisplayList Version="0">
+ <ClearGeometryMode G_LIGHTING="1" />
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassJunkDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
+ <SetGeometryMode G_LIGHTING="1" />
+ <CullDisplayList Start="0" End="7"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassJunkDL_f3dlite_Grass"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassJunkDL_tri_0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_tri_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_tri_0
new file mode 100644
index 000000000..bcf6f69e6
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_tri_0
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassJunkDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassJunkDL_vtx_0" VertexBufferIndex="0" VertexOffset="30" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_vtx_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_vtx_0
new file mode 100644
index 000000000..7f094d39f
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_vtx_0
@@ -0,0 +1,62 @@
+<Vertex Version="0">
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="221" G="116" B="217" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="84" G="88" B="36" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="16" G="119" B="41" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="14" G="80" B="159" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="10" G="125" B="234" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="108" G="44" B="206" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="213" G="77" B="92" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="3" G="113" B="199" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="164" G="87" B="244" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="61" G="111" B="241" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="35" G="140" B="39" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="172" G="168" B="220" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="240" G="137" B="215" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="242" G="176" B="97" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="246" G="131" B="22" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="148" G="212" B="50" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="43" G="179" B="164" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="253" G="143" B="57" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="92" G="169" B="12" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="195" G="145" B="15" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_vtx_cull b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_vtx_cull
new file mode 100644
index 000000000..6444457b7
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassJunkDL_vtx_cull
@@ -0,0 +1,10 @@
+<Vertex Version="0">
+ <Vtx X="-42" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="61" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="61" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="61" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="61" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL
new file mode 100644
index 000000000..7ded8214f
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <ClearGeometryMode G_LIGHTING="1" />
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
+ <SetGeometryMode G_LIGHTING="1" />
+ <CullDisplayList Start="0" End="7"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_Grass"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_0"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_leaf"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_1"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_flower_gold"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_2"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_material"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_3"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_0
new file mode 100644
index 000000000..f8278cc0c
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_0
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_0" VertexBufferIndex="0" VertexOffset="30" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_1
new file mode 100644
index 000000000..64c020a98
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_1
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_2
new file mode 100644
index 000000000..13938b6d9
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_2
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_3
new file mode 100644
index 000000000..da60e69d2
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_tri_3
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_3" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
+ <Triangles2 V00="20" V01="16" V02="19" Flag0="0" V10="20" V11="19" V12="21" Flag1="0"/>
+ <Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="22" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="26" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_3" VertexBufferIndex="0" VertexOffset="30" Count="10"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
+ <Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="4" V11="5" V12="3" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="6" V11="8" V12="9" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_0
new file mode 100644
index 000000000..7f094d39f
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_0
@@ -0,0 +1,62 @@
+<Vertex Version="0">
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="221" G="116" B="217" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="84" G="88" B="36" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="16" G="119" B="41" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="14" G="80" B="159" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="10" G="125" B="234" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="108" G="44" B="206" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="213" G="77" B="92" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="3" G="113" B="199" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="164" G="87" B="244" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="61" G="111" B="241" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="35" G="140" B="39" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="172" G="168" B="220" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="240" G="137" B="215" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="242" G="176" B="97" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="246" G="131" B="22" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="148" G="212" B="50" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="43" G="179" B="164" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="253" G="143" B="57" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="92" G="169" B="12" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="195" G="145" B="15" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_1
new file mode 100644
index 000000000..18d3d3c64
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_1
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="138" G="211" B="13" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="138" G="211" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="159" G="243" B="81" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="135" G="217" B="250" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="144" G="195" B="1" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="143" G="202" B="235" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="146" G="193" B="245" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="137" G="214" B="239" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="144" G="197" B="248" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="144" G="197" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="195" G="156" B="206" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="141" G="202" B="11" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="136" G="215" B="248" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="133" G="226" B="14" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="138" G="213" B="16" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="134" G="219" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="134" G="219" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="136" G="41" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="141" G="204" B="244" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="141" G="205" B="12" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="149" G="187" B="1" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="145" G="195" B="12" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="146" G="193" B="245" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="144" G="197" B="8" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="144" G="197" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="195" G="156" B="50" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="136" G="215" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="137" G="214" B="239" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="138" G="211" B="243" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="138" G="211" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="159" G="243" B="175" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="144" G="195" B="255" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="135" G="217" B="6" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="143" G="202" B="23" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="138" G="213" B="16" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="145" G="195" B="12" A="255"/>
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="118" G="45" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="97" G="13" B="175" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="118" G="45" B="243" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="121" G="39" B="6" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="112" G="61" B="255" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="113" G="54" B="21" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="119" G="42" B="17" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="110" G="63" B="11" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="112" G="59" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="61" G="100" B="50" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="112" G="59" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="115" G="54" B="245" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="120" G="41" B="8" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="123" G="30" B="242" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="118" G="43" B="240" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="123" G="33" B="255" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="120" G="215" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="115" G="52" B="12" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="115" G="51" B="244" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="107" G="69" B="255" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="110" G="63" B="11" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="111" G="61" B="244" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="112" G="59" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="61" G="100" B="206" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="112" G="59" B="248" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="120" G="41" B="248" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="115" G="53" B="11" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="123" G="30" B="13" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="123" G="33" B="255" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="119" G="42" B="17" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="118" G="45" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="97" G="13" B="81" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="118" G="45" B="13" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="112" G="61" B="1" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="121" G="39" B="250" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="113" G="54" B="233" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="111" G="61" B="244" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="118" G="43" B="240" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_2
new file mode 100644
index 000000000..205b9a005
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_2
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="141" G="202" B="252" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="141" G="202" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="133" G="231" B="18" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="152" G="184" B="251" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="146" G="196" B="233" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="149" G="188" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="166" G="167" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="153" G="196" B="212" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="137" G="212" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="137" G="212" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="154" G="180" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="132" G="230" B="245" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="132" G="230" B="11" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="131" G="232" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="133" G="244" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="133" G="231" B="238" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="146" G="196" B="23" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="152" G="184" B="5" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="149" G="188" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="153" G="196" B="44" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="166" G="167" B="0" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="138" G="208" B="250" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="138" G="208" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="146" G="199" B="29" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="143" G="205" B="230" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="153" G="196" B="212" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="138" G="208" B="6" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="138" G="208" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="146" G="199" B="227" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="135" G="224" B="19" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="143" G="205" B="26" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="139" G="213" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="133" G="244" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="153" G="196" B="44" A="255"/>
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="115" G="54" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="123" G="25" B="238" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="115" G="54" B="4" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="104" G="72" B="5" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="110" G="60" B="23" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="107" G="68" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="103" G="60" B="44" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="90" G="89" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="119" G="44" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="102" G="76" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="119" G="44" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="124" G="26" B="11" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="124" G="26" B="245" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="125" G="24" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="123" G="12" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="123" G="12" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="123" G="25" B="18" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="110" G="60" B="233" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="104" G="72" B="251" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="107" G="68" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="90" G="89" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="103" G="60" B="212" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="118" G="48" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="110" G="57" B="227" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="118" G="48" B="6" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="113" G="51" B="26" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="121" G="32" B="19" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="117" G="43" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="123" G="12" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="103" G="60" B="44" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="110" G="57" B="29" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="121" G="32" B="237" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="113" G="51" B="230" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="117" G="43" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="103" G="60" B="212" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="123" G="12" B="228" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_3
new file mode 100644
index 000000000..56e99d5ed
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_3
@@ -0,0 +1,42 @@
+<Vertex Version="0">
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="245" G="245" B="130" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="57" G="143" B="0" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="11" G="11" B="126" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="199" G="113" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="138" G="48" B="0" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_cull b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_cull
new file mode 100644
index 000000000..2f795b083
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMajorDL_vtx_cull
@@ -0,0 +1,10 @@
+<Vertex Version="0">
+ <Vtx X="-42" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL
new file mode 100644
index 000000000..94c93e453
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <ClearGeometryMode G_LIGHTING="1" />
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
+ <SetGeometryMode G_LIGHTING="1" />
+ <CullDisplayList Start="0" End="7"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_Grass"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_0"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_leaf"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_1"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_flower_mask"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_2"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_material"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_3"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_0
new file mode 100644
index 000000000..d981594a9
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_0
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_0" VertexBufferIndex="0" VertexOffset="30" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_1
new file mode 100644
index 000000000..ee5852695
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_1
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_2
new file mode 100644
index 000000000..1ed45fdcb
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_2
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_3
new file mode 100644
index 000000000..94910ceb3
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_tri_3
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_3" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
+ <Triangles2 V00="20" V01="16" V02="19" Flag0="0" V10="20" V11="19" V12="21" Flag1="0"/>
+ <Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="22" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="26" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_3" VertexBufferIndex="0" VertexOffset="30" Count="10"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
+ <Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="4" V11="5" V12="3" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="6" V11="8" V12="9" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_0
new file mode 100644
index 000000000..7f094d39f
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_0
@@ -0,0 +1,62 @@
+<Vertex Version="0">
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="221" G="116" B="217" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="84" G="88" B="36" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="16" G="119" B="41" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="14" G="80" B="159" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="10" G="125" B="234" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="108" G="44" B="206" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="213" G="77" B="92" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="3" G="113" B="199" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="164" G="87" B="244" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="61" G="111" B="241" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="35" G="140" B="39" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="172" G="168" B="220" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="240" G="137" B="215" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="242" G="176" B="97" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="246" G="131" B="22" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="148" G="212" B="50" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="43" G="179" B="164" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="253" G="143" B="57" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="92" G="169" B="12" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="195" G="145" B="15" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_1
new file mode 100644
index 000000000..18d3d3c64
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_1
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="138" G="211" B="13" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="138" G="211" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="159" G="243" B="81" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="135" G="217" B="250" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="144" G="195" B="1" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="143" G="202" B="235" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="146" G="193" B="245" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="137" G="214" B="239" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="144" G="197" B="248" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="144" G="197" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="195" G="156" B="206" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="141" G="202" B="11" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="136" G="215" B="248" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="133" G="226" B="14" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="138" G="213" B="16" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="134" G="219" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="134" G="219" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="136" G="41" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="141" G="204" B="244" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="141" G="205" B="12" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="149" G="187" B="1" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="145" G="195" B="12" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="146" G="193" B="245" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="144" G="197" B="8" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="144" G="197" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="195" G="156" B="50" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="136" G="215" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="137" G="214" B="239" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="138" G="211" B="243" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="138" G="211" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="159" G="243" B="175" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="144" G="195" B="255" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="135" G="217" B="6" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="143" G="202" B="23" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="138" G="213" B="16" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="145" G="195" B="12" A="255"/>
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="118" G="45" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="97" G="13" B="175" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="118" G="45" B="243" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="121" G="39" B="6" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="112" G="61" B="255" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="113" G="54" B="21" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="119" G="42" B="17" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="110" G="63" B="11" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="112" G="59" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="61" G="100" B="50" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="112" G="59" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="115" G="54" B="245" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="120" G="41" B="8" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="123" G="30" B="242" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="118" G="43" B="240" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="123" G="33" B="255" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="120" G="215" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="115" G="52" B="12" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="115" G="51" B="244" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="107" G="69" B="255" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="110" G="63" B="11" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="111" G="61" B="244" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="112" G="59" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="61" G="100" B="206" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="112" G="59" B="248" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="120" G="41" B="248" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="115" G="53" B="11" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="123" G="30" B="13" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="123" G="33" B="255" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="119" G="42" B="17" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="118" G="45" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="97" G="13" B="81" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="118" G="45" B="13" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="112" G="61" B="1" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="121" G="39" B="250" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="113" G="54" B="233" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="111" G="61" B="244" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="118" G="43" B="240" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_2
new file mode 100644
index 000000000..205b9a005
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_2
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="141" G="202" B="252" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="141" G="202" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="133" G="231" B="18" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="152" G="184" B="251" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="146" G="196" B="233" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="149" G="188" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="166" G="167" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="153" G="196" B="212" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="137" G="212" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="137" G="212" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="154" G="180" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="132" G="230" B="245" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="132" G="230" B="11" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="131" G="232" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="133" G="244" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="133" G="231" B="238" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="146" G="196" B="23" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="152" G="184" B="5" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="149" G="188" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="153" G="196" B="44" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="166" G="167" B="0" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="138" G="208" B="250" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="138" G="208" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="146" G="199" B="29" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="143" G="205" B="230" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="153" G="196" B="212" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="138" G="208" B="6" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="138" G="208" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="146" G="199" B="227" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="135" G="224" B="19" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="143" G="205" B="26" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="139" G="213" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="133" G="244" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="153" G="196" B="44" A="255"/>
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="115" G="54" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="123" G="25" B="238" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="115" G="54" B="4" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="104" G="72" B="5" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="110" G="60" B="23" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="107" G="68" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="103" G="60" B="44" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="90" G="89" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="119" G="44" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="102" G="76" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="119" G="44" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="124" G="26" B="11" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="124" G="26" B="245" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="125" G="24" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="123" G="12" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="123" G="12" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="123" G="25" B="18" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="110" G="60" B="233" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="104" G="72" B="251" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="107" G="68" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="90" G="89" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="103" G="60" B="212" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="118" G="48" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="110" G="57" B="227" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="118" G="48" B="6" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="113" G="51" B="26" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="121" G="32" B="19" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="117" G="43" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="123" G="12" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="103" G="60" B="44" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="110" G="57" B="29" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="121" G="32" B="237" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="113" G="51" B="230" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="117" G="43" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="103" G="60" B="212" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="123" G="12" B="228" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_3
new file mode 100644
index 000000000..56e99d5ed
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_3
@@ -0,0 +1,42 @@
+<Vertex Version="0">
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="245" G="245" B="130" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="57" G="143" B="0" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="11" G="11" B="126" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="199" G="113" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="138" G="48" B="0" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_cull b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_cull
new file mode 100644
index 000000000..2f795b083
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMaskDL_vtx_cull
@@ -0,0 +1,10 @@
+<Vertex Version="0">
+ <Vtx X="-42" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL
new file mode 100644
index 000000000..e0ae6e48a
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <ClearGeometryMode G_LIGHTING="1" />
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
+ <SetGeometryMode G_LIGHTING="1" />
+ <CullDisplayList Start="0" End="7"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_Grass"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_0"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_leaf"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_1"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_flower_bronze"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_2"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_material"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_3"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_0
new file mode 100644
index 000000000..7a5d4e3de
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_0
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_0" VertexBufferIndex="0" VertexOffset="30" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_1
new file mode 100644
index 000000000..a24c28fa4
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_1
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_2
new file mode 100644
index 000000000..5ef0b99cb
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_2
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_3
new file mode 100644
index 000000000..d49e9b186
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_tri_3
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_3" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
+ <Triangles2 V00="20" V01="16" V02="19" Flag0="0" V10="20" V11="19" V12="21" Flag1="0"/>
+ <Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="22" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="26" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_3" VertexBufferIndex="0" VertexOffset="30" Count="10"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
+ <Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="4" V11="5" V12="3" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="6" V11="8" V12="9" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_0
new file mode 100644
index 000000000..7f094d39f
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_0
@@ -0,0 +1,62 @@
+<Vertex Version="0">
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="221" G="116" B="217" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="84" G="88" B="36" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="16" G="119" B="41" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="14" G="80" B="159" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="10" G="125" B="234" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="108" G="44" B="206" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="213" G="77" B="92" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="3" G="113" B="199" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="164" G="87" B="244" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="61" G="111" B="241" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="35" G="140" B="39" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="172" G="168" B="220" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="240" G="137" B="215" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="242" G="176" B="97" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="246" G="131" B="22" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="148" G="212" B="50" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="43" G="179" B="164" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="253" G="143" B="57" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="92" G="169" B="12" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="195" G="145" B="15" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_1
new file mode 100644
index 000000000..18d3d3c64
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_1
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="138" G="211" B="13" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="138" G="211" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="159" G="243" B="81" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="135" G="217" B="250" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="144" G="195" B="1" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="143" G="202" B="235" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="146" G="193" B="245" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="137" G="214" B="239" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="144" G="197" B="248" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="144" G="197" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="195" G="156" B="206" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="141" G="202" B="11" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="136" G="215" B="248" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="133" G="226" B="14" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="138" G="213" B="16" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="134" G="219" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="134" G="219" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="136" G="41" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="141" G="204" B="244" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="141" G="205" B="12" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="149" G="187" B="1" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="145" G="195" B="12" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="146" G="193" B="245" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="144" G="197" B="8" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="144" G="197" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="195" G="156" B="50" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="136" G="215" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="137" G="214" B="239" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="138" G="211" B="243" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="138" G="211" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="159" G="243" B="175" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="144" G="195" B="255" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="135" G="217" B="6" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="143" G="202" B="23" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="138" G="213" B="16" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="145" G="195" B="12" A="255"/>
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="118" G="45" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="97" G="13" B="175" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="118" G="45" B="243" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="121" G="39" B="6" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="112" G="61" B="255" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="113" G="54" B="21" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="119" G="42" B="17" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="110" G="63" B="11" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="112" G="59" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="61" G="100" B="50" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="112" G="59" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="115" G="54" B="245" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="120" G="41" B="8" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="123" G="30" B="242" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="118" G="43" B="240" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="123" G="33" B="255" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="120" G="215" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="115" G="52" B="12" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="115" G="51" B="244" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="107" G="69" B="255" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="110" G="63" B="11" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="111" G="61" B="244" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="112" G="59" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="61" G="100" B="206" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="112" G="59" B="248" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="120" G="41" B="248" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="115" G="53" B="11" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="123" G="30" B="13" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="123" G="33" B="255" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="119" G="42" B="17" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="118" G="45" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="97" G="13" B="81" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="118" G="45" B="13" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="112" G="61" B="1" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="121" G="39" B="250" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="113" G="54" B="233" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="111" G="61" B="244" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="118" G="43" B="240" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_2
new file mode 100644
index 000000000..205b9a005
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_2
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="141" G="202" B="252" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="141" G="202" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="133" G="231" B="18" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="152" G="184" B="251" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="146" G="196" B="233" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="149" G="188" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="166" G="167" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="153" G="196" B="212" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="137" G="212" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="137" G="212" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="154" G="180" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="132" G="230" B="245" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="132" G="230" B="11" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="131" G="232" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="133" G="244" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="133" G="231" B="238" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="146" G="196" B="23" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="152" G="184" B="5" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="149" G="188" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="153" G="196" B="44" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="166" G="167" B="0" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="138" G="208" B="250" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="138" G="208" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="146" G="199" B="29" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="143" G="205" B="230" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="153" G="196" B="212" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="138" G="208" B="6" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="138" G="208" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="146" G="199" B="227" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="135" G="224" B="19" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="143" G="205" B="26" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="139" G="213" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="133" G="244" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="153" G="196" B="44" A="255"/>
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="115" G="54" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="123" G="25" B="238" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="115" G="54" B="4" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="104" G="72" B="5" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="110" G="60" B="23" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="107" G="68" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="103" G="60" B="44" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="90" G="89" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="119" G="44" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="102" G="76" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="119" G="44" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="124" G="26" B="11" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="124" G="26" B="245" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="125" G="24" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="123" G="12" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="123" G="12" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="123" G="25" B="18" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="110" G="60" B="233" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="104" G="72" B="251" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="107" G="68" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="90" G="89" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="103" G="60" B="212" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="118" G="48" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="110" G="57" B="227" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="118" G="48" B="6" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="113" G="51" B="26" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="121" G="32" B="19" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="117" G="43" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="123" G="12" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="103" G="60" B="44" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="110" G="57" B="29" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="121" G="32" B="237" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="113" G="51" B="230" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="117" G="43" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="103" G="60" B="212" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="123" G="12" B="228" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_3
new file mode 100644
index 000000000..56e99d5ed
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_3
@@ -0,0 +1,42 @@
+<Vertex Version="0">
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="245" G="245" B="130" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="57" G="143" B="0" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="11" G="11" B="126" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="199" G="113" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="138" G="48" B="0" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_cull b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_cull
new file mode 100644
index 000000000..2f795b083
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassMinorDL_vtx_cull
@@ -0,0 +1,10 @@
+<Vertex Version="0">
+ <Vtx X="-42" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL
new file mode 100644
index 000000000..7ec87e807
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <ClearGeometryMode G_LIGHTING="1" />
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
+ <SetGeometryMode G_LIGHTING="1" />
+ <CullDisplayList Start="0" End="7"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_Grass"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_0"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_leaf"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_1"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_flower_random"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_2"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_material"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_3"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_0
new file mode 100644
index 000000000..94ccbe795
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_0
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_0" VertexBufferIndex="0" VertexOffset="30" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_1
new file mode 100644
index 000000000..96e84046e
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_1
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_2
new file mode 100644
index 000000000..db7142847
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_2
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_3
new file mode 100644
index 000000000..b1b8cb8c1
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_tri_3
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_3" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
+ <Triangles2 V00="20" V01="16" V02="19" Flag0="0" V10="20" V11="19" V12="21" Flag1="0"/>
+ <Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="22" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="26" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_3" VertexBufferIndex="0" VertexOffset="30" Count="10"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
+ <Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="4" V11="5" V12="3" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="6" V11="8" V12="9" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_0
new file mode 100644
index 000000000..7f094d39f
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_0
@@ -0,0 +1,62 @@
+<Vertex Version="0">
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="221" G="116" B="217" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="84" G="88" B="36" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="16" G="119" B="41" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="14" G="80" B="159" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="10" G="125" B="234" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="108" G="44" B="206" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="213" G="77" B="92" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="3" G="113" B="199" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="164" G="87" B="244" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="61" G="111" B="241" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="35" G="140" B="39" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="172" G="168" B="220" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="240" G="137" B="215" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="242" G="176" B="97" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="246" G="131" B="22" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="148" G="212" B="50" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="43" G="179" B="164" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="253" G="143" B="57" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="92" G="169" B="12" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="195" G="145" B="15" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_1
new file mode 100644
index 000000000..18d3d3c64
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_1
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="138" G="211" B="13" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="138" G="211" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="159" G="243" B="81" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="135" G="217" B="250" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="144" G="195" B="1" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="143" G="202" B="235" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="146" G="193" B="245" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="137" G="214" B="239" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="144" G="197" B="248" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="144" G="197" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="195" G="156" B="206" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="141" G="202" B="11" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="136" G="215" B="248" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="133" G="226" B="14" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="138" G="213" B="16" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="134" G="219" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="134" G="219" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="136" G="41" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="141" G="204" B="244" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="141" G="205" B="12" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="149" G="187" B="1" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="145" G="195" B="12" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="146" G="193" B="245" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="144" G="197" B="8" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="144" G="197" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="195" G="156" B="50" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="136" G="215" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="137" G="214" B="239" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="138" G="211" B="243" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="138" G="211" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="159" G="243" B="175" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="144" G="195" B="255" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="135" G="217" B="6" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="143" G="202" B="23" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="138" G="213" B="16" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="145" G="195" B="12" A="255"/>
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="118" G="45" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="97" G="13" B="175" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="118" G="45" B="243" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="121" G="39" B="6" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="112" G="61" B="255" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="113" G="54" B="21" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="119" G="42" B="17" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="110" G="63" B="11" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="112" G="59" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="61" G="100" B="50" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="112" G="59" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="115" G="54" B="245" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="120" G="41" B="8" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="123" G="30" B="242" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="118" G="43" B="240" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="123" G="33" B="255" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="120" G="215" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="115" G="52" B="12" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="115" G="51" B="244" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="107" G="69" B="255" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="110" G="63" B="11" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="111" G="61" B="244" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="112" G="59" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="61" G="100" B="206" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="112" G="59" B="248" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="120" G="41" B="248" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="115" G="53" B="11" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="123" G="30" B="13" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="123" G="33" B="255" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="119" G="42" B="17" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="118" G="45" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="97" G="13" B="81" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="118" G="45" B="13" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="112" G="61" B="1" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="121" G="39" B="250" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="113" G="54" B="233" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="111" G="61" B="244" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="118" G="43" B="240" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_2
new file mode 100644
index 000000000..205b9a005
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_2
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="141" G="202" B="252" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="141" G="202" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="133" G="231" B="18" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="152" G="184" B="251" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="146" G="196" B="233" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="149" G="188" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="166" G="167" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="153" G="196" B="212" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="137" G="212" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="137" G="212" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="154" G="180" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="132" G="230" B="245" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="132" G="230" B="11" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="131" G="232" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="133" G="244" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="133" G="231" B="238" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="146" G="196" B="23" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="152" G="184" B="5" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="149" G="188" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="153" G="196" B="44" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="166" G="167" B="0" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="138" G="208" B="250" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="138" G="208" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="146" G="199" B="29" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="143" G="205" B="230" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="153" G="196" B="212" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="138" G="208" B="6" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="138" G="208" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="146" G="199" B="227" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="135" G="224" B="19" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="143" G="205" B="26" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="139" G="213" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="133" G="244" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="153" G="196" B="44" A="255"/>
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="115" G="54" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="123" G="25" B="238" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="115" G="54" B="4" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="104" G="72" B="5" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="110" G="60" B="23" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="107" G="68" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="103" G="60" B="44" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="90" G="89" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="119" G="44" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="102" G="76" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="119" G="44" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="124" G="26" B="11" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="124" G="26" B="245" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="125" G="24" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="123" G="12" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="123" G="12" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="123" G="25" B="18" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="110" G="60" B="233" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="104" G="72" B="251" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="107" G="68" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="90" G="89" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="103" G="60" B="212" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="118" G="48" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="110" G="57" B="227" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="118" G="48" B="6" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="113" G="51" B="26" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="121" G="32" B="19" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="117" G="43" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="123" G="12" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="103" G="60" B="44" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="110" G="57" B="29" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="121" G="32" B="237" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="113" G="51" B="230" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="117" G="43" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="103" G="60" B="212" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="123" G="12" B="228" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_3
new file mode 100644
index 000000000..56e99d5ed
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_3
@@ -0,0 +1,42 @@
+<Vertex Version="0">
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="245" G="245" B="130" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="57" G="143" B="0" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="11" G="11" B="126" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="199" G="113" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="138" G="48" B="0" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_cull b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_cull
new file mode 100644
index 000000000..2f795b083
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassRandomDL_vtx_cull
@@ -0,0 +1,10 @@
+<Vertex Version="0">
+ <Vtx X="-42" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL
new file mode 100644
index 000000000..f22094eba
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <ClearGeometryMode G_LIGHTING="1" />
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
+ <SetGeometryMode G_LIGHTING="1" />
+ <CullDisplayList Start="0" End="7"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_Grass"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_0"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_leaf"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_1"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_flower_silver"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_2"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_material"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_3"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_0
new file mode 100644
index 000000000..2235b57ae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_0
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_0" VertexBufferIndex="0" VertexOffset="30" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_1
new file mode 100644
index 000000000..93b101a86
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_1
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_2
new file mode 100644
index 000000000..2cf0ed524
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_2
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_3
new file mode 100644
index 000000000..653b2b7cb
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_tri_3
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_3" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
+ <Triangles2 V00="20" V01="16" V02="19" Flag0="0" V10="20" V11="19" V12="21" Flag1="0"/>
+ <Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="22" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="26" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_3" VertexBufferIndex="0" VertexOffset="30" Count="10"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
+ <Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="4" V11="5" V12="3" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="6" V11="8" V12="9" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_0
new file mode 100644
index 000000000..7f094d39f
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_0
@@ -0,0 +1,62 @@
+<Vertex Version="0">
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="221" G="116" B="217" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="84" G="88" B="36" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="16" G="119" B="41" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="14" G="80" B="159" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="10" G="125" B="234" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="108" G="44" B="206" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="213" G="77" B="92" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="3" G="113" B="199" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="164" G="87" B="244" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="61" G="111" B="241" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="35" G="140" B="39" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="172" G="168" B="220" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="240" G="137" B="215" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="242" G="176" B="97" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="246" G="131" B="22" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="148" G="212" B="50" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="43" G="179" B="164" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="253" G="143" B="57" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="92" G="169" B="12" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="195" G="145" B="15" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_1
new file mode 100644
index 000000000..18d3d3c64
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_1
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="138" G="211" B="13" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="138" G="211" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="159" G="243" B="81" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="135" G="217" B="250" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="144" G="195" B="1" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="143" G="202" B="235" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="146" G="193" B="245" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="137" G="214" B="239" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="144" G="197" B="248" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="144" G="197" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="195" G="156" B="206" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="141" G="202" B="11" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="136" G="215" B="248" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="133" G="226" B="14" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="138" G="213" B="16" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="134" G="219" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="134" G="219" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="136" G="41" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="141" G="204" B="244" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="141" G="205" B="12" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="149" G="187" B="1" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="145" G="195" B="12" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="146" G="193" B="245" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="144" G="197" B="8" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="144" G="197" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="195" G="156" B="50" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="136" G="215" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="137" G="214" B="239" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="138" G="211" B="243" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="138" G="211" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="159" G="243" B="175" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="144" G="195" B="255" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="135" G="217" B="6" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="143" G="202" B="23" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="138" G="213" B="16" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="145" G="195" B="12" A="255"/>
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="118" G="45" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="97" G="13" B="175" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="118" G="45" B="243" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="121" G="39" B="6" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="112" G="61" B="255" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="113" G="54" B="21" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="119" G="42" B="17" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="110" G="63" B="11" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="112" G="59" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="61" G="100" B="50" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="112" G="59" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="115" G="54" B="245" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="120" G="41" B="8" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="123" G="30" B="242" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="118" G="43" B="240" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="123" G="33" B="255" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="120" G="215" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="115" G="52" B="12" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="115" G="51" B="244" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="107" G="69" B="255" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="110" G="63" B="11" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="111" G="61" B="244" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="112" G="59" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="61" G="100" B="206" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="112" G="59" B="248" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="120" G="41" B="248" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="115" G="53" B="11" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="123" G="30" B="13" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="123" G="33" B="255" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="119" G="42" B="17" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="118" G="45" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="97" G="13" B="81" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="118" G="45" B="13" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="112" G="61" B="1" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="121" G="39" B="250" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="113" G="54" B="233" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="111" G="61" B="244" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="118" G="43" B="240" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_2
new file mode 100644
index 000000000..205b9a005
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_2
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="141" G="202" B="252" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="141" G="202" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="133" G="231" B="18" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="152" G="184" B="251" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="146" G="196" B="233" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="149" G="188" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="166" G="167" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="153" G="196" B="212" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="137" G="212" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="137" G="212" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="154" G="180" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="132" G="230" B="245" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="132" G="230" B="11" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="131" G="232" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="133" G="244" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="133" G="231" B="238" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="146" G="196" B="23" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="152" G="184" B="5" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="149" G="188" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="153" G="196" B="44" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="166" G="167" B="0" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="138" G="208" B="250" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="138" G="208" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="146" G="199" B="29" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="143" G="205" B="230" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="153" G="196" B="212" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="138" G="208" B="6" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="138" G="208" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="146" G="199" B="227" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="135" G="224" B="19" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="143" G="205" B="26" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="139" G="213" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="133" G="244" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="153" G="196" B="44" A="255"/>
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="115" G="54" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="123" G="25" B="238" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="115" G="54" B="4" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="104" G="72" B="5" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="110" G="60" B="23" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="107" G="68" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="103" G="60" B="44" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="90" G="89" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="119" G="44" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="102" G="76" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="119" G="44" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="124" G="26" B="11" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="124" G="26" B="245" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="125" G="24" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="123" G="12" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="123" G="12" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="123" G="25" B="18" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="110" G="60" B="233" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="104" G="72" B="251" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="107" G="68" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="90" G="89" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="103" G="60" B="212" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="118" G="48" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="110" G="57" B="227" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="118" G="48" B="6" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="113" G="51" B="26" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="121" G="32" B="19" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="117" G="43" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="123" G="12" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="103" G="60" B="44" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="110" G="57" B="29" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="121" G="32" B="237" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="113" G="51" B="230" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="117" G="43" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="103" G="60" B="212" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="123" G="12" B="228" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_3
new file mode 100644
index 000000000..56e99d5ed
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_3
@@ -0,0 +1,42 @@
+<Vertex Version="0">
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="245" G="245" B="130" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="57" G="143" B="0" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="11" G="11" B="126" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="199" G="113" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="138" G="48" B="0" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_cull b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_cull
new file mode 100644
index 000000000..2f795b083
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassSmallKeyDL_vtx_cull
@@ -0,0 +1,10 @@
+<Vertex Version="0">
+ <Vtx X="-42" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL
new file mode 100644
index 000000000..d1dff7095
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <ClearGeometryMode G_LIGHTING="1" />
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
+ <SetGeometryMode G_LIGHTING="1" />
+ <CullDisplayList Start="0" End="7"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_Grass"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_0"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_leaf"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_1"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_flower_token"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_2"/>
+ <CallDisplayList Path="objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_material"/>
+ <CallDisplayList Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_3"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_0
new file mode 100644
index 000000000..dc2309657
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_0
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_0" VertexBufferIndex="0" VertexOffset="30" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="16" V12="17" Flag1="0"/>
+ <Triangles2 V00="18" V01="19" V02="20" Flag0="0" V10="21" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="27" V11="28" V12="29" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_1
new file mode 100644
index 000000000..f78444188
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_1
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_1" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_1" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_1" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_2
new file mode 100644
index 000000000..7de2d7943
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_2
@@ -0,0 +1,48 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_2" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="1" V12="0" Flag1="0"/>
+ <Triangles2 V00="3" V01="4" V02="1" Flag0="0" V10="5" V11="4" V12="3" Flag1="0"/>
+ <Triangles2 V00="3" V01="6" V02="5" Flag0="0" V10="7" V11="5" V12="6" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="5" V11="8" V12="4" Flag1="0"/>
+ <Triangles2 V00="9" V01="10" V02="11" Flag0="0" V10="12" V11="10" V12="9" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="10" Flag0="0" V10="14" V11="13" V12="12" Flag1="0"/>
+ <Triangles2 V00="12" V01="15" V02="14" Flag0="0" V10="7" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="7" V01="16" V02="14" Flag0="0" V10="14" V11="16" V12="13" Flag1="0"/>
+ <Triangles2 V00="17" V01="18" V02="19" Flag0="0" V10="20" V11="18" V12="17" Flag1="0"/>
+ <Triangles2 V00="20" V01="21" V02="18" Flag0="0" V10="22" V11="21" V12="20" Flag1="0"/>
+ <Triangles2 V00="20" V01="23" V02="22" Flag0="0" V10="7" V11="22" V12="23" Flag1="0"/>
+ <Triangles2 V00="7" V01="24" V02="22" Flag0="0" V10="22" V11="24" V12="21" Flag1="0"/>
+ <Triangles2 V00="25" V01="26" V02="27" Flag0="0" V10="28" V11="26" V12="25" Flag1="0"/>
+ <Triangles2 V00="28" V01="29" V02="26" Flag0="0" V10="30" V11="29" V12="28" Flag1="0"/>
+ <Triangles2 V00="28" V01="31" V02="30" Flag0="0" V10="7" V11="30" V12="31" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_2" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="2" V11="1" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="7" V11="5" V12="4" Flag1="0"/>
+ <Triangles2 V00="7" V01="8" V02="5" Flag0="0" V10="9" V11="8" V12="7" Flag1="0"/>
+ <Triangles2 V00="7" V01="10" V02="9" Flag0="0" V10="0" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="0" V01="11" V02="9" Flag0="0" V10="9" V11="11" V12="8" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="15" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="15" V01="14" V02="16" Flag0="0" V10="17" V11="15" V12="16" Flag1="0"/>
+ <Triangles2 V00="17" V01="16" V02="18" Flag0="0" V10="19" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="20" V02="17" Flag0="0" V10="15" V11="17" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="22" V02="23" Flag0="0" V10="24" V11="21" V12="23" Flag1="0"/>
+ <Triangles2 V00="24" V01="23" V02="25" Flag0="0" V10="26" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="25" V02="27" Flag0="0" V10="19" V11="26" V12="27" Flag1="0"/>
+ <Triangles2 V00="19" V01="28" V02="26" Flag0="0" V10="24" V11="26" V12="28" Flag1="0"/>
+ <Triangle1 V00="29" V01="30" V02="31"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_2" VertexBufferIndex="0" VertexOffset="64" Count="24"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
+ <Triangles2 V00="4" V01="0" V02="3" Flag0="0" V10="4" V11="3" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="4" V02="5" Flag0="0" V10="6" V11="7" V12="4" Flag1="0"/>
+ <Triangles2 V00="0" V01="4" V02="7" Flag0="0" V10="8" V11="9" V12="10" Flag1="0"/>
+ <Triangles2 V00="11" V01="8" V02="10" Flag0="0" V10="11" V11="10" V12="12" Flag1="0"/>
+ <Triangles2 V00="13" V01="11" V02="12" Flag0="0" V10="13" V11="12" V12="14" Flag1="0"/>
+ <Triangles2 V00="6" V01="13" V02="14" Flag0="0" V10="6" V11="15" V12="13" Flag1="0"/>
+ <Triangles2 V00="11" V01="13" V02="15" Flag0="0" V10="16" V11="17" V12="18" Flag1="0"/>
+ <Triangles2 V00="19" V01="16" V02="18" Flag0="0" V10="19" V11="18" V12="20" Flag1="0"/>
+ <Triangles2 V00="21" V01="19" V02="20" Flag0="0" V10="21" V11="20" V12="22" Flag1="0"/>
+ <Triangles2 V00="6" V01="21" V02="22" Flag0="0" V10="6" V11="23" V12="21" Flag1="0"/>
+ <Triangle1 V00="19" V01="21" V02="23"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_3
new file mode 100644
index 000000000..e5c1fbd15
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_tri_3
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_3" VertexBufferIndex="0" VertexOffset="0" Count="30"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="3" V11="4" V12="5" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="9" V11="10" V12="11" Flag1="0"/>
+ <Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
+ <Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
+ <Triangles2 V00="20" V01="16" V02="19" Flag0="0" V10="20" V11="19" V12="21" Flag1="0"/>
+ <Triangles2 V00="22" V01="23" V02="24" Flag0="0" V10="22" V11="24" V12="25" Flag1="0"/>
+ <Triangles2 V00="26" V01="27" V02="28" Flag0="0" V10="26" V11="28" V12="29" Flag1="0"/>
+ <LoadVertices Path="objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_3" VertexBufferIndex="0" VertexOffset="30" Count="10"/>
+ <Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="3" V12="1" Flag1="0"/>
+ <Triangles2 V00="4" V01="3" V02="0" Flag0="0" V10="4" V11="5" V12="3" Flag1="0"/>
+ <Triangles2 V00="6" V01="7" V02="8" Flag0="0" V10="6" V11="8" V12="9" Flag1="0"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_0 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_0
new file mode 100644
index 000000000..7f094d39f
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_0
@@ -0,0 +1,62 @@
+<Vertex Version="0">
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="221" G="116" B="217" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="28" G="124" B="252" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="84" G="88" B="36" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="28" G="124" B="252" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="16" G="119" B="41" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="18" G="122" B="226" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="14" G="80" B="159" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="18" G="122" B="226" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="10" G="125" B="234" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="65" G="101" B="215" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="108" G="44" B="206" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="65" G="101" B="215" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="213" G="77" B="92" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="232" G="123" B="18" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="232" G="123" B="18" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="3" G="113" B="199" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="164" G="87" B="244" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="239" G="125" B="239" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="239" G="125" B="239" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="61" G="111" B="241" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-42" Y="23" Z="-30" S="-144" T="476" R="35" G="140" B="39" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-28" Y="41" Z="-5" S="496" T="1182" R="228" G="132" B="4" A="255"/>
+ <Vtx X="-11" Y="34" Z="-34" S="496" T="-190" R="228" G="132" B="4" A="255"/>
+ <Vtx X="6" Y="-12" Z="4" S="1008" T="476" R="172" G="168" B="220" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="6" Y="25" Z="55" S="-144" T="476" R="240" G="137" B="215" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="17" Y="39" Z="24" S="496" T="1182" R="238" G="134" B="30" A="255"/>
+ <Vtx X="-14" Y="45" Z="23" S="496" T="-190" R="238" G="134" B="30" A="255"/>
+ <Vtx X="0" Y="-11" Z="-7" S="1008" T="476" R="242" G="176" B="97" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-41" Y="61" Z="19" S="-144" T="476" R="246" G="131" B="22" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-6" Y="57" Z="20" S="496" T="1182" R="191" G="155" B="41" A="255"/>
+ <Vtx X="-17" Y="51" Z="-9" S="496" T="-190" R="191" G="155" B="41" A="255"/>
+ <Vtx X="4" Y="-17" Z="-2" S="1008" T="476" R="148" G="212" B="50" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="-1" Y="-11" Z="7" S="1008" T="476" R="43" G="179" B="164" A="255"/>
+ <Vtx X="-11" Y="48" Z="-32" S="496" T="1182" R="24" G="133" B="238" A="255"/>
+ <Vtx X="18" Y="32" Z="-51" S="-144" T="476" R="253" G="143" B="57" A="255"/>
+ <Vtx X="24" Y="55" Z="-20" S="496" T="-190" R="24" G="133" B="238" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+ <Vtx X="-8" Y="-11" Z="0" S="1008" T="476" R="92" G="169" B="12" A="255"/>
+ <Vtx X="23" Y="34" Z="-15" S="496" T="1182" R="17" G="131" B="17" A="255"/>
+ <Vtx X="48" Y="18" Z="0" S="-144" T="476" R="195" G="145" B="15" A="255"/>
+ <Vtx X="23" Y="40" Z="16" S="496" T="-190" R="17" G="131" B="17" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_1 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_1
new file mode 100644
index 000000000..18d3d3c64
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_1
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="138" G="211" B="13" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="138" G="211" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="159" G="243" B="81" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="135" G="217" B="250" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="144" G="195" B="1" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="143" G="202" B="235" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="146" G="193" B="245" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="137" G="214" B="239" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="144" G="197" B="248" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="144" G="197" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="195" G="156" B="206" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="141" G="202" B="11" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="136" G="215" B="248" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="133" G="226" B="14" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="138" G="213" B="16" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="134" G="219" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="134" G="219" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="136" G="41" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="141" G="204" B="244" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="141" G="205" B="12" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="149" G="187" B="1" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="145" G="195" B="12" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="146" G="193" B="245" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="144" G="197" B="8" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="144" G="197" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="195" G="156" B="50" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="136" G="215" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="137" G="214" B="239" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="133" G="223" B="1" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="133" G="226" B="243" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="141" G="203" B="245" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="138" G="211" B="243" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="138" G="211" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="159" G="243" B="175" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="144" G="195" B="255" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="135" G="217" B="6" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="143" G="202" B="23" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="138" G="213" B="16" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="145" G="195" B="12" A="255"/>
+ <Vtx X="17" Y="49" Z="-17" S="304" T="432" R="118" G="45" B="243" A="255"/>
+ <Vtx X="14" Y="49" Z="-21" S="496" T="496" R="97" G="13" B="175" A="255"/>
+ <Vtx X="15" Y="53" Z="-18" S="432" T="304" R="118" G="45" B="243" A="255"/>
+ <Vtx X="16" Y="48" Z="-10" S="112" T="304" R="121" G="39" B="6" A="255"/>
+ <Vtx X="12" Y="56" Z="-13" S="304" T="112" R="112" G="61" B="255" A="255"/>
+ <Vtx X="15" Y="54" Z="-7" S="112" T="112" R="113" G="54" B="21" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="176" T="-16" R="119" G="42" B="17" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="-16" T="176" R="110" G="63" B="11" A="255"/>
+ <Vtx X="8" Y="70" Z="7" S="304" T="432" R="112" G="59" B="8" A="255"/>
+ <Vtx X="5" Y="70" Z="11" S="496" T="496" R="61" G="100" B="50" A="255"/>
+ <Vtx X="9" Y="68" Z="11" S="432" T="304" R="112" G="59" B="8" A="255"/>
+ <Vtx X="8" Y="66" Z="2" S="112" T="304" R="115" G="54" B="245" A="255"/>
+ <Vtx X="10" Y="61" Z="9" S="304" T="112" R="120" G="41" B="8" A="255"/>
+ <Vtx X="12" Y="61" Z="2" S="112" T="112" R="123" G="30" B="242" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="176" T="-16" R="118" G="43" B="240" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="-16" T="176" R="123" G="33" B="255" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="19" Y="36" Z="-1" S="496" T="496" R="120" G="215" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="3" S="112" T="304" R="115" G="52" B="12" A="255"/>
+ <Vtx X="21" Y="40" Z="1" S="304" T="432" R="122" G="37" B="0" A="255"/>
+ <Vtx X="21" Y="40" Z="-3" S="432" T="304" R="122" G="37" B="0" A="255"/>
+ <Vtx X="17" Y="45" Z="-5" S="304" T="112" R="115" G="51" B="244" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="112" T="112" R="107" G="69" B="255" A="255"/>
+ <Vtx X="14" Y="51" Z="-4" S="176" T="-16" R="110" G="63" B="11" A="255"/>
+ <Vtx X="10" Y="54" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="-16" T="176" R="111" G="61" B="244" A="255"/>
+ <Vtx X="9" Y="68" Z="-13" S="304" T="432" R="112" G="59" B="248" A="255"/>
+ <Vtx X="5" Y="70" Z="-13" S="496" T="496" R="61" G="100" B="206" A="255"/>
+ <Vtx X="8" Y="70" Z="-9" S="432" T="304" R="112" G="59" B="248" A="255"/>
+ <Vtx X="10" Y="61" Z="-11" S="112" T="304" R="120" G="41" B="248" A="255"/>
+ <Vtx X="8" Y="66" Z="-4" S="304" T="112" R="115" G="53" B="11" A="255"/>
+ <Vtx X="12" Y="61" Z="-5" S="112" T="112" R="123" G="30" B="13" A="255"/>
+ <Vtx X="10" Y="61" Z="-1" S="176" T="-16" R="123" G="33" B="255" A="255"/>
+ <Vtx X="12" Y="57" Z="-6" S="-16" T="176" R="119" G="42" B="17" A="255"/>
+ <Vtx X="15" Y="53" Z="16" S="304" T="432" R="118" G="45" B="13" A="255"/>
+ <Vtx X="14" Y="49" Z="19" S="496" T="496" R="97" G="13" B="81" A="255"/>
+ <Vtx X="17" Y="49" Z="15" S="432" T="304" R="118" G="45" B="13" A="255"/>
+ <Vtx X="12" Y="56" Z="11" S="112" T="304" R="112" G="61" B="1" A="255"/>
+ <Vtx X="16" Y="48" Z="8" S="304" T="112" R="121" G="39" B="250" A="255"/>
+ <Vtx X="15" Y="54" Z="5" S="112" T="112" R="113" G="54" B="233" A="255"/>
+ <Vtx X="14" Y="51" Z="2" S="176" T="-16" R="111" G="61" B="244" A="255"/>
+ <Vtx X="12" Y="57" Z="4" S="-16" T="176" R="118" G="43" B="240" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_2 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_2
new file mode 100644
index 000000000..205b9a005
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_2
@@ -0,0 +1,90 @@
+<Vertex Version="0">
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="141" G="202" B="252" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="141" G="202" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="133" G="231" B="18" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="152" G="184" B="251" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="146" G="196" B="233" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="149" G="188" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="166" G="167" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="153" G="196" B="212" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="137" G="212" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="137" G="212" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="154" G="180" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="132" G="230" B="245" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="132" G="230" B="11" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="131" G="232" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="133" G="244" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="141" G="202" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="133" G="231" B="238" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="146" G="196" B="23" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="152" G="184" B="5" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="149" G="188" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="153" G="196" B="44" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="166" G="167" B="0" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="138" G="208" B="250" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="138" G="208" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="146" G="199" B="29" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="143" G="205" B="230" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="153" G="196" B="212" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="139" G="207" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="133" G="244" B="228" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="139" G="213" B="231" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="135" G="224" B="237" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="138" G="208" B="6" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="138" G="208" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="146" G="199" B="227" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="135" G="224" B="19" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="143" G="205" B="26" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="139" G="213" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="133" G="244" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="153" G="196" B="44" A="255"/>
+ <Vtx X="24" Y="41" Z="-10" S="304" T="432" R="115" G="54" B="4" A="255"/>
+ <Vtx X="24" Y="36" Z="-17" S="496" T="496" R="123" G="25" B="238" A="255"/>
+ <Vtx X="23" Y="44" Z="-15" S="432" T="304" R="115" G="54" B="4" A="255"/>
+ <Vtx X="20" Y="45" Z="-3" S="112" T="304" R="104" G="72" B="5" A="255"/>
+ <Vtx X="17" Y="51" Z="-12" S="304" T="112" R="110" G="60" B="23" A="255"/>
+ <Vtx X="15" Y="51" Z="-5" S="112" T="112" R="107" G="68" B="14" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="176" T="-16" R="103" G="60" B="44" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="-16" T="176" R="90" G="89" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="-4" S="304" T="432" R="119" G="44" B="0" A="255"/>
+ <Vtx X="4" Y="82" Z="-1" S="496" T="496" R="102" G="76" B="0" A="255"/>
+ <Vtx X="9" Y="75" Z="2" S="432" T="304" R="119" G="44" B="0" A="255"/>
+ <Vtx X="11" Y="67" Z="-7" S="112" T="304" R="124" G="26" B="11" A="255"/>
+ <Vtx X="11" Y="67" Z="5" S="304" T="112" R="124" G="26" B="245" A="255"/>
+ <Vtx X="11" Y="61" Z="-1" S="112" T="112" R="125" G="24" B="0" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="176" T="-16" R="123" G="12" B="228" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="-16" T="176" R="123" G="12" B="28" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="36" Z="15" S="496" T="496" R="123" G="25" B="18" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="17" Y="51" Z="10" S="112" T="304" R="110" G="60" B="233" A="255"/>
+ <Vtx X="23" Y="44" Z="13" S="304" T="432" R="115" G="54" B="252" A="255"/>
+ <Vtx X="24" Y="41" Z="8" S="432" T="304" R="115" G="54" B="252" A="255"/>
+ <Vtx X="20" Y="45" Z="1" S="304" T="112" R="104" G="72" B="251" A="255"/>
+ <Vtx X="15" Y="51" Z="3" S="112" T="112" R="107" G="68" B="242" A="255"/>
+ <Vtx X="17" Y="51" Z="-1" S="176" T="-16" R="90" G="89" B="0" A="255"/>
+ <Vtx X="11" Y="55" Z="-1" S="-16" T="-16" R="117" G="49" B="0" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="-16" T="176" R="103" G="60" B="212" A="255"/>
+ <Vtx X="16" Y="60" Z="-21" S="304" T="432" R="118" G="48" B="6" A="255"/>
+ <Vtx X="12" Y="65" Z="-28" S="496" T="496" R="110" G="57" B="227" A="255"/>
+ <Vtx X="14" Y="65" Z="-19" S="432" T="304" R="118" G="48" B="6" A="255"/>
+ <Vtx X="16" Y="55" Z="-13" S="112" T="304" R="113" G="51" B="26" A="255"/>
+ <Vtx X="12" Y="65" Z="-10" S="304" T="112" R="121" G="32" B="19" A="255"/>
+ <Vtx X="13" Y="57" Z="-7" S="112" T="112" R="117" G="43" B="25" A="255"/>
+ <Vtx X="13" Y="61" Z="-4" S="176" T="-16" R="123" G="12" B="28" A="255"/>
+ <Vtx X="16" Y="55" Z="-6" S="-16" T="176" R="103" G="60" B="44" A="255"/>
+ <Vtx X="14" Y="65" Z="17" S="304" T="432" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="26" S="496" T="496" R="110" G="57" B="29" A="255"/>
+ <Vtx X="16" Y="60" Z="19" S="432" T="304" R="118" G="48" B="250" A="255"/>
+ <Vtx X="12" Y="65" Z="8" S="112" T="304" R="121" G="32" B="237" A="255"/>
+ <Vtx X="16" Y="55" Z="11" S="304" T="112" R="113" G="51" B="230" A="255"/>
+ <Vtx X="13" Y="57" Z="5" S="112" T="112" R="117" G="43" B="231" A="255"/>
+ <Vtx X="16" Y="55" Z="4" S="176" T="-16" R="103" G="60" B="212" A="255"/>
+ <Vtx X="13" Y="61" Z="2" S="-16" T="176" R="123" G="12" B="228" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_3 b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_3
new file mode 100644
index 000000000..56e99d5ed
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_3
@@ -0,0 +1,42 @@
+<Vertex Version="0">
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="245" G="245" B="130" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="245" G="245" B="130" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="57" G="143" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="57" G="143" B="0" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="11" G="11" B="126" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="240" R="11" G="11" B="126" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="13" Y="56" Z="-1" S="112" T="-16" R="199" G="113" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="240" R="199" G="113" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="127" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="127" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="129" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="129" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="129" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="118" G="208" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="118" G="208" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="-2" S="240" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="0" Y="-10" Z="2" S="-16" T="240" R="129" G="0" B="0" A="255"/>
+ <Vtx X="2" Y="39" Z="0" S="-16" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="-10" Z="0" S="240" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="2" Y="-10" Z="0" S="-16" T="240" R="0" G="0" B="127" A="255"/>
+ <Vtx X="-2" Y="39" Z="0" S="240" T="112" R="0" G="0" B="127" A="255"/>
+ <Vtx X="7" Y="51" Z="0" S="-16" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="4" Y="54" Z="0" S="240" T="-16" R="0" G="0" B="127" A="255"/>
+ <Vtx X="6" Y="52" Z="2" S="-16" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="6" Y="52" Z="-2" S="240" T="-16" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="-2" S="240" T="112" R="138" G="48" B="0" A="255"/>
+ <Vtx X="0" Y="39" Z="2" S="-16" T="112" R="138" G="48" B="0" A="255"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_cull b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_cull
new file mode 100644
index 000000000..2f795b083
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/gRandoCuttableGrassTokenDL_vtx_cull
@@ -0,0 +1,10 @@
+<Vertex Version="0">
+ <Vtx X="-42" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="82" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+</Vertex>
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_Grass b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_Grass
new file mode 100644
index 000000000..34034f059
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_Grass
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_TEXEL0" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_TEX_EDGE2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/gGrassBunchTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="1023" Dxt="256"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="8" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="5" ShiftS="0" MaskT="5" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="124" Lrt="124"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_flower_bosskey b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_flower_bosskey
new file mode 100644
index 000000000..ee25715ae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_flower_bosskey
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/flower_bosskey_tex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_MIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_leaf b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_leaf
new file mode 100644
index 000000000..574f63139
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_leaf
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/LeafTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_material b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_material
new file mode 100644
index 000000000..04270bbae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassBossKeyDL_f3dlite_material
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/StemTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="63" Dxt="1024"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="2" TMem="0" Tile="0" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="3" ShiftS="0" MaskT="3" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="28" Lrt="28"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_Grass b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_Grass
new file mode 100644
index 000000000..34034f059
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_Grass
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_TEXEL0" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_TEX_EDGE2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/gGrassBunchTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="1023" Dxt="256"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="8" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="5" ShiftS="0" MaskT="5" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="124" Lrt="124"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_flower_fairy b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_flower_fairy
new file mode 100644
index 000000000..d3c0c44ec
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_flower_fairy
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/flower_fairy_tex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_MIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_leaf b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_leaf
new file mode 100644
index 000000000..574f63139
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_leaf
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/LeafTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_material b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_material
new file mode 100644
index 000000000..04270bbae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassFairyDL_f3dlite_material
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/StemTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="63" Dxt="1024"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="2" TMem="0" Tile="0" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="3" ShiftS="0" MaskT="3" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="28" Lrt="28"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_Grass b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_Grass
new file mode 100644
index 000000000..34034f059
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_Grass
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_TEXEL0" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_TEX_EDGE2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/gGrassBunchTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="1023" Dxt="256"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="8" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="5" ShiftS="0" MaskT="5" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="124" Lrt="124"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_flower_heart b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_flower_heart
new file mode 100644
index 000000000..2864988e3
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_flower_heart
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/flower_heart_tex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_MIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_leaf b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_leaf
new file mode 100644
index 000000000..574f63139
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_leaf
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/LeafTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_material b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_material
new file mode 100644
index 000000000..04270bbae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassHeartDL_f3dlite_material
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/StemTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="63" Dxt="1024"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="2" TMem="0" Tile="0" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="3" ShiftS="0" MaskT="3" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="28" Lrt="28"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassJunkDL_f3dlite_Grass b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassJunkDL_f3dlite_Grass
new file mode 100644
index 000000000..34034f059
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassJunkDL_f3dlite_Grass
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_TEXEL0" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_TEX_EDGE2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/gGrassBunchTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="1023" Dxt="256"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="8" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="5" ShiftS="0" MaskT="5" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="124" Lrt="124"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_Grass b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_Grass
new file mode 100644
index 000000000..34034f059
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_Grass
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_TEXEL0" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_TEX_EDGE2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/gGrassBunchTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="1023" Dxt="256"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="8" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="5" ShiftS="0" MaskT="5" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="124" Lrt="124"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_flower_gold b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_flower_gold
new file mode 100644
index 000000000..6f451d12a
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_flower_gold
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/flower_gold_tex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_MIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_leaf b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_leaf
new file mode 100644
index 000000000..574f63139
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_leaf
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/LeafTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_material b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_material
new file mode 100644
index 000000000..04270bbae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMajorDL_f3dlite_material
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/StemTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="63" Dxt="1024"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="2" TMem="0" Tile="0" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="3" ShiftS="0" MaskT="3" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="28" Lrt="28"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_Grass b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_Grass
new file mode 100644
index 000000000..34034f059
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_Grass
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_TEXEL0" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_TEX_EDGE2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/gGrassBunchTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="1023" Dxt="256"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="8" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="5" ShiftS="0" MaskT="5" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="124" Lrt="124"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_flower_mask b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_flower_mask
new file mode 100644
index 000000000..a5bb3b8a4
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_flower_mask
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/flower_mask_tex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_MIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_leaf b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_leaf
new file mode 100644
index 000000000..574f63139
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_leaf
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/LeafTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_material b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_material
new file mode 100644
index 000000000..04270bbae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMaskDL_f3dlite_material
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/StemTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="63" Dxt="1024"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="2" TMem="0" Tile="0" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="3" ShiftS="0" MaskT="3" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="28" Lrt="28"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_Grass b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_Grass
new file mode 100644
index 000000000..34034f059
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_Grass
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_TEXEL0" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_TEX_EDGE2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/gGrassBunchTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="1023" Dxt="256"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="8" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="5" ShiftS="0" MaskT="5" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="124" Lrt="124"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_flower_bronze b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_flower_bronze
new file mode 100644
index 000000000..0102b9a5e
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_flower_bronze
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/flower_bronze_tex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_MIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_leaf b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_leaf
new file mode 100644
index 000000000..574f63139
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_leaf
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/LeafTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_material b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_material
new file mode 100644
index 000000000..04270bbae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassMinorDL_f3dlite_material
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/StemTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="63" Dxt="1024"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="2" TMem="0" Tile="0" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="3" ShiftS="0" MaskT="3" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="28" Lrt="28"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_Grass b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_Grass
new file mode 100644
index 000000000..34034f059
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_Grass
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_TEXEL0" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_TEX_EDGE2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/gGrassBunchTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="1023" Dxt="256"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="8" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="5" ShiftS="0" MaskT="5" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="124" Lrt="124"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_flower_random b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_flower_random
new file mode 100644
index 000000000..f23e81a03
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_flower_random
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/flower_random_tex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_MIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_leaf b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_leaf
new file mode 100644
index 000000000..574f63139
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_leaf
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/LeafTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_material b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_material
new file mode 100644
index 000000000..04270bbae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassRandomDL_f3dlite_material
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/StemTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="63" Dxt="1024"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="2" TMem="0" Tile="0" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="3" ShiftS="0" MaskT="3" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="28" Lrt="28"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_Grass b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_Grass
new file mode 100644
index 000000000..34034f059
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_Grass
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_TEXEL0" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_TEX_EDGE2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/gGrassBunchTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="1023" Dxt="256"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="8" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="5" ShiftS="0" MaskT="5" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="124" Lrt="124"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_flower_silver b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_flower_silver
new file mode 100644
index 000000000..98dcfacb1
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_flower_silver
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/flower_silver_tex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_MIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_leaf b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_leaf
new file mode 100644
index 000000000..574f63139
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_leaf
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/LeafTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_material b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_material
new file mode 100644
index 000000000..04270bbae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassSmallKeyDL_f3dlite_material
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/StemTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="63" Dxt="1024"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="2" TMem="0" Tile="0" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="3" ShiftS="0" MaskT="3" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="28" Lrt="28"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_Grass b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_Grass
new file mode 100644
index 000000000..34034f059
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_Grass
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_TEXEL0" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_TEX_EDGE2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/gGrassBunchTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="1023" Dxt="256"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="8" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="5" ShiftS="0" MaskT="5" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="124" Lrt="124"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_flower_token b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_flower_token
new file mode 100644
index 000000000..63a739c30
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_flower_token
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/flower_token_tex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_MIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_leaf b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_leaf
new file mode 100644
index 000000000..574f63139
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_leaf
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/LeafTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="255" Dxt="512"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="4" TMem="0" Tile="0" Palette="0" Cms0="G_TX_CLAMP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_CLAMP" Cmt1="G_TX_NOMIRROR" MaskS="4" ShiftS="0" MaskT="4" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="60" Lrt="60"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_material b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_material
new file mode 100644
index 000000000..04270bbae
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/mat_gRandoCuttableGrassTokenDL_f3dlite_material
@@ -0,0 +1,16 @@
+<DisplayList Version="0">
+ <SetGeometryMode G_ZBUFFER="1" G_SHADE="1" G_CULL_BACK="1" G_FOG="1" G_LIGHTING="1" G_SHADING_SMOOTH="1" />
+ <PipeSync/>
+ <SetCombineLERP A0="G_CCMUX_TEXEL0" B0="G_CCMUX_0" C0="G_CCMUX_SHADE" D0="G_CCMUX_0" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
+ <SetOtherMode Cmd="G_SETOTHERMODE_H" Sft="4" Length="20" G_AD_NOISE="1" G_CD_MAGICSQ="1" G_CK_NONE="1" G_TC_FILT="1" G_TF_BILERP="1" G_TT_NONE="1" G_TL_TILE="1" G_TD_CLAMP="1" G_TP_PERSP="1" G_CYC_2CYCLE="1" G_PM_NPRIMITIVE="1" />
+ <SetOtherMode Cmd="G_SETOTHERMODE_L" Sft="0" Length="32" G_AC_NONE="1" G_ZS_PIXEL="1" G_RM_FOG_SHADE_A="1" G_RM_AA_ZB_OPA_SURF2="1" />
+ <Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
+ <SetPrimColor M="0" L="0" R="255" G="255" B="255" A="255"/>
+ <SetTextureImage Path="objects/gameplay_keep/StemTex.rgba16" Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Width="1"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b_LOAD_BLOCK" Line="0" TMem="0" Tile="7" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="0" ShiftS="0" MaskT="0" ShiftT="0"/>
+ <LoadBlock Tile="7" Uls="0" Ult="0" Lrs="63" Dxt="1024"/>
+ <SetTile Format="G_IM_FMT_RGBA" Size="G_IM_SIZ_16b" Line="2" TMem="0" Tile="0" Palette="0" Cms0="G_TX_WRAP" Cms1="G_TX_NOMIRROR" Cmt0="G_TX_WRAP" Cmt1="G_TX_NOMIRROR" MaskS="3" ShiftS="0" MaskT="3" ShiftT="0"/>
+ <SetTileSize T="0" Uls="0" Ult="0" Lrs="28" Lrt="28"/>
+ <EndDisplayList/>
+</DisplayList>
+
diff --git a/mm/assets/custom/objects/gameplay_keep/model.xml b/mm/assets/custom/objects/gameplay_keep/model.xml
new file mode 100644
index 000000000..6444457b7
--- /dev/null
+++ b/mm/assets/custom/objects/gameplay_keep/model.xml
@@ -0,0 +1,10 @@
+<Vertex Version="0">
+ <Vtx X="-42" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="61" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="-42" Y="61" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="-17" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="61" Z="55" S="0" T="0" R="0" G="0" B="0" A="0"/>
+ <Vtx X="48" Y="61" Z="-51" S="0" T="0" R="0" G="0" B="0" A="0"/>
+</Vertex>
diff --git a/mm/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c b/mm/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
index 592cf9a00..610a92cc8 100644
--- a/mm/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
+++ b/mm/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
@@ -257,7 +257,7 @@ void EnKusa_DropCollectible(EnKusa* this, PlayState* play) {
Item_DropCollectible(play, &this->actor.world.pos, 3);
} else { // ENKUSA_TYPE_GRASS_2
collectible = func_800A8150(KUSA_GET_PARAM_FC(&this->actor));
- if (collectible >= 0) {
+ if (GameInteractor_Should(VB_GRASS_DROP_COLLECTIBLE, collectible >= 0, ACTOR_EN_KUSA, this)) {
collectableParams = KUSA_GET_COLLECTIBLE_ID(&this->actor);
Item_DropCollectible(play, &this->actor.world.pos, (collectableParams << 8) | collectible);
}
@@ -440,12 +440,12 @@ void EnKusa_WaitObject(EnKusa* this, PlayState* play) {
} else {
EnKusa_SetupInteract(this);
}
- if (kusaType == ENKUSA_TYPE_BUSH) {
- if (GameInteractor_Should(VB_KUSA_BUSH_DRAW_BE_OVERRIDDEN, true, this)) {
+ if (GameInteractor_Should(VB_KUSA_DRAW_BE_OVERRIDDEN, true, this)) {
+ if (kusaType == ENKUSA_TYPE_BUSH) {
this->actor.draw = EnKusa_DrawBush;
+ } else {
+ this->actor.draw = EnKusa_DrawGrass;
}
- } else {
- this->actor.draw = EnKusa_DrawGrass;
}
this->actor.objectSlot = this->objectSlot;
this->actor.flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED;
diff --git a/mm/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c b/mm/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c
index 7c7d4c26b..a1d2e31f1 100644
--- a/mm/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c
+++ b/mm/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c
@@ -11,6 +11,7 @@
#include "2s2h/Enhancements/FrameInterpolation/FrameInterpolation.h"
#include "2s2h/ShipUtils.h"
+#include "GameInteractor/GameInteractor.h"
#include <string.h>
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_THROW_ONLY)
@@ -112,6 +113,7 @@ void func_80A5B160(EnKusa2* this, PlayState* play) {
if (*ptr != NULL) {
(*ptr)->actor.room = this->actor.room;
(*ptr)->unk_1C0 = this;
+ GameInteractor_Should(VB_KEATON_GRASS_ATTACH_CHILD, true, *ptr, 0);
}
}
@@ -127,6 +129,7 @@ void func_80A5B160(EnKusa2* this, PlayState* play) {
if (*ptr != NULL) {
(*ptr)->actor.room = this->actor.room;
(*ptr)->unk_1C0 = this;
+ GameInteractor_Should(VB_KEATON_GRASS_ATTACH_CHILD, true, *ptr, i);
}
}
}
@@ -322,7 +325,9 @@ void func_80A5BD14(EnKusa2* this, PlayState* play, s32 arg2) {
if (kusa2->unk_1BC > 8) {
kusa2->unk_1BC = 8;
}
- Item_DropCollectible(play, &this->actor.world.pos, D_80A5EB24[kusa2->unk_1BC]);
+ if (GameInteractor_Should(VB_GRASS_DROP_COLLECTIBLE, true, ACTOR_EN_KUSA2, this)) {
+ Item_DropCollectible(play, &this->actor.world.pos, D_80A5EB24[kusa2->unk_1BC]);
+ }
kusa2->unk_1BC += arg2;
}
}
@@ -1381,7 +1386,9 @@ void EnKusa2_Draw(Actor* thisx, PlayState* play) {
(this->actor.projectedPos.z < 400.0f)) {
func_80A5B954(&D_80A60908[this->unk_1CE], 0.0015f);
}
- Gfx_DrawDListOpa(play, gKusaBushType1DL);
+ if (GameInteractor_Should(VB_KEATON_GRASS_DRAW, true, this)) {
+ Gfx_DrawDListOpa(play, gKusaBushType1DL);
+ }
} else if (this->actor.projectedPos.z < 1300.0f) {
func_80A5E80C(play, (1300.0f - this->actor.projectedPos.z) * 2.55f);
}
@@ -1397,14 +1404,18 @@ void func_80A5E9B4(Actor* thisx, PlayState* play) {
sp18.z = thisx->shape.rot.z + D_80A5EAFC.z;
Matrix_SetTranslateRotateYXZ(thisx->world.pos.x, thisx->world.pos.y, thisx->world.pos.z, &sp18);
Matrix_Scale(thisx->scale.x, thisx->scale.y, thisx->scale.z, MTXMODE_APPLY);
- Gfx_DrawDListOpa(play, gKusaBushType1DL);
+ if (GameInteractor_Should(VB_KEATON_GRASS_DRAW, true, thisx)) {
+ Gfx_DrawDListOpa(play, gKusaBushType1DL);
+ }
}
void func_80A5EA48(Actor* thisx, PlayState* play) {
EnKusa2* this = (EnKusa2*)thisx;
if (this->unk_1CF == 0xFF) {
- Gfx_DrawDListOpa(play, gKusaBushType1DL);
+ if (GameInteractor_Should(VB_KEATON_GRASS_DRAW, true, this)) {
+ Gfx_DrawDListOpa(play, gKusaBushType1DL);
+ }
} else {
func_80A5E80C(play, this->unk_1CF);
}