Esempio n. 1
0
        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;
            }
        }