public override void executeAction() { foreach (Chara chara in targetList) { if (!chara.isEnemy && chara.HPcurr > 0) { StatusEffect se = new Ef_DefDOWN(); se.InitializeSE(level, dur); chara.InflictStatus(se); } } }
public override void executeAction() { if (source.MPcurr < mpCost) { message = source.name + " does not have enough MP!\n"; } else { source.MPcurr -= mpCost; damage = CalculateDamage(source.atk + 5 * level, target); target.TakeDamage(damage); StatusEffect se = new Ef_DefDOWN(); se.InitializeSE(level, duration); target.InflictStatus(se); } }
public override void executeAction() { if (source.MPcurr < mpCost) { message = source.name + " has not enough MP!\n"; } else { source.MPcurr -= mpCost; damage = CalculateDamage(source.atk, target); message = target.name + " is attacked for " + damage + " and inflicted SPD and ATK DOWN!\n"; target.TakeDamage(damage); StatusEffect se = new Ef_AtkDOWN(); se.InitializeSE(level, duration); target.InflictStatus(se); se = new Ef_DefDOWN(); se.InitializeSE(level, duration); 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); } }
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() { StatusEffect se; foreach (Chara chara in targetList) { if (!chara.isEnemy && chara.HPcurr > 0) { //severity foreach (StatusEffect se2 in chara.statusEffectList) { se2.ResetEffect(chara); se2.level += sevMod; se2.RunEffect(chara); GameObject.FindObjectOfType <CombatEngine>().PlayDebuffFX(chara); } se = new Ef_DefDOWN(); se.InitializeSE(defDownLevel, defDownDur); chara.InflictStatus(se); GameObject.FindObjectOfType <CombatEngine>().PlayDebuffFX(chara); } } }