public static void Postfix(ItemDrop.ItemData __instance, ref float __result) { if (__instance.HasMagicEffect(MagicEffectType.Weightless)) { __result = 0; } else if (__instance.HasMagicEffect(MagicEffectType.ReduceWeight)) { var totalWeightReduction = __instance.GetMagicItem().GetTotalEffectValue(MagicEffectType.ReduceWeight, 0.01f); __result *= 1.0f - totalWeightReduction; } }
public static void DoSpeedCalc(Player __instance, ItemDrop.ItemData item) { if (item != null) { if (item.HasMagicEffect(MagicEffectType.RemoveSpeedPenalty)) { __instance.m_equipmentMovementModifier -= item.m_shared.m_movementModifier; } if (item.HasMagicEffect(MagicEffectType.ModifyMovementSpeed)) { __instance.m_equipmentMovementModifier += item.GetMagicItem().GetTotalEffectValue(MagicEffectType.ModifyMovementSpeed, 0.01f); } } }
public static void DoSpeedCalc(Player __instance, ItemDrop.ItemData item) { if (item != null && item.HasMagicEffect(MagicEffectType.RemoveSpeedPenalty)) { __instance.m_equipmentMovementModifier -= item.m_shared.m_movementModifier; } }
public static bool SetValue(ItemDrop.ItemData item) { if (item != null && item.HasMagicEffect(MagicEffectType.Indestructible)) { Override = true; OriginalValue = item.m_shared.m_useDurability; item.m_shared.m_useDurability = false; } return(true); }
public static bool MakeItemIndestructible(ItemDrop.ItemData item) { if (item.HasMagicEffect(MagicEffectType.Indestructible)) { item.m_shared = item.m_shared.Clone(); item.m_shared.m_useDurability = false; return(true); } return(false); }
public static bool DoPrefix(Attack __instance) { Override = false; OriginalValue = -1; ItemDrop.ItemData weapon = __instance.m_weapon; if (weapon == null) { return(true); } if (weapon.HasMagicEffect(MagicEffectType.ModifyBackstab)) { Override = true; OriginalValue = weapon.m_shared.m_backstabBonus; var totalBackstabMod = weapon.GetMagicItem().GetTotalEffectValue(MagicEffectType.ModifyBackstab, 0.01f); weapon.m_shared.m_backstabBonus *= 1.0f + totalBackstabMod; } return(true); }