public override void executeAction() { StatusEffect se = new Ef_Stun(); int minHP = -9999; se.InitializeSE(level, duration); target.InflictStatus(se); foreach (Chara chara in targetList) { if (!chara.isEnemy && chara.HPcurr > 0) { if (chara.HPcurr > minHP) { target = chara; minHP = chara.HPcurr; } } } if (minHP > -9999) { target.InflictStatus(se); damage = CalculateDamage(source.atk, target); target.TakeDamage(damage); } }
public override void executeAction() { List <Chara> viableTargets = new List <Chara>(); foreach (Chara chara in targetList) { if (!chara.isEnemy && chara.HPcurr > 0) { viableTargets.Add(chara); } } target = viableTargets[Random.Range(0, viableTargets.Count)]; foreach (StatusEffect se in target.statusEffectList) { se.ResetEffect(target); } target.statusEffectList.Clear(); StatusEffect se2 = new Ef_Taunt(); se2.InitializeSE(8, 3); target.InflictStatus(se2); damage = CalculateDamage(source.atk, target); target.TakeDamage(damage); source.efTauntTarget = target; }
public override void executeAction() { List <Chara> viableTargets = new List <Chara>(); if (source.efTauntTarget != null) { if (source.efTauntTarget.HPcurr > 0) { target = source.efTauntTarget; } else { foreach (Chara chara in targetList) { if (!chara.isEnemy && chara.HPcurr > 0) { viableTargets.Add(chara); } } target = viableTargets[Random.Range(0, viableTargets.Count)]; } } else { foreach (Chara chara in targetList) { if (!chara.isEnemy && chara.HPcurr > 0) { viableTargets.Add(chara); } } target = viableTargets[Random.Range(0, viableTargets.Count)]; } StatusEffect se = new Ef_AtkUP(); se.InitializeSE(level, duration); target.InflictStatus(se); StatusEffect se2 = new Ef_SpdUP(); se2.InitializeSE(level, duration); target.InflictStatus(se2); StatusEffect se3 = new Ef_DefUP(); se3.InitializeSE(level, duration); target.InflictStatus(se3); }
public override void executeAction() { source.TakeDamage(2); if (source.HPcurr > 0) { StatusEffect se = new Ef_Shield(); se.InitializeSE(level, duration); target.InflictStatus(se); } }
public override void executeAction() { List <Chara> viableTargets = new List <Chara>(); foreach (Chara chara in targetList) { if (!chara.isEnemy && chara.HPcurr > 0) { viableTargets.Add(chara); } } target = viableTargets[Random.Range(0, viableTargets.Count)]; StatusEffect se = new Ef_SpdDOWN(); se.InitializeSE(spdDownLevel, spdDownDur); target.InflictStatus(se); se = new Ef_HPDOWN(); se.InitializeSE(sickLevel, sickDur); target.InflictStatus(se); }
public override void executeAction() { StatusEffect se = new Ef_AtkDOWN(); StatusEffect se2 = new Ef_SpdDOWN(); StatusEffect se3 = new Ef_DefDOWN(); se.InitializeSE(level, dur); se2.InitializeSE(level, dur); se3.InitializeSE(level, dur); List <Chara> viableTarget = new List <Chara>(); foreach (Chara chara in targetList) { if (!chara.isEnemy && chara.HPcurr > 0) { viableTarget.Add(chara); } } target = viableTarget[Random.Range(0, viableTarget.Count)]; target.InflictStatus(se); target.InflictStatus(se2); target.InflictStatus(se3); }
public override void executeAction() { List <Chara> viableTargets = new List <Chara>(); foreach (Chara chara in targetList) { if (chara.isEnemy && chara.HPcurr > 0) { viableTargets.Add(chara); } } target = viableTargets[Random.Range(0, viableTargets.Count)]; StatusEffect se = new Ef_SpdUP(); se.InitializeSE(level, duration); target.InflictStatus(se); }
public override void executeAction() { StatusEffect se = new Ef_Poison(); se.InitializeSE(level, duration); List <Chara> viableTargets = new List <Chara>(); //random target, save to tauntTarget foreach (Chara chara in targetList) { if (!chara.isEnemy && chara.HPcurr > 0) { viableTargets.Add(chara); } } target = viableTargets[Random.Range(0, viableTargets.Count)]; target.InflictStatus(se); source.efTauntTarget = target; }
public override void executeAction() { StatusEffect se = new Ef_Taunt(); int maxHP = 9999; se.InitializeSE(level, duration); foreach (Chara chara in targetList) { if (!chara.isEnemy && chara.HPcurr > 0) { if (chara.HPcurr < maxHP) { target = chara; maxHP = chara.HPcurr; } } } if (maxHP < 9999) { target.InflictStatus(se); } }
public override void executeAction() { int minDef = -9999; StatusEffect se = new Ef_DefDOWN(); se.InitializeSE(defDownLevel, defDownDur); foreach (Chara chara in targetList) { if (!chara.isEnemy && chara.HPcurr > 0) { //target player with highest def if (minDef < chara.def) { minDef = chara.def; target = chara; } } } if (minDef > -9999) { target.InflictStatus(se); } }