Esempio n. 1
0
    // TODO: Some way to get all actors around...
    // Add actor to list
    // remove actor from list

    // =================================================================================================
    //
    //  COMBAT
    //
    // =================================================================================================
    #region HANDLING COMBAT
    public void HandleCombat(DynamicActor _AttackingActor, DynamicActor _BeingAttackedActor, Weapon.EWeaponRoll AttackerRoll)
    {
        _AttackingActor.DealtDamage();
        int ExtraStr = 0;

        if (_AttackingActor.ActorType == EActorType.EAT_Player)
        {
            ExtraStr = ResourceLocator.instance.PlayerExtraStr;
        }

        int AttackerModifier = CombatHelpers.CalculateModifier(_AttackingActor.ActorStats.Strength + ExtraStr);

        int Damage = CombatHelpers.CalculateDamage(AttackerModifier, AttackerRoll);

        Damage = Mathf.Max(Damage, 0);

        _BeingAttackedActor.SufferedDamage(Damage);
        Debug.Log($"{_AttackingActor.ActorName} dealt {Damage} damage to {_BeingAttackedActor.ActorName}");
    }