Upload from upload_mods.ps1
This commit is contained in:
181
Harmony/Harmony_XUiC_QuestTurnInEntry.cs
Normal file
181
Harmony/Harmony_XUiC_QuestTurnInEntry.cs
Normal file
@@ -0,0 +1,181 @@
|
||||
using Audio;
|
||||
using Platform;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Harmony.XUiC_QuestTurnInEntryPatches
|
||||
{
|
||||
/*[HarmonyPatch(typeof(XUiC_QuestTurnInRewardsWindow))]
|
||||
[HarmonyPatch("SetupOptions")]
|
||||
public class SetupOptionsPatch
|
||||
{
|
||||
public static bool Prefix(XUiC_QuestTurnInRewardsWindow __instance)
|
||||
{
|
||||
float value = EffectManager.GetValue(PassiveEffects.QuestRewardOptionCount, null, (float)__instance.currentQuest.QuestClass.RewardChoicesCount, __instance.xui.playerUI.entityPlayer, null, default(FastTags<TagGroup.Global>), true, true, true, true, true, 1, true, false);
|
||||
__instance.optionCount = 0;
|
||||
int num = 0;
|
||||
if (__instance.selectedEntry != null)
|
||||
{
|
||||
__instance.SelectedEntry = null;
|
||||
}
|
||||
__instance.selectedEntryList.Clear();
|
||||
__instance.rewardList.Clear();
|
||||
for (int i = 0; i < __instance.entryList.Length; i++)
|
||||
{
|
||||
__instance.entryList[i].OnPress -= __instance.TurnInEntryPressed;
|
||||
__instance.entryList[i].SetBaseReward(null);
|
||||
}
|
||||
|
||||
Log.Out("XUiC_QuestTurnInEntryPatches-SetupOptions __instance.currentQuest.QuestClass.ID: " + __instance.currentQuest.QuestClass.ID);
|
||||
Log.Out("XUiC_QuestTurnInEntryPatches-SetupOptions __instance.currentQuest.QuestClass.DifficultyTier: " + __instance.currentQuest.QuestClass.DifficultyTier);
|
||||
|
||||
for (int j = 0; j < __instance.currentQuest.Rewards.Count; j++)
|
||||
{
|
||||
Log.Out("XUiC_QuestTurnInEntryPatches-SetupOptions Reward [" + j + "]: " + __instance.currentQuest.Rewards[j].ID);
|
||||
|
||||
__instance.rewardList.Add(__instance.currentQuest.Rewards[j]);
|
||||
}
|
||||
|
||||
//__instance.rewardList = __instance.rewardList.OrderBy<BaseReward, byte>((Func<BaseReward, byte>)(o => o.RewardIndex)).ToList<BaseReward>();
|
||||
|
||||
__instance.rewardList = (from o in __instance.rewardList
|
||||
orderby o.RewardIndex
|
||||
select o).ToList<BaseReward>();
|
||||
|
||||
for (int k = 0; k < __instance.rewardList.Count; k++)
|
||||
{
|
||||
BaseReward baseReward = __instance.rewardList[k];
|
||||
|
||||
Log.Out("XUiC_QuestTurnInEntryPatches-SetupOptions Reward [" + k + "]: " + __instance.rewardList[k].ID);
|
||||
|
||||
string itemName = "EMPTY GetRewardItem()";
|
||||
|
||||
if (baseReward.GetRewardItem() != null)
|
||||
{
|
||||
if (baseReward.GetRewardItem().itemValue != null)
|
||||
{
|
||||
if (baseReward.GetRewardItem().itemValue.ItemClass != null)
|
||||
{
|
||||
itemName = baseReward.GetRewardItem().itemValue.ItemClass.GetItemName();
|
||||
}
|
||||
else
|
||||
{
|
||||
itemName = "EMPTY ItemClass";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
itemName = "EMPTY itemValue";
|
||||
}
|
||||
}
|
||||
|
||||
Log.Out("XUiC_QuestTurnInEntryPatches-SetupOptions itemName[" + k + "]: " + itemName);
|
||||
}
|
||||
|
||||
for (int k = 0; k < __instance.rewardList.Count; k++)
|
||||
{
|
||||
BaseReward baseReward = __instance.rewardList[k];
|
||||
__instance.entryList[num].OnPress -= __instance.TurnInEntryPressed;
|
||||
if (baseReward.isChosenReward)
|
||||
{
|
||||
__instance.entryList[num].SetBaseReward(baseReward);
|
||||
__instance.entryList[num].Chosen = false;
|
||||
__instance.entryList[num++].OnPress += __instance.TurnInEntryPressed;
|
||||
__instance.optionCount++;
|
||||
if (value == (float)num || num >= __instance.entryList.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
__instance.entryList[0].SelectCursorElement(true);
|
||||
if (__instance.optionCount == 1)
|
||||
{
|
||||
XUiC_QuestTurnInEntry xuiC_QuestTurnInEntry = __instance.entryList[0];
|
||||
__instance.SelectedEntry = xuiC_QuestTurnInEntry;
|
||||
__instance.RefreshBindings(false);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}*/
|
||||
|
||||
[HarmonyPatch(typeof(XUiC_QuestTurnInEntry))]
|
||||
[HarmonyPatch("GetBindingValue")]
|
||||
public class GetBindingValuePatch
|
||||
{
|
||||
/*public static bool Prefix(XUiC_QuestTurnInEntry __instance, ref bool __result, ref string value, string bindingName)
|
||||
{
|
||||
if (bindingName == "rewardicon")
|
||||
{
|
||||
if (__instance.reward == null)
|
||||
{
|
||||
value = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (__instance.item == null || __instance.item.IsEmpty())
|
||||
{
|
||||
value = __instance.reward.Icon;
|
||||
}
|
||||
else
|
||||
{
|
||||
value = __instance.item.itemValue.ItemClass.GetIconName();
|
||||
}
|
||||
}
|
||||
|
||||
__result = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}*/
|
||||
|
||||
public static void Postfix(XUiC_QuestTurnInEntry __instance, ref bool __result, ref string value, string bindingName)
|
||||
{
|
||||
if (RebirthUtilities.ScenarioSkip())
|
||||
{
|
||||
if (bindingName == "durabilityvalue")
|
||||
{
|
||||
value = "";
|
||||
|
||||
__result = true;
|
||||
}
|
||||
else if (bindingName == "itemtypeicon")
|
||||
{
|
||||
ItemValue itemValue = __instance.Item.itemValue;
|
||||
//Log.Out("XUiC_QuestTurnInEntryPatches-GetBindingValue POST, Item: " + itemValue.ItemClass.Name);
|
||||
|
||||
if (itemValue != null &&
|
||||
itemValue.HasMetadata("bonus") &&
|
||||
itemValue.HasMetadata("level") &&
|
||||
itemValue.HasMetadata("type") &&
|
||||
itemValue.HasMetadata("active"))
|
||||
{
|
||||
//Log.Out("XUiC_QuestTurnInEntryPatches-GetBindingValue IS SPECIAL");
|
||||
value = (string)itemValue.GetMetadata("bonus");
|
||||
__result = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (bindingName == "hasitemtypeicon")
|
||||
{
|
||||
ItemValue itemValue = __instance.Item.itemValue;
|
||||
//Log.Out("XUiC_QuestTurnInEntryPatches-GetBindingValue POST, Item: " + itemValue.ItemClass.Name);
|
||||
|
||||
if (itemValue != null &&
|
||||
itemValue.HasMetadata("bonus") &&
|
||||
itemValue.HasMetadata("level") &&
|
||||
itemValue.HasMetadata("type") &&
|
||||
itemValue.HasMetadata("active"))
|
||||
{
|
||||
//Log.Out("XUiC_QuestTurnInEntryPatches-GetBindingValue IS SPECIAL");
|
||||
value = "true";
|
||||
__result = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user