public override void DoMagicAttack(Attack baseAttack) { var gameObject = DebuffVfx.ConstructAoeVfx(); var aoe = gameObject.AddComponent <SunderAoe>(); var statusEffect = ScriptableObject.CreateInstance <SE_Sunder>(); statusEffect.m_ttl = baseDuration * _Effectiveness; switch (_Quality) { case RuneQuality.Common: statusEffect.targetDamageModifier = DamageModifier.Normal; break; case RuneQuality.Ancient: statusEffect.targetDamageModifier = DamageModifier.Weak; break; case RuneQuality.Dark: statusEffect.targetDamageModifier = DamageModifier.VeryWeak; statusEffect.modifyElemental = true; break; } aoe.m_statusEffect = statusEffect.Serialize(); aoe.m_hitOwner = false; var go = GameObject.Instantiate(gameObject, targetLocation, Quaternion.identity); go.GetComponent <Aoe>().Setup(baseAttack.GetCharacter(), Vector3.zero, 0, null, null); }
public override void DoMagicAttack(Attack baseAttack) { var gameObject = DebuffVfx.ConstructAoeVfx(); var statusEffect = ScriptableObject.CreateInstance <SE_Slow>(); statusEffect.m_ttl = baseDuration * _Effectiveness * (_Quality == RuneQuality.Ancient ? 3 : 1); statusEffect.speedMod = (_Quality == RuneQuality.Dark ? darkSpeedMod : baseSpeedMod) / _Effectiveness; var aoe = gameObject.AddComponent <SlowAoe>(); aoe.m_statusEffect = statusEffect.Serialize(); var go = GameObject.Instantiate(gameObject, targetLocation, Quaternion.identity); go.GetComponent <Aoe>().Setup(baseAttack.GetCharacter(), Vector3.zero, 0, null, null); }
public override void DoMagicAttack(Attack baseAttack) { var vfxPrefab = DebuffVfx.ConstructAoeVfx(); var gameObject = GameObject.Instantiate(vfxPrefab); var aoe = gameObject.AddComponent <Aoe>(); var curseEffect = ScriptableObject.CreateInstance <SE_Curse>(); curseEffect.m_ttl = baseDuration * _Effectiveness * (_Quality == RuneQuality.Ancient ? 2 : 1); curseEffect.m_damageModifier = baseDamageMod / _Effectiveness / (_Quality == RuneQuality.Dark ? 2 : 1); aoe.m_statusEffect = curseEffect.Serialize(); aoe.m_ttl = 2; aoe.m_radius = 3; aoe.m_hitOwner = false; var go = GameObject.Instantiate(gameObject, targetLocation, Quaternion.identity); go.GetComponent <Aoe>().Setup(baseAttack.GetCharacter(), Vector3.zero, 0, null, null); }