11 GardenPlot m_GardenPlot;
21 m_Text =
"#make_garden_plot";
27 if (!
GetGame().IsDedicatedServer())
30 if (player.GetBrokenLegs() ==
eBrokenLegs.BROKEN_LEGS)
36 if (player.IsPlacingLocal())
38 Hologram hologram = player.GetHologramLocal();
41 CheckSurfaceBelowGardenPlot(player, item_GP, hologram);
54 override void SetupAnimation(
ItemBase item)
62 void CheckSurfaceBelowGardenPlot(
PlayerBase player, GardenPlot item_GP,
Hologram hologram)
65 item_GP.GetCollisionBox(min_max);
66 float offset = min_max[1][1] - min_max[0][1];
68 vector pos_adjusted = item_GP.GetPosition();
69 pos_adjusted[1] = pos_adjusted[1] + offset;
71 if (item_GP.CanBePlaced(player, pos_adjusted) )
97 override void OnFinishProgressClient(ActionData action_data)
101 poActionData.m_AlreadyPlaced =
true;
104 override void OnFinishProgressServer(ActionData action_data)
108 EntityAI entity_for_placing = action_data.m_MainItem;
109 vector position = action_data.m_Player.GetLocalProjectionPosition();
110 vector orientation = action_data.m_Player.GetLocalProjectionOrientation();
114 m_GardenPlot = GardenPlot.Cast(action_data.m_Player.GetHologramServer().PlaceEntity(entity_for_placing));
115 m_GardenPlot.SetOrientation(orientation);
116 action_data.m_Player.GetHologramServer().CheckPowerSource();
117 action_data.m_Player.PlacingCompleteServer();
119 m_GardenPlot.OnPlacementComplete(action_data.m_Player);
123 if (!
GetGame().IsMultiplayer())
125 m_GardenPlot = GardenPlot.Cast(action_data.m_Player.GetHologramLocal().PlaceEntity(entity_for_placing));
126 m_GardenPlot.SetOrientation(orientation);
127 action_data.m_Player.PlacingCompleteServer();
128 action_data.m_Player.PlacingCompleteLocal();
130 m_GardenPlot.OnPlacementComplete(action_data.m_Player);
133 GetGame().ClearJuncture(action_data.m_Player, entity_for_placing);
134 action_data.m_MainItem.SetIsBeingPlaced(
false);
135 poActionData.m_AlreadyPlaced =
true;
137 MiscGameplayFunctions.DealEvinronmentAdjustedDmg(action_data.m_MainItem, action_data.m_Player, 10);