private bool BattleAttack(Combatant c) { bool ok = false; if(this.combatant is Enemy) { c.AddAction(new BattleAction( AttackSelection.ATTACK, c, this.combatant.battleID, -1, 0)); ok = true; } return ok; }
// battle private bool BattleItem(int id, Combatant c) { bool ok = false; Item item = DataHolder.Item(id); if(item.useable && item.useInBattle) { if(item.TargetAlly() && this.combatant is Character) { if(item.TargetSingle()) { c.AddAction(new BattleAction( AttackSelection.ITEM, c, this.combatant.battleID, id, 0)); } else if(item.TargetGroup()) { c.AddAction(new BattleAction( AttackSelection.ITEM, c, BattleAction.ALL_CHARACTERS, id, 0)); } ok = true; } else if(item.TargetEnemy() && this.combatant is Enemy) { if(item.TargetSingle()) { c.AddAction(new BattleAction( AttackSelection.ITEM, c, this.combatant.battleID, id, 0)); } else if(item.TargetGroup()) { c.AddAction(new BattleAction( AttackSelection.ITEM, c, BattleAction.ALL_ENEMIES, id, 0)); } ok = true; } else if(item.TargetSelf() && this.combatant == c) { c.AddAction(new BattleAction( AttackSelection.ITEM, c, c.battleID, id, 0)); ok = true; } } return ok; }
private bool BattleSkill(int id, Combatant c, int ul) { bool ok = false; Skill skill = DataHolder.Skill(id); if(skill.useInBattle) { if(skill.TargetAlly() && this.combatant is Character) { if(skill.TargetSingle()) { c.AddAction(new BattleAction( AttackSelection.SKILL, c, this.combatant.battleID, id, ul)); } else if(skill.TargetGroup()) { c.AddAction(new BattleAction( AttackSelection.SKILL, c, BattleAction.ALL_CHARACTERS, id, ul)); } ok = true; } else if(skill.TargetEnemy() && this.combatant is Enemy) { if(skill.TargetSingle()) { c.AddAction(new BattleAction( AttackSelection.SKILL, c, this.combatant.battleID, id, ul)); } else if(skill.TargetGroup()) { c.AddAction(new BattleAction( AttackSelection.SKILL, c, BattleAction.ALL_ENEMIES, id, ul)); } ok = true; } else if(skill.TargetSelf() && this.combatant == c) { c.AddAction(new BattleAction( AttackSelection.SKILL, c, c.battleID, id, ul)); ok = true; } } return ok; }