Beispiel #1
0
    public void InitializeCharacter()
    {
        // Cache components
        _attributes   = GetComponent <Attributes>();
        _statsOffense = GetComponent <StatsOffense>();
        _statsDefense = GetComponent <StatsDefense>();
        _statsGeneral = GetComponent <StatsGeneral>();

        characterController = GetComponent <CharacterController>();

        LoadCharacterData();

        characterData.specialization.SetTotalSpecPoints(characterData.level);

        // Initialize Attributes
        _attributes.GenerateAugmentedCharacterAttributes(characterData.specialization, characterData.inventory);

        // Initialize statistics
        _statsOffense.GenerateAugmentedCharacterStatistics();
        _statsDefense.GenerateAugmentedCharacterStatistics();
        _statsGeneral.GenerateAugmentedCharacterStatistics();

        // Initialize Abilities

        // Set Abilities
        characterController.SetAbilities(basicAbilityPrefab, abilityQPrefab, abilityWPrefab, abilityEPrefab, abilityRPrefab);
    }
    public virtual void SetTargetObject(GameObject targetobject)
    {
        targetObject = targetobject;

        _statsGeneralTarget = targetObject.GetComponent <StatsGeneral>();
        _statsOffenseTarget = targetObject.GetComponent <StatsOffense>();
        _statsDefenseTarget = targetObject.GetComponent <StatsDefense>();
    }
Beispiel #3
0
    void Awake()
    {
        thisTransform = transform;

        _statsOffense = GetComponent <StatsOffense>();
        _statsDefense = GetComponent <StatsDefense>();
        _statsGeneral = GetComponent <StatsGeneral>();
    }
Beispiel #4
0
    public void ReceiveHeal(StatsOffense statsOffense, StatsDefense statsDefense)
    {
        // Generate the heal
        float physicalHeal = statsOffense.GeneratePhysicalDamage();
        float magicalHeal  = statsOffense.GenerateMagicalDamage();

        // Receiving the Heal
        _combatLife += (physicalHeal + magicalHeal);
    }
    public virtual void Awake()
    {
        Debug.Log("Ability Controller awake");
        thisTransform = transform;

        _statsOffense = GetComponent <StatsOffense>();
        _statsDefense = GetComponent <StatsDefense>();
        _statsGeneral = GetComponent <StatsGeneral>();
    }
Beispiel #6
0
    public virtual void Awake()
    {
        thisTransform = transform;
        targetPoint   = thisTransform.position;

        _attributes   = GetComponent <Attributes>();
        _statsOffense = GetComponent <StatsOffense>();
        _statsDefense = GetComponent <StatsDefense>();
        _statsGeneral = GetComponent <StatsGeneral>();
    }
    void Awake()
    {
        thisTransform = transform;
        _attributes   = GetComponent <Attributes>();
        _statsOffense = GetComponent <StatsOffense>();
        _statsDefense = GetComponent <StatsDefense>();
        _statsGeneral = GetComponent <StatsGeneral>();

        _inCombat = false;
    }
Beispiel #8
0
    /// <summary>
    /// Generates an Ability's temporary statistics
    /// </summary>
    /// <param name="statsOffense"></param>
    public void GenerateCombatAbilityStatistics(StatsDefense statsDefense)
    {
        // Set the combat stats to the base combat stats of the ability
        _combatLife        = _augmentedLife;
        _combatArmor       = _augmentedArmor;
        _combatMagicResist = _augmentedMagicResist;

        // Factor in the temporary statistics of the caster
        //_tempLife += statsDefense._tempLife;
        //_tempArmor += statsDefense._tempArmor;
        //_tempMagicResist += statsDefense._tempMagicResist;
    }
Beispiel #9
0
    void Awake()
    {
        thisTransform = transform;
        level         = 1;
        _attributes   = GetComponent <Attributes>();
        _statsOffense = GetComponent <StatsOffense>();
        _statsDefense = GetComponent <StatsDefense>();
        _statsGeneral = GetComponent <StatsGeneral>();

        _attributes.InitializeEnemyAttributes(1);
        _statsOffense.GenerateAugmentedCharacterStatistics();
        _statsDefense.GenerateAugmentedCharacterStatistics();
        _statsGeneral.GenerateAugmentedCharacterStatistics();
    }
Beispiel #10
0
    /// <summary>
    /// Receives an ability hit, affecting statistics
    /// </summary>
    /// <param name="statsGeneral"></param>
    public void ReceiveHit(StatsOffense statsOffense, StatsDefense statsDefense)
    {
        // Debuffing
        //_tempLife -= statsDefense._tempLife;
        //_tempArmor -= statsDefense._tempArmor;
        //_tempMagicResist -= statsDefense._tempMagicResist;

        // Generate the Damage
        float physicalDamage = statsOffense.GeneratePhysicalDamage();
        float magicalDamage  = statsOffense.GenerateMagicalDamage();

        // Factor defensive statistics
        physicalDamage = physicalDamage / _combatArmor;
        magicalDamage  = magicalDamage / _combatMagicResist;

        MenuManager.menuManager.DamageText(physicalDamage + magicalDamage, name);

        // Receiving the damage
        _combatLife -= (physicalDamage + magicalDamage);
    }
 /// <summary>
 /// Generates the combat statistics for the ability
 /// </summary>
 /// <param name="statsGeneral"></param>
 /// <param name="statsOffense"></param>
 /// <param name="statsDefense"></param>
 public override void GenerateCombatStatistics(StatsGeneral statsGeneral, StatsOffense statsOffense, StatsDefense statsDefense)
 {
     _statsGeneral.GenerateCombatAbilityStatistics(statsGeneral);
     _statsOffense.GenerateCombatAbilityStatistics(statsOffense);
     _statsDefense.GenerateCombatAbilityStatistics(statsDefense);
 }