Upload from upload_mods.ps1
This commit is contained in:
71
Harmony/Harmony_XUiM_Vehicle.cs
Normal file
71
Harmony/Harmony_XUiM_Vehicle.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
using Audio;
|
||||
|
||||
namespace Harmony.XUiM
|
||||
{
|
||||
internal class XUiM_VehiclePatches
|
||||
{
|
||||
[HarmonyPatch(typeof(XUiM_Vehicle))]
|
||||
[HarmonyPatch("RepairVehicle")]
|
||||
public class RebirthUtilsXUiMFeatures
|
||||
{
|
||||
public static bool Prefix(XUi _xui, Vehicle vehicle = null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void Postfix(XUi _xui, Vehicle vehicle = null)
|
||||
{
|
||||
if (vehicle == null)
|
||||
{
|
||||
vehicle = _xui.vehicle.GetVehicle();
|
||||
}
|
||||
|
||||
ItemValue item;
|
||||
|
||||
string entityType = vehicle.GetName();
|
||||
//Log.Out("Entity Type: " + entityType);
|
||||
if (entityType == "vehiclebicycle")
|
||||
{
|
||||
//Log.Out("Is Bicycle");
|
||||
item = ItemClass.GetItem("FuriousRamsayBikeRepairKit", false);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Log.Out("Is not Bicycle");
|
||||
item = ItemClass.GetItem("resourceRepairKit", false);
|
||||
}
|
||||
|
||||
ItemClass itemClass = item.ItemClass;
|
||||
if (itemClass != null)
|
||||
{
|
||||
EntityPlayerLocal entityPlayer = _xui.playerUI.entityPlayer;
|
||||
LocalPlayerUI playerUI = _xui.playerUI;
|
||||
int itemCount = entityPlayer.bag.GetItemCount(item, -1, -1, false);
|
||||
int itemCount2 = entityPlayer.inventory.GetItemCount(item, false, -1, -1);
|
||||
int repairAmountNeeded = vehicle.GetRepairAmountNeeded();
|
||||
if (itemCount + itemCount2 > 0 && repairAmountNeeded > 0)
|
||||
{
|
||||
vehicle.RepairParts(itemClass.RepairAmount.Value, 100);
|
||||
if (itemCount2 > 0)
|
||||
{
|
||||
entityPlayer.inventory.DecItem(item, 1, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
entityPlayer.bag.DecItem(item, 1, false);
|
||||
}
|
||||
playerUI.xui.CollectedItemList.RemoveItemStack(new ItemStack(item, 1));
|
||||
Manager.PlayInsidePlayerHead("craft_complete_item", -1);
|
||||
}
|
||||
else if (repairAmountNeeded > itemCount + itemCount2)
|
||||
{
|
||||
Manager.PlayInsidePlayerHead("misc/missingitemtorepair");
|
||||
GameManager.ShowTooltip(_xui.playerUI.entityPlayer, Localization.Get("xuiRepairMissingMats"));
|
||||
ItemStack @is = new ItemStack(new ItemValue(itemClass.Id, false), 0);
|
||||
_xui.playerUI.entityPlayer.AddUIHarvestingItem(@is, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user