diff --git a/Assets/Fantasy Skybox FREE/Panoramics/FS002/FS002_Night.mat b/Assets/Fantasy Skybox FREE/Panoramics/FS002/FS002_Night.mat index 8c367559..a0694764 100644 --- a/Assets/Fantasy Skybox FREE/Panoramics/FS002/FS002_Night.mat +++ b/Assets/Fantasy Skybox FREE/Panoramics/FS002/FS002_Night.mat @@ -78,7 +78,7 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _Rotation: 9.499645 + - _Rotation: 4.9805784 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 diff --git a/Assets/Scriptables/Data/Resources/Effects/Debug/Player/Mage/1-FirewallEffects/Mage_Firewall_InstantEffect_Tick.asset b/Assets/Scriptables/Data/Resources/Effects/Debug/Player/Mage/1-FirewallEffects/Mage_Firewall_InstantEffect_Tick.asset index 200bc90e..ca1cd2e4 100644 --- a/Assets/Scriptables/Data/Resources/Effects/Debug/Player/Mage/1-FirewallEffects/Mage_Firewall_InstantEffect_Tick.asset +++ b/Assets/Scriptables/Data/Resources/Effects/Debug/Player/Mage/1-FirewallEffects/Mage_Firewall_InstantEffect_Tick.asset @@ -17,9 +17,10 @@ MonoBehaviour: influencingStats: - statTag: {fileID: 11400000, guid: 918ee6f8846e6a9449166ac16b6330ae, type: 2} percentInfluence: 0.275 - baseValue: 3 + baseValue: 1 damageType: 1 AlliedTargetMultiplier: 1 EnemyTargetMultiplier: 1 + FriendlyNPCTargetMultiplier: 1 applyToClassResourceInstead: 0 applyToSelfResourceInsteadOfHit: 0 diff --git a/Assets/Scripts/AbilitySystem/Effects/InstantValueEffect.cs b/Assets/Scripts/AbilitySystem/Effects/InstantValueEffect.cs index b24b19d6..12d2fd0d 100644 --- a/Assets/Scripts/AbilitySystem/Effects/InstantValueEffect.cs +++ b/Assets/Scripts/AbilitySystem/Effects/InstantValueEffect.cs @@ -135,68 +135,4 @@ public class InstantValueEffect : BaseEffect } } - - private float GetCorrectValueSign(Taggable user, Taggable target) - { - if (user == null) return 0; - if (target == null) return 0; - - stats = user.GetComponent(); - damageOutputModifier = user.GetComponent(); - GetFinalValue(stats, damageOutputModifier); - - //return user.targetTag.AlliedTags.Contains(target.targetTag) ? (finalValue * AlliedTargetMultiplier) : (-finalValue * EnemyTargetMultiplier); - - - - if (user.AlliedTagsContains(target.targetTag)) - { - if (target.IsFriendlyNPC()) - return (finalValue * FriendlyNPCTargetMultiplier); - else - return (finalValue * AlliedTargetMultiplier); - } - else - return (-finalValue * EnemyTargetMultiplier); - } - - - private void GetFinalValue(CharacterStats stats, DamageOutputModifierEffectInstance damageOutputModifier) - { - finalValue = baseValue; - if (stats != null) - { - foreach (var statInfluence in influencingStats) - { - if (stats.primaryStatsDictionary.TryGetValue(statInfluence.statTag.name.ToLower(), out CharacterStat stat)) - { - finalValue += stat.Value * statInfluence.percentInfluence; - } - else if (stats.secondaryStatsDictionary.TryGetValue(statInfluence.statTag.name.ToLower(), out CharacterStat secondaryStat)) - { - finalValue += secondaryStat.Value * statInfluence.percentInfluence; - } - if (statInfluence.statTag.name.ToLower().Contains("Attack")) damageType = DamageType.Attack; - else if (statInfluence.statTag.name.ToLower().Contains("Spell")) damageType = DamageType.Spell; - } - - } - //Debug.Log("FinalValue = " + finalValue + " dmgType = " + damageType); - if (IsCrit(stats) && !applyToClassResourceInstead) - { - finalValue *= (1 + stats.GetStat("critdamage").Value / 100f); - isCrit = true; - //Debug.Log("FinalValue IsCrit = " + finalValue + " dmgType = " + damageType); - } - else - isCrit = false; - - finalValue = damageOutputModifier.ModifyDamageOutput(finalValue); - } - - private bool IsCrit(CharacterStats stats) - { - return MathHelpers.RollChancePercent(stats.GetStat("critchance").Value); - //return Random.Range(0, 100) < stats.CritChance.Value; - } } diff --git a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageIncomeModifierRuntimeEffectInstance.cs b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageIncomeModifierRuntimeEffectInstance.cs index b890c221..0d21795a 100644 --- a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageIncomeModifierRuntimeEffectInstance.cs +++ b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageIncomeModifierRuntimeEffectInstance.cs @@ -1,5 +1,6 @@ using UnityEngine; +[System.Serializable] public class DamageIncomeModifierRuntimeEffectInstance : RuntimeEffectInstance { public float damageIncomeModifierPercentage; diff --git a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageOutputModifierRuntimeEffectInstance.cs b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageOutputModifierRuntimeEffectInstance.cs index 9de05ff7..b4cdd06d 100644 --- a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageOutputModifierRuntimeEffectInstance.cs +++ b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageOutputModifierRuntimeEffectInstance.cs @@ -1,5 +1,6 @@ using UnityEngine; +[System.Serializable] public class DamageOutputModifierRuntimeEffectInstance : RuntimeEffectInstance { public float damageOutputModifierPercentage; diff --git a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageTickingRuntimeEffectInstance.cs b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageTickingRuntimeEffectInstance.cs index 11fed12a..b9a8401a 100644 --- a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageTickingRuntimeEffectInstance.cs +++ b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/DamageTickingRuntimeEffectInstance.cs @@ -27,7 +27,7 @@ public class DamageTickingRuntimeEffectInstance : TickingRuntimeEffectInstance args.sourceEffect = sourceEffect; args.user = user; args.target = target; - args.currentValue = -baseDamagePerTick * numberOfStacks; + args.currentValue = baseDamagePerTick * numberOfStacks; args.isCrit = false; args.targetDead = false; args.applicationMethod = EffectApplicationMethod.Tick; diff --git a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/MovementSpeedModifierRuntimeEffectInstance.cs b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/MovementSpeedModifierRuntimeEffectInstance.cs index bc9802db..afae563f 100644 --- a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/MovementSpeedModifierRuntimeEffectInstance.cs +++ b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/MovementSpeedModifierRuntimeEffectInstance.cs @@ -2,6 +2,7 @@ using Kryz.CharacterStats; using Kryz.CharacterStats.Examples; using UnityEngine; +[System.Serializable] public class MovementSpeedModifierRuntimeEffectInstance : RuntimeEffectInstance { public float speedModifierPercentage; diff --git a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/RuntimeEffectInstance.cs b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/RuntimeEffectInstance.cs index 52a79475..ccac94ce 100644 --- a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/RuntimeEffectInstance.cs +++ b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/RuntimeEffectInstance.cs @@ -1,5 +1,6 @@ using UnityEngine; +[System.Serializable] public class RuntimeEffectInstance : IResettable { public Taggable user; diff --git a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/TickingRuntimeEffectInstance.cs b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/TickingRuntimeEffectInstance.cs index ea62f238..a41da233 100644 --- a/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/TickingRuntimeEffectInstance.cs +++ b/Assets/Scripts/AbilitySystem/Effects/RefactoredStatusEffectHandler/TickingRuntimeEffectInstance.cs @@ -1,5 +1,6 @@ using UnityEngine; +[System.Serializable] public class TickingRuntimeEffectInstance : RuntimeEffectInstance { public float timeSinceLastTick = 0f; diff --git a/Assets/Scripts/EntityBroker/BasicStatModifierCalculator.cs b/Assets/Scripts/EntityBroker/BasicStatModifierCalculator.cs index bb0dc669..854ce9bd 100644 --- a/Assets/Scripts/EntityBroker/BasicStatModifierCalculator.cs +++ b/Assets/Scripts/EntityBroker/BasicStatModifierCalculator.cs @@ -17,7 +17,7 @@ public class BasicStatModifierCalculator : BrokerInterceptor private void CalculateDamageModsBasedOnStats(DamageArgs args) { - float finalValue = args.currentValue; + float finalValue = Mathf.Abs(args.currentValue); if (stats == null) { @@ -45,7 +45,7 @@ public class BasicStatModifierCalculator : BrokerInterceptor else args.isCrit = false; - args.currentValue = finalValue; + args.currentValue = -finalValue; } diff --git a/Assets/Scripts/EventDrivenHooks/EventBrokerArgs.cs b/Assets/Scripts/EventDrivenHooks/EventBrokerArgs.cs index ba9760f6..105e5f3d 100644 --- a/Assets/Scripts/EventDrivenHooks/EventBrokerArgs.cs +++ b/Assets/Scripts/EventDrivenHooks/EventBrokerArgs.cs @@ -9,7 +9,21 @@ public class DamageArgs : IResettable public BaseEffect sourceEffect; public Taggable user; public Taggable target; - public float currentValue; + private float _currentValue; + + public float currentValue + { + get => _currentValue; + set + { + if (_currentValue != value) + { + if (user != null && sourceAbility != null) + Debug.Log($"{user.name}'s {sourceAbility.name} DamageArgs.currentValue changed: {_currentValue} -> {value}\n{System.Environment.StackTrace}"); + _currentValue = value; + } + } + } public float outgoingAccumulator; public float incomingAccumulator; public DamageType damageType;