예제 #1
0
        public void ProcessAttacked(Unit attacker)
        {
            switch (State)
            {
            case AiState.STANDING:
            case AiState.MOVING:
                ProcessCombatStart(attacker);
                break;

            default:
                return;
            }

            CurrentBrain?.AddHatred(attacker, attacker is Player, 1);
        }
        public bool SplitHate(ABrain monsterBrain, ref uint hateCaused)
        {
            if (Caster.IsDead || !Caster.ObjectWithinRadiusFeet(Target, 30))
            {
                return(false);
            }

            uint myHate = (uint)(hateCaused * _hateSplitFactor);

            hateCaused -= myHate;

            monsterBrain.AddHatred(Caster, true, myHate);

            return(true);
        }