Example #1
0
        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>");
                    }
                }
            }
        }
Example #2
0
 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);
     }
 }