private void ApplyEnmity(NWPlayer pc, NWCreature target, Data.Entities.Perk perk) { switch ((EnmityAdjustmentRuleType)perk.EnmityAdjustmentRuleID) { case EnmityAdjustmentRuleType.AllTaggedTargets: _enmity.AdjustEnmityOnAllTaggedCreatures(pc, perk.Enmity); break; case EnmityAdjustmentRuleType.TargetOnly: if (target.IsValid) { _enmity.AdjustEnmity(target, pc, perk.Enmity); } break; case EnmityAdjustmentRuleType.Custom: IPerk perkAction = App.ResolveByInterface <IPerk>("Perk." + perk.JavaScriptName); perkAction?.OnCustomEnmityRule(pc, perk.Enmity); break; } }