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 SE_Slow() : base() { name = "SE_Slow"; m_name = "Slow"; m_startMessage = "Slowed"; m_time = 0; m_ttl = baseDuration; m_icon = (from Sprite s in Resources.FindObjectsOfTypeAll <Sprite>() where s.name == "jackoturnip" select s).FirstOrDefault(); var vfxPrefab = DebuffVfx.ConstructStatusVfx(); m_startEffects.m_effectPrefabs = new EffectList.EffectData[] { new EffectList.EffectData { m_prefab = vfxPrefab, m_enabled = true, m_attach = true, m_scale = true } }; }
public SE_Fear() : base() { name = "SE_Fear"; m_name = "Fear"; m_tooltip = "Fleeing"; m_startMessage = "Fear overpowers you"; m_time = 0; m_ttl = baseDuration; m_icon = (from Sprite s in Resources.FindObjectsOfTypeAll <Sprite>() where s.name == "CorpseRun" select s).FirstOrDefault(); var vfxPrefab = DebuffVfx.ConstructStatusVfx(); m_startEffects.m_effectPrefabs = new EffectList.EffectData[] { new EffectList.EffectData { m_prefab = vfxPrefab, m_enabled = true, m_attach = true, m_scale = true } }; }
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 SE_Curse() : base() { name = "SE_Curse"; m_name = "Cursed"; m_startMessage = "You have been cursed"; m_time = 0; m_repeatInterval = 60; m_ttl = baseDuration; m_icon = (from Sprite s in Resources.FindObjectsOfTypeAll <Sprite>() where s.name == "jackoturnip" select s).FirstOrDefault(); m_modifyAttackSkill = Skills.SkillType.All; m_damageModifier = baseDamageMod; m_startEffects = new EffectList(); var vfxPrefab = DebuffVfx.ConstructStatusVfx(); m_startEffects.m_effectPrefabs = new EffectList.EffectData[] { new EffectList.EffectData { m_prefab = vfxPrefab, m_enabled = true, m_attach = true, m_scale = true } }; }
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); }