public static void UpdateBlockPowerTooltip(ref string tooltip, ItemDrop.ItemData item) { Player localplayer = Player.m_localPlayer; if (localplayer.GetSEMan().HaveStatusEffect("Block Power Bonus")) { SE_BlockPowerBonus effect = localplayer.GetSEMan().GetStatusEffect("Block Power Bonus") as SE_BlockPowerBonus; string blockPowerString = $"$item_blockpower: <color=orange>{item.m_shared.m_blockPower}</color> <color=yellow>({item.m_shared.m_blockPower})</color>"; var index = tooltip.IndexOf(blockPowerString); if (index > -1) { var blockBonus = item.m_shared.m_blockPower * (1 + effect.GetBlockPower()); tooltip = tooltip.Insert(index + blockPowerString.Length, $" <color=orange>|</color> <color=cyan>({blockBonus:#.##})</color>"); } else { blockPowerString = $"$item_blockpower: <color=orange>{item.m_shared.m_blockPower}</color>"; index = tooltip.IndexOf(blockPowerString); if (index > -1) { var blockBonus = item.m_shared.m_blockPower * (1 + effect.GetBlockPower()); tooltip = tooltip.Insert(index + blockPowerString.Length, $" <color=orange>|</color> <color=cyan>({blockBonus:#.##})</color>"); } } } }
public static void Prefix(ref Humanoid __instance) { if (__instance.IsPlayer() && __instance.GetSEMan().HaveStatusEffect("Block Power Bonus") && __instance.GetCurrentWeapon() != __instance.m_unarmedWeapon.m_itemData) { SE_BlockPowerBonus effect = __instance.GetSEMan().GetStatusEffect("Block Power Bonus") as SE_BlockPowerBonus; //Log.LogWarning("Human " + __instance.GetCurrentBlocker().m_shared.m_blockPower); var baseWeapon = PrefabManager.Cache.GetPrefab <ItemDrop>(__instance.GetCurrentBlocker().m_dropPrefab.name); __instance.GetCurrentBlocker().m_shared.m_blockPower = baseWeapon.m_itemData.m_shared.m_blockPower * (1 + effect.GetBlockPower()); //Log.LogWarning("Human " + __instance.GetCurrentBlocker().m_shared.m_blockPower); } }